What you'll learn
Course overview and stream ciphers
Block Ciphers
Message Integrity
Authenticated Encryption
Basic Key Exchange
Public-Key Encryption
Final exam
Description
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.
Requirements
Access to a computer or mobile device with an internet connection.
Motivation to learn!
There are no special materials or prerequisite knowledge required for this course.
Who this course is for
Students who are new to this field
Students willing to put in a couple hours to learn about Cryptography I
Advanced students wanting to add another skill to their portfolio
Content Creator
Dan Boneh – Professor – Computer Science
This course includes
Participation Confirmation/Certificate
Option for learning at your own pace
Videos and reading material about the course
Practice tests
Assessed tasks with feedback from other course participants
Evaluated tests with feedback
Evaluated programming tasks
Got something to discuss?