subject
Intro

Cryptography I

 with  Dan Boneh
Class Central Course Rank
#3 in Subjects > Computer Science > Theoretical Computer Science

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

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.

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 horse of cryptography and have many applications. Next week we will see how to use block ciphers to provide data integrity. The optional programming assignment this week asks students to build an encryption/decryption system using AES.

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 encryption and show how to provide both confidentiality and integrity. This week's programming project shows how to authenticate large video files. Even if you don't do the project, please read the project description --- it teaches an important concept called a hash chain.

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. Next week we start with key management and public-key cryptography. As usual there is also an extra credit programming project. This week's project involves a bit of networking to experiment with a chosen ciphertext attack on a toy web site.

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-key systems we need to take a brief detour and cover a few basic concepts from computational number theory. We will start with algorithms dating back to antiquity (Euclid) and work our way up to Fermat, Euler, and Legendre. We will also mention in passing a few useful concepts from 20th century math. Next week we will put our hard work from this week to good use and construct several public key encryption systems.

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 videos cover two families of public key encryption systems: one based on trapdoor functions (RSA in particular) and the other based on the Diffie-Hellman protocol. We construct systems that are secure against tampering, also known as chosen ciphertext security (CCA security). There has been a ton of research on CCA security over the past decade and given the allotted time we can only summarize the main results from the last few years. The lectures contain suggestions for further readings for those interested in learning more about CCA secure public-key systems. The problem set this week involves a bit more math than usual, but should expand your understanding of public-key encryption. Please don't be shy about posting questions in the forum. This is the last week of this Crypto I course. I hope everyone learned a lot and enjoyed the material. Crypto is a beautiful topic with lots of open problems and room for further research. I look forward to seeing you in Crypto II where we will cover additional core topics and a few more advanced topics.

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!

38 Student
reviews
Sponsored
Understand the zika virus
London School of Hygiene & Tropical Medicine via FutureLearn
Cost Free Online Course
Pace Upcoming
Institution Stanford University
Provider Coursera
Language English
Certificates Paid Certificate Available
Hours 5-7 hours a week
Calendar 7 weeks long
+ Add to My Courses
Canvas Network canvas.net

Need a new hobby? Check out the Canvas Network line up.

Advertisement
Learn Data Analysis udacity.com

Learn to become a Data Analyst. Job offer guaranteed or get a full refund.

Advertisement
FAQ View All
What are MOOCs?
MOOCs stand for Massive Open Online Courses. These are free online courses from universities around the world (eg. Stanford Harvard MIT) offered to anyone with an internet connection.
How do I register?
To register for a course, click on "Go to Class" button on the course page. This will take you to the providers website where you can register for the course.
How do these MOOCs or free online courses work?
MOOCs are designed for an online audience, teaching primarily through short (5-20 min.) pre recorded video lectures, that you watch on weekly schedule when convenient for you.  They also have student discussion forums, homework/assignments, and online quizzes or exams.

38 reviews

Write a review
1 out of 1 people found the following review useful
2 years ago
profile picture
Kartik Kukreja completed this course.
This is a fun and engaging course, meant as a first introduction to cryptography and at the same time, exposes students to mathematics and concepts behind cryptographic primitives. This course explains the inner workings of cryptographic primitives and how to correctly use them. It teaches how to reason about the secu Read More
This is a fun and engaging course, meant as a first introduction to cryptography and at the same time, exposes students to mathematics and concepts behind cryptographic primitives.

This course explains the inner workings of cryptographic primitives and how to correctly use them. It teaches how to reason about the security of cryptographic constructions and how to apply this knowledge to 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. It then examines many deployed protocols and analyzes mistakes in existing systems. Later parts of the course cover the relevant number theory, discuss public-key encryption and basic key-exchange, and expose students to many exciting open problems in the field.
Was this review helpful to you? YES | NO
2 out of 2 people found the following review useful
3 years ago
profile picture
Anonymous completed this course.
One of the first sentences Prof. Boneh said in this class was "I am a big believer in note taking"... well I had preferred he did not took this so literally and had spoken at a slower pace, even if this had meant double the number of lessons. The quizzes were ok, the programming assignments were fun but fra Read More
One of the first sentences Prof. Boneh said in this class was "I am a big believer in note taking"... well I had preferred he did not took this so literally and had spoken at a slower pace, even if this had meant double the number of lessons.

The quizzes were ok, the programming assignments were fun but frankly there is a gap between what was presented in the video and what was required in the programming : to fill this gap a time far longer than presumed one was required.
Was this review helpful to you? YES | NO
3 out of 3 people found the following review useful
2 years ago
profile picture
Sami Laine completed this course, spending 6 hours a week on it and found the course difficulty to be hard.
A simply brilliant, albeit fast paced, introduction to basic concepts of cryptography. The course is fairly demanding because professor Boneh likes to put things out fast and this reflects to his way of lecturing. Personally I enjoyed his fast paced lectures, but it might be an acquired taste and some people might find the pace slightly too fast.
Was this review helpful to you? YES | NO
1 out of 1 people found the following review useful
2 years ago
profile picture
Anonymous completed this course.
I thought this course provided a very good fundamental understanding of cryptography. It was challenging but well worth the time. I especially thought the programming assignments were well chosen. They reinforced the lectures and were fun/challenging to solve. I look forward to taking Crypto II.
Was this review helpful to you? YES | NO
2 years ago
profile picture
Bart completed this course.
My first MOOC. The course really allowed me to get a deep understanding of the underlying maths of some of the technologies I am somewhat familiar with. The maths at the end of the course, number theory, was quite new to me and therefore quite challenging. The course develops a nice rhythm and many concepts keep coming Read More
My first MOOC. The course really allowed me to get a deep understanding of the underlying maths of some of the technologies I am somewhat familiar with. The maths at the end of the course, number theory, was quite new to me and therefore quite challenging. The course develops a nice rhythm and many concepts keep coming back which was pleasant for the most part. The most fun and learning came from the programming assignments. The numerous failure attempts followed by some readable decrypted output gives a wonderful victorious feeling.
Was this review helpful to you? YES | NO
4 years ago
profile picture
Anonymous completed this course.
One of the first sentences Prof. Boneh said in this class was "I am a big believer in note taking". This class is a classic example of applying that quote. The pace was really fast, and if there wasn't the pause button, the class would be over my head. The quizzes were ok, the programming assignments were th Read More
One of the first sentences Prof. Boneh said in this class was "I am a big believer in note taking". This class is a classic example of applying that quote. The pace was really fast, and if there wasn't the pause button, the class would be over my head.

