ChipWhisperer is an open source toolchain dedicated to hardware security research. This toolchain consists of several layers of open source components:
- Hardware: The ChipWhisperer uses a capture board and a target board. Schematics and PCB layouts for the ChipWhisperer-Lite capture board and a number of target boards are freely available.
- Firmware: Three separate pieces of firmware are used on the ChipWhisperer hardware. The capture board has a USB controller (in C) and an FPGA for high-speed captures (in Verilog) with open-source firmware. Also, the target device has its own firmware; this repository includes many firmware examples for different targets.
- Software: The ChipWhisperer software is made up of a capture program to control the hardware and an analyzer program to process captured data.
ChipWhisperer 5.0 Is Coming
The biggest (and most breaking) change is coming. ChipWhisperer 5.0 uses Python 3 & Juypter Notebooks. Check out the GITHub issue to track this, which is in a new branch on the git repo. No major changes to the current branch will be done as all new features will be going into 5.0.
First time using ChipWhisperer? All of the documentation is available on the Wiki. Here are a few quick links to get you started:
- Getting Started if you have no idea where to start
- Installing ChipWhisperer if you're trying to set up this software package
- Tutorial B1 once everything is set up
Note all development occurs on the develop branch. If you are looking for bleeding edge it's NOT on master - we push each release (and possibly any critical changes) to master. This means that "master" always gives you the latest known-working branch, but there may be new features on the "develop" branch.
Stuck? If you need a hand, there are a few places you can ask for help:
- The NewAE Forum is full of helpful people that can point you in the right direction
- If you find a bug, let us know through the issue tracker
ChipWhisperer is a trademark of NewAE Technology Inc., registered in the US, Europe, and China.