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.
Offered By
Cryptography I
Stanford UniversityAbout this Course
Skills you will gain
- Cryptography
- Cryptographic Attacks
- Public-Key Cryptography
- Symmetric-Key Algorithm
Offered by

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.
Syllabus - What you will learn from this course
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.
Reviews
- 5 stars84.77%
- 4 stars12.34%
- 3 stars1.63%
- 2 stars0.54%
- 1 star0.69%
TOP REVIEWS FROM CRYPTOGRAPHY I
The course gives fundamentals of Cryptography. But I would say that it dig very deep with fundamentals so I would highly recommend this course if you need/want to understand Cryptoraphy
A bit too hard actually, should be more focused on practical cryptography that teaches how to use cryptography in computer programming more efficiently, rather than theoretical cryptography.
It is really interesting and clarifying. It does require much attention to details and taking a lot of notes, however. It focuses on the theory, with practical examples. I sure liked it.
Excellent course. I've worked with cryptographic methods and practice for many years, but this course provided me with a stronger understanding of the underlying theory than I'd had before.
Frequently Asked Questions
When will I have access to the lectures and assignments?
What will I get if I purchase the Certificate?
Is financial aid available?
More questions? Visit the Learner Help Center.