IntermediateCryptographyDefensiveAppSec

Cryptography Engineering

Design Principles and Practical Applications

4 / 5

A working engineer's introduction to cryptography that takes implementation pitfalls more seriously than most.

Buy on Amazon

As an Amazon Associate we earn from qualifying purchases. The link above is sponsored.

Published
2010
Publisher
Wiley
Pages
384
Language
English

Table of contents

23 chapters · 26 sections

Part I: Introduction

  1. 1

    The Context of Cryptography

    • The role of cryptography
    • The weakest link property
    • The adversarial setting
    • Professional paranoia
    • Threat model
    • Cryptography is not the solution
    • Cryptography is very difficult
    • Cryptography is the easy part
  2. 2

    Introduction to Cryptography

    • Encryption
    • Authentication
    • Public-key encryption
    • Digital signatures
    • PKI
    • Attacks
    • Under the hood
    • Security level

Part II: Message Security

  1. 3

    Block Ciphers

    • What is a block cipher?
    • Types of attack
    • The ideal block cipher
    • Definition of block cipher security
    • Real-world block ciphers (DES, AES, Serpent, Twofish)
  2. 4

    Block Cipher Modes

    • ECB
    • CBC
    • OFB
    • CTR
    • Combined modes
  3. 5

    Hash Functions

  4. 6

    Message Authentication Codes

  5. 7

    The Secure Channel

  6. 8

    Implementation Issues (I)

Part III: Key Negotiation

  1. 9

    Generating Randomness

  2. 10

    Primes

  3. 11

    Diffie-Hellman

  4. 12

    RSA

  5. 13

    Introduction to Cryptographic Protocols

  6. 14

    Key Negotiation

  7. 15

    Implementation Issues (II)

Part IV: Key Management

  1. 16

    The Clock

  2. 17

    Key Servers

  3. 18

    The Dream of PKI

  4. 19

    PKI Reality

  5. 20

    PKI Practicalities

  6. 21

    Storing Secrets

Part V: Miscellaneous

  1. 22

    Standards and Patents

  2. 23

    Involving Experts

Prerequisites

High-school math, programming experience. The book avoids heavy proofs but expects you to track careful arguments.

Read this if

Engineers who need to evaluate cryptographic choices in real systems and want intuition for why the standard advice exists.

Skip this if

Researchers needing rigor, for that, read Boneh/Shoup or Katz/Lindell. Also dated on TLS 1.3, modern AEAD norms, and post-quantum.

Key takeaways

  • Almost every cryptographic disaster is an integration failure, not a primitive failure.
  • Don't roll your own, but understand enough to recognize when the library you're using is wrong.
  • Side channels are not exotic; they are the default mode of failure.

Notes

Hits a third register most crypto books miss: not mantras, not proofs, but a working sense of where the sharp edges are. Dated on TLS 1.3, AEAD, Noise, and PQ migration, pair with the relevant RFCs. The chapters on how primitives compose into systems (and how those compositions fail) are evergreen.