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.
Course material
▶▶ https://drive.google.com/file/d/1FZVC…
Subscribe: https://www.youtube.com/channel/UCyFWoLmPTgZ3BkHIKMRSV1g/featured
INTRODUCTION
0:00:00 Course Overview
0:10:34 what is Cryptography
0:26:26 History of Cryptography
0:45:16 Discrete Probability (Crash Course) ( part 1 )
1:03:23 Discrete Probability (crash Course) (part 2)
STREAM CIPHERS
1:17:13 information theoretic security and the one time pad
1:35:46 Stream Ciphers and pseudo random generators
1:55:34 Attacks on stream ciphers and the one time pad
2:18:48 Real-world stream ciphers
2:38:26 PRG Security Definitions
3:03:20 Semantic Security
3:18:51 Stream Ciphers are semantically Secure (optional)
BLOCK CIPHERS
3:29:46 skip this lecture (repeated)
4:02:25 What are block ciphers
4:19:10 The Data Encryption Standard
4:41:09 Exhaustive Search Attacks
5:00:51 More attacks on block ciphers
5:16:54 The AES block cipher
5:30:28 Block ciphers from PRGs
USING BLOCK CIPHERS
5:42:12 Review- PRPs and PRFs
5:53:43 Modes of operation- one time key
6:00:57 Security of many-time key
6:23:47 Modes of operation- many time key(CBC)
6:40:00 Modes of operation- many time key(CTR)
MESSAGE INTEGRITY
6:49:20 Message Authentication Codes
7:04:36 MACs Based on PRFs
7:14:34 CBC-MAC and NMAC
7:34:15 MAC Padding
7:42:55 PMAC and the Carter-wegman MAC
COLLISION RESISTANCE
7:58:21 Introduction
8:09:15 Generic birthday attack
COLLISION RESISTANCE
0:06:21 The Merkle-Damgard Paradigm
0:17:54 Construction Compression functions
0:26:03 HMAC
0:33:07 Timing attacks on Mac Verification
AUTHENTICATED ENCRYPTION
0:41:36 Active attacks on CPA-secure encryption
0:54:30 Definitions
0:59:44 Chosen ciphertext Attacks
1:11:49 Constructions from ciphers and MACs
1:32:07 Case Study
1:49:46 CBC padding attacks
2:03:52 Attacking non-atomic decryption
ODDS AND ENDS
2:13:42 Key Derivation
2:27:17 Deterministi Encryption
2:41:50 Deterministic Encryption-SIV and wide PRP
3:02:19 Tweakable encryption
3:16:44 Format Preserving encryption
BASIC KEY EXCHANGE
3:28:58 Trusted 3rd Parties
3:40:10 Merkle Puzzles
3:51:28 The Diffie-Hellman Protocol
4:10:29 Public-key encryption
INTRODUCTION TO NUMBER THEORY
4:21:25 Notation
4:35:41 Fermat and Euler
4:53:46 Modular e-'th roots
5:10:54 Arithmetic algorithms
5:23:29 Intractable problems
#cryptography