10_How_It_Breaks — How it breaks — the joins, not the maths¶
Level: 301 · deep dive
The chapter the rest of the library is for. Everything up to here works. This is where working pieces are assembled into something that does not.
The failures repeat, which is the useful part — once you can name the shape you find it by reading a design instead of waiting for an advisory:
- Something was reused that had to be unique — a nonce, an IV, a key, a
kin ECDSA. - Something was predictable that had to be random.
- Something leaked through a channel nobody was looking at — time, size, power, an error message.
- Something was checked in the wrong order, or after it had already been acted on.
- Something could be negotiated down to a weaker option that was still supported.
The pages¶
| # | Page | The question it answers | Status |
|---|---|---|---|
| 1 | Nonce reuse | Why does encrypting twice with one nonce hand over the plaintext? | planned |
| 2 | Timing attacks | How does a comparison that returns early leak a secret? | planned |
Every page above is a plan until its row says written; see ROADMAP.md.
The through-line¶
Attack the joins. Nobody breaks AES. They find the place where two correct pieces were put together by somebody who had to make a decision the documentation did not mention.