November 2024
An introductory course on the fundamental cryptographic primitives: symmetric-key encryption, message authentication codes, authenticated encryption, hash functions, key establishment, public-key encryption, and digital signatures. The Crypto 101: Deployments course will explain how these primitives are being used to secure some large-scale applications.
Learning outcomes
On successful completion of the Crypto 101: Building Blocks and Crypto 101: Deployments courses, students will:
- Understand the fundamental cryptographic building bocks of symmetric-key encryption, message authentication, authenticated encryption, hash functions, public-key encryption, and digital signatures;
- Appreciate the challenges with assessing the security of these building blocks;
- Examine case studies of how these cryptographic building blocks are used to secure large-scale applications;
- Understand why key management is an essential process that underpins the security of many applications.
Note to instructors
If you are teaching a course in applied cryptography, and would like to use my video lectures as a secondary source or a primary source, please send me an email message. I will be happy to arrange a meeting with you, to tell you about my experience teaching applied cryptography over the past 30 years, and we can have a discussion about the curriculum, exercises, projects, and tests for your course. If you use any of the resources (videos or slides) on this web page in your classes, please do provide your students a link to my page (cryptography101.ca).
Bilibili lectures
Full Playlist (thanks to Zijie Lu and Brandon Shi for uploading the videos to Bilibili)
YouTube Lectures
V0: Course preview
V1: Introduction to cryptography
V2: Symmetric-key encryption
- V2a: Fundamental concepts
- V2b: Stream ciphers
- V2c: Block ciphers: DES
- V2d: Block ciphers: Triple-DES
- V2e: Block ciphers: AES
- V2f: Modes of operation
V3: Hash functions
- V3a: Fundamental concepts
- V3b: Relationships between PR, 2PR, CR
- V3c: Generic attacks
- V3d: Iterated hash functions
- V3e: SHA-256
V4: Message authentication codes
V5: Authenticated encryption
V6: Public-key cryptography
V7: RSA
- V7a: Basic RSA
- V7b: Integer factorization
- V7c: RSA encryption
- V7d: RSA signatures
- V7e: PKCS #1 v1.5 RSA signatures
V8: Elliptic curve cryptography
- V8a: Elliptic curves
- V8b: Elliptic curve discrete logarithm problem (ECDLP)
- V8c: Elliptic curve cryptosystems (ECC)
- V8d: Elliptic curve Diffie-Hellman (ECDH)
- V8e: Elliptic curve digital signature algorithm (ECDSA)
Additional material