À propos de ce cours
4.8
2,130 ratings
447 reviews
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....
Globe

Cours en ligne à 100 %

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.
Calendar

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.
Clock

Recommandé : 5 hours/week

Approx. 29 heures pour terminer
Comment Dots

English

Sous-titres : English

Compétences que vous acquerrez

CryptographyPublic-Key CryptographyCryptographic AttacksSymmetric-Key Algorithm
Globe

Cours en ligne à 100 %

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.
Calendar

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.
Clock

Recommandé : 5 hours/week

Approx. 29 heures pour terminer
Comment Dots

English

Sous-titres : English

Programme du cours : ce que vous apprendrez dans ce cours

1

Section
Clock
4 heures pour terminer

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 vidéos (Total 210 min), 2 lectures, 2 quiz
Video12 vidéos
What is Cryptography?15 min
History of Cryptography18 min
Discrete Probability (Crash Course)18 min
Discrete Probability (Crash Course, Cont.)13 min
Information Theoretic Security and The One Time Pad18 min
Stream Ciphers and Pseudo Random Generators19 min
Attacks on Stream Ciphers and The One Time Pad23 min
Real-World Stream Ciphers19 min
PRG Security Definitions24 min
Semantic Security15 min
Stream Ciphers are Semantically Secure [optional]10 min
Reading2 lectures
Lecture slides for all six weeks10 min
Course overview and additional reading resources10 min
Quiz2 exercices pour s'entraîner
Week 1 - Problem Set20 min
Week 1 - Programming Assignment [optional]2 min

2

Section
Clock
3 heures pour terminer

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 vidéos (Total 167 min), 2 quiz
Video11 vidéos
The Data Encryption Standard21 min
Exhaustive Search Attacks19 min
More Attacks on Block Ciphers 16 min
The AES Block Cipher13 min
Block Ciphers From PRGs11 min
Review: PRPs and PRFs11 min
Modes of Operation: One Time Key7 min
Security for Many-Time Key (CPA security)22 min
Modes of Operation: Many Time Key (CBC)16 min
Modes of Operation: Many Time Key (CTR) 9 min
Quiz2 exercices pour s'entraîner
Week 2 - Problem Set18 min
Week 2 - Programming Assignment [Optional]8 min

3

Section
Clock
3 heures pour terminer

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 vidéos (Total 130 min), 2 quiz
Video11 vidéos
MACs Based On PRFs9 min
CBC-MAC and NMAC19 min
MAC Padding8 min
PMAC and the Carter-Wegman MAC15 min
Introduction 10 min
Generic Birthday Attack14 min
The Merkle-Damgard Paradigm 11 min
Constructing Compression Functions8 min
HMAC7 min
Timing attacks on MAC verification8 min
Quiz2 exercices pour s'entraîner
Week 3 - Problem Set20 min
Week 3 - Programming Assignment [Optional]2 min

4

Section
Clock
3 heures pour terminer

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 vidéos (Total 167 min), 2 quiz
Video12 vidéos
Definitions 5 min
Chosen Ciphertext Attacks12 min
Constructions From Ciphers and MACs20 min
Case Study: TLS 1.217 min
CBC Padding Attacks14 min
Attacking Non-Atomic Decryption 9 min
Key Derivation13 min
Deterministic Encryption14 min
Deterministic Encryption: SIV and Wide PRP20 min
Tweakable Encryption14 min
Format Preserving Encryption12 min
Quiz2 exercices pour s'entraîner
Week 4 - Problem Set20 min
Week 4 - Programming Project [Optional]2 min
4.8
Direction Signs

26%

a commencé une nouvelle carrière après avoir terminé ces cours
Briefcase

83%

a bénéficié d'un avantage concret dans sa carrière grâce à ce cours

Meilleurs avis

par 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.

par 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.

Enseignant

Dan Boneh

Professor
Computer Science

À propos de 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....

Foire Aux 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.

D'autres questions ? Visitez le Centre d'Aide pour les Etudiants.