1. 1. Introduction
  2. 2. Preparing your environment
    1. 2.1. Python and PIP
    2. 2.2. ChipWhisperer
  3. 3. A case study: RSA
  4. 4. Breaking AES
    1. 4.1. Correlation Power Analysis
    2. 4.2. How AES works
    3. 4.3. Modeling AES
    4. 4.4. Capture multiple traces
    5. 4.5. Crack individual key-bytes
    6. 4.6. Automate the cracking process
    7. 4.7. Sidenote: Optimizing our code
    8. 4.8. Exercises
  5. 5. Compiling/Creating your own algorithms
    1. 5.1. Installing Toolchains
    2. 5.2. SimpleSerial Protocol
    3. 5.3. Existing resources
  6. 6. Assignment

Power analysis Introductory Walkthrough

Existing resources

Information on the SimpleSerial protocol

  • SimpleSerial README
  • ChipWhisperer docs

Templates for source code

  • SimpleSerial Base
  • SimpleSerial C Template: written for this walkthrough

Specific algorithm implementation with SimpleSerial

  • All list of firmware provided by the framework: all the directories starting with simpleserial- can be used.
  • SimpleSerial wrapper for NIST Lightweight Cryptography algorithms

Useful C algorithm implementations

  • MBedTLS: contains implementations for a lot of the common algorithms
  • ChaCha C implementation