Crypto 101: Building Blocks

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:

  1. Understand the fundamental cryptographic building bocks of symmetric-key encryption, message authentication, authenticated encryption, hash functions, public-key encryption, and digital signatures;
  2. Appreciate the challenges with assessing the security of these building blocks;
  3. Examine case studies of how these cryptographic building blocks are used to secure large-scale applications;
  4. 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

Full Playlist

V2: Symmetric-key encryption

V3: Hash functions

V4: Message authentication codes

V5: Authenticated encryption

V6: Public-key cryptography

V7: RSA

V8: Elliptic curve cryptography


Additional material

Lecture slides
Supplementary readings