Module 5 of 5

Applied cryptography

Where cryptography meets real systems: the failure classes that cause breaches, side channels and constant-time code, the migration to post-quantum algorithms, and the agility and inventory that make the next migration survivable.

4 lessons59 min reading

The primitives in the earlier modules are sound. Breaches come from the seams around them: a mode used without integrity, a comparison that exits early, a key that outlived its system, an algorithm that was safe when it was chosen and is not safe now. This module is about those seams. It starts from the catalogue of real-world failures, works through the side channels that leak secrets without breaking any math, and ends with the two migrations every long-lived system faces: moving to post-quantum algorithms, and building the agility to move again.

By the end you should be able to look at a system and name how its cryptography would most plausibly fail, write a comparison or a verification that does not leak, place the system on a post-quantum timeline using Mosca’s inequality, and produce a cryptographic inventory that turns “we use crypto everywhere” into an ordered list of work.

Lessons

  1. 5.aHow cryptography fails in practiceWhat are the recurring ways real systems leak secrets even with sound primitives?15 min
  2. 5.bSide channels and constant-timeHow does code leak secrets through timing and caches, and how do you write code that does not?15 min
  3. 5.cPost-quantum migrationWhat does quantum computing break, and how do you decide what to migrate and when?14 min
  4. 5.dCrypto-agility and inventoryHow do you find every algorithm you depend on and change it without breaking everything?15 min