The lecture is mostly based on Lecture notes by M. Bellare and S. Goldwasser, resp. P. Rogaway and Introduction to modern cryptography by J. Katz and Y. Lindell, Chapman & Hall/CRC, 2007 (see the library).
A very comprehensive book on algebra, number theory and their computational aspects is A Computational Introduction to Number Theory and Algebra by Victor Shoup (click the link for the free online version).
If you want to toy around with some groups, you might be interested in the "number theory library" by Victor Shoup.
On Oded Goldreich's homepage you can find several draft versions of books by him on the more theoretical aspects of cryptography, in particular, on the study of cryptographic primitives:
Modern Cryptography, Probabilistic Proofs and Pseudorandomness (draft)
A nice wiki for cryptography: CRYPTUTOR
If you want to see how the cryptographic schemes discussed in the lecture are implemented in practice, have a look at the crypto++ library by Wei Dai
Regarding cryptography in general:
Lecture notes by Yevgeniy Dodis.
Kryptologie, Ch. Karpfinger, H. Kiechle, Vieweg+Teubner 2010
Einführung in die Kryptographie, Johannes Buchmann, Springer Verlag, 2010
Handbook of applied cryptography, A. Menezes, P. van Oorschot, S. Vanstone, CRC, 2001 (click the link for the free online version).
Regarding computational complexity:
Computational Complexity, S. Arora, B. Barak, Cambridge University Press, 2009
Computational Complexity, C. Papadimitriou, Addison Wesley, 1995
Regarding elliptic curves:
Elliptic Cruves - Number Theory and Cryptography (2n edition), L. Washington, Chapman & Hall/CRC, 2008
Elliptic Curve Public Key Cryptosystems, A. Menezes, Kluwer Academic Publishers, 1993)
Elliptische Kurven in der Kryptographie, A. Werner, Springer, 2002