The quizzes were ok, the programming assignments were the most fun.

I look forward for the next cryptography course offer.

Was this review helpful to you? YES | NO
4 years ago
profile picture
Anonymous completed this course.
I enjoyed the course very much. I thought the lectures were well done. The problem sets and programming assignments were also well done. I took the first iteration in Spring 2012. There were a few late lectures (though the lectures were always well done), but I am sure that is taken care of now.
Was this review helpful to you? YES | NO
4 years ago
profile picture
Anonymous completed this course.
Great great class. Lectures are amazingly concise and fast-paced, so (as Professor Boneh states) pausing and taking notes is very helpful. The homeworks and programming assignments are consistently difficult but manageable. I will be back for Crypto 2 :)
Was this review helpful to you? YES | NO
5 months ago
Ava completed this course, spending 5 hours a week on it and found the course difficulty to be medium.
An extremely fun and well-designed introduction course to cryptography. The lecture videos are engaging and the programming assignments are interesting.
Was this review helpful to you? YES | NO
4 years ago
profile picture
Anonymous completed this course.
Very challenging. I wish Dr Boneh had talked a little slower and given more examples. I needed significantly more time each week than estimated.
Was this review helpful to you? YES | NO
5 days ago
profile picture
Anonymous completed this course.
Great course. Challenging tasks, real life examples and good pace for the course. Highly recommended. Looking forward to the 2nd part.
Was this review helpful to you? YES | NO
3 years ago
profile picture
Anonymous completed this course.
Great class presented at just the right level -- deep enough to get real value, but not overwhelming
Was this review helpful to you? YES | NO
0 out of 3 people found the following review useful
2 years ago
profile picture
Wei En completed this course, spending 6 hours a week on it and found the course difficulty to be hard.
Professor Boneh explains the content in these videos quite well. Additionally, the assignments (both quizzes and programming assignments) are quite interesting. However, I only went through the first week and found it too fast paced for me. Nevertheless, this course is a good introduction to cryptography. People who Read More
Professor Boneh explains the content in these videos quite well. Additionally, the assignments (both quizzes and programming assignments) are quite interesting.

However, I only went through the first week and found it too fast paced for me.

Nevertheless, this course is a good introduction to cryptography. People who are interested should give it a try and see if it suits them.
Was this review helpful to you? YES | NO
12 months ago
Ilya Rudyak completed this course.
Was this review helpful to you? YES | NO
2 months ago
Max Yakovenko partially completed this course.
Was this review helpful to you? YES | NO
4 weeks ago
Anton Pushkov completed this course.
Was this review helpful to you? YES | NO
5 months ago
Chris Khein completed this course.
Was this review helpful to you? YES | NO
a year ago
Marat Minshin completed this course, spending 8 hours a week on it and found the course difficulty to be hard.
Was this review helpful to you? YES | NO
a year ago
profile picture
Klaas Naaijkens completed this course.
Was this review helpful to you? YES | NO
9 months ago
Peridy Clovis is taking this course right now.
Was this review helpful to you? YES | NO
a year ago
Someone completed this course and found the course difficulty to be medium.
Was this review helpful to you? YES | NO
11 months ago
Alonso Torres is taking this course right now.
Was this review helpful to you? YES | NO
Was this review helpful to you? YES | NO
12 months ago
Jim Patras dropped this course.
Was this review helpful to you? YES | NO
10 months ago
profile picture
Amaan Cheval completed this course.
Was this review helpful to you? YES | NO
a year ago
Chahrazed Hd is taking this course right now.
Was this review helpful to you? YES | NO
5 months ago
Bruno Lehouque completed this course.
Was this review helpful to you? YES | NO
8 months ago
Marcelo Gonçalves completed this course and found the course difficulty to be hard.
Was this review helpful to you? YES | NO
a year ago
Mauro Lacy completed this course.
Was this review helpful to you? YES | NO
a month ago
Jeremy partially completed this course.
Was this review helpful to you? YES | NO
2 years ago
profile picture
Anonymous completed this course.
Was this review helpful to you? YES | NO
Was this review helpful to you? YES | NO
9 months ago
Matteo Ferrara completed this course.
Was this review helpful to you? YES | NO
a year ago
Bill Tollefson completed this course.
Was this review helpful to you? YES | NO
2 years ago
profile picture
Mattia Monga completed this course, spending 10 hours a week on it and found the course difficulty to be hard.
Was this review helpful to you? YES | NO
5 months ago
Mark Henry Butler completed this course.
Was this review helpful to you? YES | NO
2 years ago
Soltan Mounir is taking this course right now, spending 1 hours a week on it and found the course difficulty to be very easy.
Was this review helpful to you? YES | NO

Write a review

How would you rate this course? *
How much of the course did you finish? *
Review
Create Review
#}