Key Information
About the content
Cryptography is an indispensable tool for protecting information in computer systems. In this course you will learn the inner workings of cryptographic systems and how to correctly use them in real-world applications. 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. We will examine many deployed protocols and analyze mistakes in existing systems. The second half of the course discusses public-key techniques that let two parties generate a shared secret key. Throughout the course participants will be exposed to many exciting open problems in the field and work on fun (optional) programming projects. In a second course (Crypto II) we will cover more advanced cryptographic tasks such as zero-knowledge, privacy mechanisms, and other forms of encryption.
Syllabus
- Week 1 - Course overview and stream ciphers
Week 1. This week's topic is an overview of what cryptography is about as well as our first example ciphers. You will learn about pseudo-randomness and how to use it for encryption. We will also look at a few basic definitions of secure encryption. - Week 2 - Block Ciphers
Week 2. We introduce a new primitive called a block cipher that will let us build more powerful forms of encryption. We will look at a few classic block-cipher constructions (AES and 3DES) and see how to use them for encryption. Block ciphers are the work hors... - Week 3 - Message Integrity
Week 3. This week's topic is data integrity. We will discuss a number of classic constructions for MAC systems that are used to ensure data integrity. For now we only discuss how to prevent modification of non-secret data. Next week we will come back to encry... - Week 4 - Authenticated Encryption
Week 4. This week's topic is authenticated encryption: encryption methods that ensure both confidentiality and integrity. We will also discuss a few odds and ends such as how to search on encrypted data. This is our last week studying symmetric encryption. Nex... - Week 5 - Basic Key Exchange
Week 5. This week's topic is basic key exchange: how to setup a secret key between two parties. For now we only consider protocols secure against eavesdropping. This question motivates the main concepts of public key cryptography, but before we build public-k... - Week 6 - Public-Key Encryption
Week 6. This week's topic is public key encryption: how to encrypt using a public key and decrypt using a secret key. Public key encryption is used for key management in encrypted file systems, in encrypted messaging systems, and for many other tasks. The vide... - Week 7 - Final exam
Congratulations! We are at the end of the course. This module contains only the final exam which covers the entire course. I hope everyone learned a lot during these 6 weeks. Good luck on the final exam and I look forward to seeing you at a future course! ...
Instructors
Dan Boneh
Professor
Computer Science
Content Designer

Platform

Coursera is a digital company offering massive open online course founded by computer teachers Andrew Ng and Daphne Koller Stanford University, located in Mountain View, California.
Coursera works with top universities and organizations to make some of their courses available online, and offers courses in many subjects, including: physics, engineering, humanities, medicine, biology, social sciences, mathematics, business, computer science, digital marketing, data science, and other subjects.
I enjoyed the not-too-much-mathematical approach of diging into crypto basics. All popular (practical) questions arise and are discussed in understandable manner.


I enjoyed the not-too-much-mathematical approach of diging into crypto basics. All popular (practical) questions arise and are discussed in understandable manner.

Learning Cryptograpy is not a walk in the park as it requires a good understanding of the theoretical foundations and it is so easy to get wrong, yet it is essential for an IT professional to get a good grasp of the subject. This course is invaluable in that respect, the instructor presents the material in a clear, concise fashion without overwhelming with the math involved, giving the overview you need as a professional.

Course is really good and really in depth.But PLEASE ADD ELLIPTIC CURVES AS THEY ARE GETTING MORE AND MORE RELEVANT EACH DAY.

Many thanks to Dan Boneh and everyone involved in preparing this amazing course!I can't wait for Cryptography 2 (hopefully this fall?).

Very informative and well designed. Programming assignments are especially interesting. It requires quite a hard work, though