• Stars
    star
    1,073
  • Rank 43,097 (Top 0.9 %)
  • Language
    C
  • License
    Other
  • Created about 10 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

ChipWhisperer - the complete open-source toolchain for side-channel power analysis and glitching attacks

ChipWhisperer

Documentation Status | Notebook Tests

Discord | Hardware Docs | Documentation | Forum | Store | NewAE

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 includes a Python API for talking to ChipWhisperer hardware (ChipWhisperer Capture) and a Python API for processing power traces from ChipWhisperer hardware (ChipWhisperer Analyzer). You can find documentation for our Python API at chipwhisperer.readthedocs.io

Getting Started

First time using ChipWhisperer? Check out these links:

ChipWhisperer 5.5: All-in-one installer, Serial Port, ECC, and Segmented Capture

ChipWhisperer 5.5 has brought some exciting new features that make it easier to use and allow you to do some cool new things:

  1. The ChipWhisperer Windows installer now includes everything you need to use ChipWhisperer, including Python/Juptyer, Git, Make, and compilers! For more information, check out our Windows installer page on ReadTheDocs.
  2. ChipWhisperer capture devices (CWLite, Nano, Pro, etc.) have gotten a new firmware update that gives them a USB-CDC serial port for talking over USART. This means you can use your favourite serial program, such as PuTTy, to talk to and listen to the target's USART communication. For more info, see our rtfm serial port page.
  3. We've recently added two ECC power analysis attack notebooks. One attacks a hardware ECC implementation running on the CW305 and the other attacks a software ECC implementation running on a microcontroller. Both can be found in jupyter/demos.
  4. There's a new segmented capture mode that allows you to fill the ChipWhisperer capture buffer with multiple power traces before transferring data to the PC. This greatly reduces the overhead on trace transfer, allowing capture speeds of 1000+ captures/second for FPGA AES implementations. See our API documentation to see how to use it.

Also, if you haven't checked it out yet, ChipWhisperer 5.4 included TraceWhisperer, which allows you to use Arm trace to timestamp microcontroller operations/functions in your powertrace. It requires a CW305 or PhyWhisperer. For more information, see https://github.com/newaetech/DesignStartTrace.

GIT Source

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.

Help!

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.

More Repositories

1

chipshouter-picoemp

Why not run micropython on your EMFI tool?
C
428
star
2

chipwhisperer-jupyter

Interactive ChipWhisperer tutorials using Jupyter notebooks.
Jupyter Notebook
216
star
3

ChipSHOUTER

ChipSHOUTER® - The Electromagnetic Fault Injection (EMFI) Platform By NewAE Technology Inc. Repo holds API, documentation, and examples.
125
star
4

phywhispererusb

PhyWhisperer-USB: Hardware USB Trigger
C
82
star
5

chipwhisperer-husky

C
77
star
6

chipwhisperer-target-cw308t

ChipWhisperer CW308 UFO Target Hardware Files
HTML
29
star
7

chipjabber-basicbbi

A Basic BBI Tool - So Simple, But So Good!
Jupyter Notebook
25
star
8

ChipShover

ChipSHOVER is an XYZ table & driver, with open-source firmware for the controller.
Python
22
star
9

chipwhisperer-tutorials

Exported ChipWhisperer Tutorials - Used for Building Documentation
17
star
10

chipwhisperer-lint

ChipWhisperer-Lint is an open source implementation of our automated leakage detection tool.
Python
17
star
11

naeusb

USB library for ChipWhisperer devices
C
14
star
12

ChipWhisperer-Test-Results

HTML
13
star
13

CANoodler

CANoolder: CAN to 3.3V logic level interface. Dumb. Cheap. Simple. Pick 3.
13
star
14

ChipJabber-Unplugged

ChipJabber-Unplugged does new-school attacks with old-school logic.
C++
12
star
15

DesignStartTrace

Adding trace to DesignStart for easier side-channel analysis on the CW305 target. Also supports PhyWhisperer.
VHDL
12
star
16

sonata-pcb

Design files and associated documentation for Sonata PCB, part of the Sunburst Project
ANTLR
12
star
17

chipwhisperer-tvla

Jupyter Notebook
11
star
18

chipwhisperer-husky-fpga

FPGA design and test files for ChipWhisperer-Husky.
Verilog
10
star
19

wiki.newae.com

This is a GIT syncronization of https://wiki.newae.com
9
star
20

chipwhisperer-target-mpc5748g

CW308T-MPC5748G Example Firmware
C
8
star
21

secure-CAN-demo

Implementation of secure CAN network in "Power Analysis and Fault Attacks against Secure CAN: How Safe Are Your Keys?".
C
7
star
22

CW305-Arm-DesignStart

Instruction and files for porting Arm DesignStart to CW305.
C
7
star
23

chipwhisperer-vagrant

Vagrant stuff to build chipwhisperer virtualbox image
Python
7
star
24

chipwhisperer-target-cw313

CW313 ChipWhisperer Design Files
6
star
25

ChipArmour

ChipArmourer helps you build secure firmware resistant against fault injection attacks.
C
6
star
26

ChipSHOUTER-python

Python API for ChipSHOUTER
Python
5
star
27

newae-mcuboot-demo

Bootloader that uses Chip Armor
C
5
star
28

ChipSHOUTER-ballisticgel

ChipSHOUTER Ballistic Gel
C
5
star
29

chipwhisperer-contest-2021

5
star
30

ches2023notebooks

Notebooks and traces for CHES 2023 ECC tutorial
Jupyter Notebook
4
star
31

cwlint-demo-aes-arm

CW-Lint running against ARM Implementation of AES with various builds possible.
Python
4
star
32

cw310-bergen-board

CW310 - Kintex FPGA ('Bergen Board') Target
VHDL
3
star
33

tracewhisperer

VHDL
3
star
34

sonata-rp2040

rp2040 firmware for Sonata
C
3
star
35

SideChannelLive

SideChannel Live
2
star
36

chipwhisperer-datasets

Interface to Side-Channel Analysis Dataset
2
star
37

chipwhisperer-minimal

Minimal chipwhisperer that only supports the CW310
Python
2
star
38

fpga-common

FPGA design elements used across multiple projects.
SystemVerilog
2
star
39

securecan_automotive_demo

C
1
star
40

chipwhisperer-examples

ChipWhisperer Examples (mostly sample traces)
Python
1
star
41

phywhisperer-common

Files common to phywhisperer projects.
Verilog
1
star
42

chipwhisperer-target-cec1702

Firmware to modify EFUSE bits in CEC1702
C
1
star
43

ChipSHOUTER-target-simple

The CW322 Simple EMFI Target
C
1
star