## Textbooks and Suggested Readings:

Useful textbooks and general references include:
**[DK]** H. Delfs and H. Knebl: *Introduction to Cryptography*.
**[BR]** M. Bellare and P. Rogaway: *Lecture Notes* for an undergraduate course at UCSD.
**[G]** O. Goldreich: *Foundations of Cryptography*, volumes 1 and 2. These are the best references available for those wishing to learn more about theoretical cryptography.
**[GB]** S. Goldwasser and M. Bellare: *Lecture Notes on Cryptography*.
**[MvOV]** A.J. Menezes, P.C. van Ooorschot, and S.A. Vanstone: *Handbook of Applied Cryptography*. Comprehensive reference of practical aspects of cryptography.

It may also be helpful to check out my lecture notes from CMSC 456.

Some excellent references for computational number theory and applied algebra include:
**[Ch]** L.N. Childs: *A Concrete Introduction to Higher Algebra*. An accessible reference to algebra and number theory, with many cryptographic applications.

The following list contains papers referenced in class, or covering material related to the lectures.
Two excellent resources for searching for on-line versions of papers include: the DBLP bibliography and CiteSeer
**[DH76]** W. Diffie and M. Hellman. *New Directions in Cryptography*. IEEE Trans. Info. Theory 22(6): 644-654 (1976).
**[GGM84]** O. Goldreich, S. Goldwasser, and S. Micali. *How to Construct Random Functions*. JACM 33(4): 792-807 (1986).
**[GGM84b]** O. Goldreich, S. Goldwasser, and S. Micali. *On the Cryptographic Applications of Random Functions*. Crypto '84.
**[GL89]** O. Goldreich and L. Levin. *A Hard-Core Predictate for all One-Way Functions*. STOC '89. (Original paper available here.)
**[GM84]** S. Goldwasser and S. Micali. *Probabilistic Encryption*. JCSS 28(2): 270-299 (1984).
**[GMR84]** S. Goldwasser, S. Micali, and R.L. Rivest. *A Digital Signature Scheme Secure Against Adaptive Chosen-Message Attacks*. Siam J. Computing 17(2): 281-308 (1988).
**[Rabin79]** M.O. Rabin. *Digitalized Signatures and Public Key Functions as Intractable as Factorization*. MIT/LCS/TR-212, MIT Laboratory for Computer Science, 1979.
**[RSA78]** R.L. Rivest, A. Shamir, and L.M. Adleman. *A Method for Obtaining Digital Signatures and Public-Key Cryptosystems*. Comm. ACM 21(2): 120-126 (1978).