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.
Public-Key Cryptography, Algorithms, Symmetric-Key Algorithm, Critical Thinking, Theoretical Computer Science, Security Engineering, Mathematics, Probability Distribution, Mathematical Theory & Analysis, Probability & Statistics, Cryptography, Cryptographic Attacks
Reviews
4.8 (4,411 ratings)
5 stars
84.90%
4 stars
12.19%
3 stars
1.70%
2 stars
0.49%
1 star
0.70%
BC
Mar 10, 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.
DT
Jul 26, 2017
A really interesting and in-depth course. It is pretty challenging and requires good math/proof skills, but still quite fun. The course could use more study materials, for example lecture notes.
From the lesson
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.