1. Introduction
  2. What is a Root of Trust?
  3. Why open silicon: OpenTitan and Pavona
  4. Threats and trust boundaries
  5. The simulated chip
  6. Booting a chip on your laptop
    1. Development environment
    2. Building Egret in Verilator
    3. Hello, World!
    4. Reading the memory map
  7. Secure boot
  8. How a chip trusts its own code
    1. The chain of trust
    2. Signing and verifying an image
    3. Building and running a signed chain
    4. ePMP memory protection
    5. Reading the boot log
  9. Secure storage and lifecycle
  10. Keeping secrets and managing state
    1. OTP and flash scrambling
    2. Lifecycle states
    3. The lifecycle gate
  11. Identity and keys (DICE)
  12. Where a chip's identity comes from
    1. The OTP root secret
    2. Key manager derivation and DICE
    3. Software binding and key versioning
  13. Attestation
  14. Proving who you are
    1. Creator and Owner Identity Certificates
    2. The certificate chain
    3. Verifying a chain off-device
  15. Post-quantum crypto
  16. Cryptography that survives quantum computers
    1. The acc coprocessor
    2. ML-KEM, ML-DSA, and SPHINCS+
    3. NIST known-answer tests
    4. PQC-enabled secure boot
  17. Provisioning and ownership
  18. Birth and handover of a device
    1. Personalization
    2. ECIES-wrapped secret injection
    3. Ownership transfer
  19. Egret as a secure co-processor
  20. Driving the root of trust from a host
    1. The command channel
    2. One command, end to end
    3. Building a real host
    4. Breaking the link
  21. References