About this Course
4.8
2,202 ratings
463 reviews
100% online

100% online

Start instantly and learn at your own schedule.
Flexible deadlines

Flexible deadlines

Reset deadlines in accordance to your schedule.
Hours to complete

Approx. 29 hours to complete

Suggested: 5 hours/week...
Available languages

English

Subtitles: English...

Skills you will gain

CryptographyCryptographic AttacksPublic-Key CryptographySymmetric-Key Algorithm
100% online

100% online

Start instantly and learn at your own schedule.
Flexible deadlines

Flexible deadlines

Reset deadlines in accordance to your schedule.
Hours to complete

Approx. 29 hours to complete

Suggested: 5 hours/week...
Available languages

English

Subtitles: English...

Syllabus - What you will learn from this course

Week
1
Hours to complete
4 hours to complete

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. ...
Reading
12 videos (Total 210 min), 2 readings, 2 quizzes
Video12 videos
What is Cryptography?15m
History of Cryptography18m
Discrete Probability (Crash Course)18m
Discrete Probability (Crash Course, Cont.)13m
Information Theoretic Security and The One Time Pad18m
Stream Ciphers and Pseudo Random Generators19m
Attacks on Stream Ciphers and The One Time Pad23m
Real-World Stream Ciphers19m
PRG Security Definitions24m
Semantic Security15m
Stream Ciphers are Semantically Secure [optional]10m
Reading2 readings
Lecture slides for all six weeks10m
Course overview and additional reading resources10m
Quiz2 practice exercises
Week 1 - Problem Set20m
Week 1 - Programming Assignment [optional]2m
Week
2
Hours to complete
3 hours to complete

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. ...
Reading
11 videos (Total 167 min), 2 quizzes
Video11 videos
The Data Encryption Standard21m
Exhaustive Search Attacks19m
More Attacks on Block Ciphers 16m
The AES Block Cipher13m
Block Ciphers From PRGs11m
Review: PRPs and PRFs11m
Modes of Operation: One Time Key7m
Security for Many-Time Key (CPA security)22m
Modes of Operation: Many Time Key (CBC)16m
Modes of Operation: Many Time Key (CTR) 9m
Quiz2 practice exercises
Week 2 - Problem Set18m
Week 2 - Programming Assignment [Optional]8m
Week
3
Hours to complete
3 hours to complete

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....
Reading
11 videos (Total 130 min), 2 quizzes
Video11 videos
MACs Based On PRFs9m
CBC-MAC and NMAC19m
MAC Padding8m
PMAC and the Carter-Wegman MAC15m
Introduction 10m
Generic Birthday Attack14m
The Merkle-Damgard Paradigm 11m
Constructing Compression Functions8m
HMAC7m
Timing attacks on MAC verification8m
Quiz2 practice exercises
Week 3 - Problem Set20m
Week 3 - Programming Assignment [Optional]2m
Week
4
Hours to complete
3 hours to complete

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....
Reading
12 videos (Total 167 min), 2 quizzes
Video12 videos
Definitions 5m
Chosen Ciphertext Attacks12m
Constructions From Ciphers and MACs20m
Case Study: TLS 1.217m
CBC Padding Attacks14m
Attacking Non-Atomic Decryption 9m
Key Derivation13m
Deterministic Encryption14m
Deterministic Encryption: SIV and Wide PRP20m
Tweakable Encryption14m
Format Preserving Encryption12m
Quiz2 practice exercises
Week 4 - Problem Set20m
Week 4 - Programming Project [Optional]2m
4.8
Career direction

26%

started a new career after completing these courses
Career Benefit

83%

got a tangible career benefit from this course

Top Reviews

By BCMar 11th 2017

Cutting edge cryptography topics. Good explanations and slides, but pause button is highly recommended. Can be a bit too mathematical for the general public, and not very formal for mathematicians.

By LGDec 16th 2017

This course gives is perfect to start learning cryptography, explanations are detailed, topics carefully selected combining theory with real world examples and making emphasis in important details.

Instructor

Avatar

Dan Boneh

Professor
Computer Science

About Stanford University

The Leland Stanford Junior University, commonly referred to as Stanford University or Stanford, is an American private research university located in Stanford, California on an 8,180-acre (3,310 ha) campus near Palo Alto, California, United States....

Frequently Asked Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

More questions? Visit the Learner Help Center.