Free online resources to learn Cryptography.
-
Cryptography I Stanford University, with Dan Boneh
- "This course explains the inner workings of cryptographic primitives and how to correctly use them. The course begins with a detailed discussion of how two parties who have a shared secret key can communicate securely when a powerful adversary eavesdrops and tampers with traffic. The second half of the course discusses public-key techniques that let two or more parties generate a shared secret key."
-
Cryptography II Stanford University, with Dan Boneh
- "This course is a continuation of Crypto I and explains the inner workings of public-key systems and cryptographic protocols. The course begins with constructions for digital signatures and their applications. Next we will turn to privacy applications of cryptography supporting anonymous credentials and private database lookup. We will conclude with more advanced topics including multi-party computation and elliptic curve cryptography."
-
Cryptography University of Maryland, with Jonathan Katz
- "This course will introduce you to the foundations of modern cryptography, with an eye toward practical applications. We will learn the importance of carefully defining security; of relying on a set of well-studied “hardness assumptions” (e.g., the hardness of factoring large numbers); and of the possibility of proving security of complicated constructions based on low-level primitives. We will not only cover these ideas in theory, but will also explore their real-world impact. You will learn about cryptographic primitives in wide use today, and see how these can be combined to develop modern protocols for secure communication."
-
Applied Cryptography Udacity, with Dave Evans
-
Journey into cryptography Khan Academy
-
CS255 - Introduction to Cryptography (Winter 2015) Stanford University
- By Dan Boneh. Cryptography is an indispensable tool for protecting information in computer systems. This course explains the inner workings of cryptographic primitives and how to correctly use them.
-
CS 276 - Cryptography (Fall 2014) UC Berkeley
- By Sanjam Garg.
-
89-656 - Introduction to Cryptography Bar-Ilan University
- This is an outdated draft of lecture notes written for an undergraduate course in cryptography at Bar-Ilan University, Israel. The notes are replaced by the textbook Introduction to Modern Cryptography by Jonathan Katz and Yehuda Lindell. There is a significant difference between the presentation in these notes and in the textbook.
-
Introdução à Criptografia Moderna Federal University of Pernambuco
- This is a introdutory course taught by Ruy de Queiroz at UFPE. The lecture slides are in portuguese and are based on the textbook Introduction to Modern Cryptography by Jonathan Katz and Yehuda Lindell.
-
COMS 4261 - Intro. to Cryptography Columbia University
- By Zeph Grunschlag.
-
Lecture Notes on Cryptography by S. Goldwasser and M. Bellare
- This is a set of lecture notes for a summer course on cryptography, taught by the authors at the Massachusetts Institute of Technology (MIT), 1996--2008.
-
CSE207 - Introduction to Modern Cryptography University of California, San Diego
- By Mihir Bellare and Phillip Rogaway. "The viewpoint taken throughout these notes is to emphasize the theory of cryptography as it can be applied to practice."
-
Foundations of Cryptography - Winter 2006/7 Weizmann Institute of Science
- "Cryptography deals with methods for protecting the privacy, integrity and functionality of computer and communication systems. The goal of the course is to provide a firm foundation to the construction of such methods. In particular we will cover topics such as notions of security of a cryptosystem, proof techniques for demonstrating security and cryptographic primitives such as one-way functions and trapdoor permutations."
- The Handbook of Applied Cryptography by Alfred J. Menezes, Paul C. van Oorschot and Scott A. Vanstone
- C. Shannon, A Mathematical Theory of Communication, Bell System Technical Journal, vol. 27, pp. 379-423 and 623-656, July and October, 1948.
- C. Shannon, Communication Theory of Secrecy Systems.
- W. Diffie and M. Hellman, New Directions in Cryptography, IEEE Trans. on Information Theory, 1976.
- R.C. Merkle, Secrecy, authentication, and public key systems. Stanford Ph.D. thesis 1979.
- S. Goldwasser, S. Micali, and C. Rackoff, The Knowledge Complexity of Interactive Proof Systems. SIAM J. of Computing, vol. 18, no. 1, 1989, Pages 186-208.
- 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).
- S. Goldwasser, S. Micali, and R. L. Rivest, A Digital Signature Scheme Secure Against Adaptive Chosen-Message Attacks, SIAM J. on Computing, vol 17(2) 1988, pages 281-308.
- V. Shoup, On formal models of key exchange (version 4), November 15, 1999 revision of IBM Research Report RZ 3120 (April 1999).
- retter: The purpose of this project is to promote and develop cryptography. It includes the collection of known tools, libraries, articles, materials, hash functions, and ciphers.
-
The Block Cipher Lounge: "On this page we try to give an overview of recent block ciphers. We also provide some pointers to people who make fast implementations."
-
The Hash Function Lounge: "The goal of this site is to give an overview of hash functions intended for cryptographic applications."
-
A Computational Introduction to Number Theory and Algebra, by Victor Shoup
- "A book introducing basic concepts from computational number theory and algebra, including all the necessary mathematical background."
-
Elementary Number Theory: Primes, Congruences, and Secrets by William Stein
- "This is a book about prime numbers, congruences, secret messages, and elliptic curves that you can read cover to cover. It grew out of undergraduate courses that the author taught at Harvard, UC San Diego, and the University of Washington."
-
An Introductory Course in Elementary Number Theory by Wissam Raji
-
Discrete Probability, on Wikibooks