Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ contributing to the documentation here are some rough guidelines to follow:
properties. Just use **autoattribute**. **autoproperty** causes errors
on ReadTheDocs.

* Follow the [google style guide](https://www.sphinx-doc.org/en/1.5/ext/example_google.html) for docstrings this makes the
* Follow the [google style guide](https://www.sphinx-doc.org/en/master/usage/extensions/example_google.html) for docstrings this makes the
documentation easier to read while looking at the source code.

* Keep in mind that people will be reading both the generated
Expand Down Expand Up @@ -284,7 +284,7 @@ contributing to the documentation here are some rough guidelines to follow:

### Guidelines for Markdown Files

- keep in mind that markdown files in the `chipwhisperer-target-cw308t`
- Keep in mind that markdown files in the `chipwhisperer-target-cw308t`
submodule need to also render on [GitHub](https://github.com/newaetech/chipwhisperer-target-cw308t)


Expand Down Expand Up @@ -340,7 +340,7 @@ When editing or creating tutorials here are a few things to consider:
use with nbparameterize for running our automated tests so we can figure
it out for you.

* When writing in markdown cells please use the [pandoc style markdown](https://rmarkdown.rstudio.com/authoring_pandoc_markdown.html)
* When writing in markdown cells please use the [pandoc style markdown](https://pandoc.org/MANUAL.html#pandocs-markdown)

* This list contains guidelines and will update over time. We will run the
tutorials through the tutorial build system and fix errors that come up.
Expand Down
12 changes: 6 additions & 6 deletions docs/source/Capture/20-pin-connector.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ O: output from ChipWhisperer capture device / input to target
| 5 | nRST | I/O | Target reset Pin (active low). |
| 6 | HS2 | I/O | High Speed Output (normally clock output). |
| 7 | MISO | I/O | SPI input: MISO (for SPI + AVR Programmer). [^5] |
| 8 | VREF | I | CW-Lite [^3] and CW-Nano [^4] only; not connected on others. |
| 8 | VREF | I | CWLite [^3] and CWNano [^4] only; not connected on others. |
| 9 | MOSI | I/O | SPI output: MOSI (for SPI + AVR Programmer). [^5] |
| 10 | TIO1 | I/O | TargetIO Pin 1 - usually UART Rx. |
| 11 | SCK | I/O | SPI output: SCK (for SPI + AVR Programmer). [^5] |
Expand All @@ -61,10 +61,10 @@ O: output from ChipWhisperer capture device / input to target
| 20 | +5V (VUSB) | O | \+5V to Target Device [^1] |


[^1]: Only connected on CW-Pro; not connected on other capture hardware.
[^1]: Only connected on CWPro; not connected on other capture hardware.
[^2]: 200 mA available; can be turned off via `scope.io.target_pwr` (except on Nano).
[^3]: See [CW-Lite VTarget Usage](#vtarget-usage) for more information.
[^4]: On CW-Nano, drive this pin with desired I/O voltage in range 1.5V - 5V.
[^5]: Unused on CW-Nano.
[^6]: User output on CW-Nano.
[^3]: See [CWLite VTarget Usage](#vtarget-usage) for more information.
[^4]: On CWNano, drive this pin with desired I/O voltage in range 1.5V - 5V.
[^5]: Unused on CWNano.
[^6]: User output on CWNano.

2 changes: 1 addition & 1 deletion docs/source/Capture/ChipWhisperer-Husky.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ offering vastly improved performance over a typical asynchronous oscilloscope se
| Glitch Width \* | Based on Internal PLL (600-1200MHz), 100% (enable-only) |
| Glitch Width Increments | Based on Internal PLL (600-1200MHz) |
| Glitch Offset | Based on Internal PLL (600-1200MHz) |
| Glitch Offset Increments | Based on Internal Pll (600-1200MHz) |
| Glitch Offset Increments | Based on Internal PLL (600-1200MHz) |
| Glitch Cycle Offset | [0, 2^32) | [0, 2^32) | N/A |
| Glitch Cycle Repeat | [0, 8192] | [0, 8192] | N/A |
| Voltage Glitch Type | High-power, low-power crowbar |
Expand Down
8 changes: 4 additions & 4 deletions docs/source/Capture/ChipWhisperer-Lite.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# CW1173 ChipWhisperer-Lite

The ChipWhisperer-Lite represents NewAE Technology Inc.s most aggressive pursuit of its mission to bring side-channel power analysis and glitching attacks to every engineer and student. The FULLY open-source (hardware, software,
The ChipWhisperer-Lite represents NewAE Technology Inc.'s most aggressive pursuit of it's mission to bring side-channel power analysis and glitching attacks to every engineer and student. The FULLY open-source (hardware, software,
firmware, FPGA code) is launching a revolution in hardware security. In particular, the ChipWhisperer-Lite
serves as a good middle ground between the full feature-set of the ChipWhisperer-Pro, and the affordability of
the ChipWhisperer-Nano.
Expand All @@ -15,7 +15,7 @@ analysis.
**NOTE:** This page will only cover the capture side of the board. See
`targets/CW303` for documentation on the target side of the board.

![CW-Lite Thing](Images/cwlite_basic.png "image")
![CWLite Thing](Images/cwlite_basic.png "image")

Available in the [ChipWhisperer-Lite starter kit](../Starter%20Kits/ChipWhisperer-Lite.md), the [Level 1 Starter Kit](../Starter%20Kits/SCAPACK-L1.md), and the [Level 2 Starter Kit](../Starter%20Kits/SCAPACK-L2.md)

Expand Down Expand Up @@ -204,7 +204,7 @@ This new serial port has a few advantages:

As well as a few disadvantages:

* Need to keep track of a serial port (/dev/ttyACMX or COMX) if not using pyserial
* Need to keep track of a serial port (/dev/ttyACMX or COMX) if not using PySerial
- In addition, old versions of PySerial don't allow us to associate

#### **Mounting Jumpers**
Expand Down Expand Up @@ -233,7 +233,7 @@ The following lists jumpers on the ChipWhisperer-Lite Capture Section:
You may wish to break the target section apart from the main capture
board. This can easily be accomplished by following these instructions:

1. Using a sharp knife (such as Xacto knife or retractable safety knife), cut the traces on the bottom side of the board along the cut line. Pass the knife back and forth several times. Scoring the board deeply will make the breaking process easier and less stressful on the PCB:
1. Using a sharp knife (such as X-Acto knife or retractable safety knife), cut the traces on the bottom side of the board along the cut line. Pass the knife back and forth several times. Scoring the board deeply will make the breaking process easier and less stressful on the PCB:

![image](Images/breakstep1.png "image")

Expand Down
4 changes: 2 additions & 2 deletions docs/source/Capture/ChipWhisperer-Nano.md
Original file line number Diff line number Diff line change
Expand Up @@ -252,9 +252,9 @@ the STM32F0 to the input stage.
Similar to the ChipWhisperer-Lite, you can break off the end section. To
do that, you will have to do the following:

1. Use an xacto knife or similar to deeply score along the perforated
1. Use an X-Acto knife or similar to deeply score along the perforated
holes on both top and bottom, being very careful not to cut towards
or near your hand. You will need to hold the CWNANO in an
or near your hand. You will need to hold the CWNano in an
appropriate jig or vice.
2. Align the holes on the edge of a hard surface (suggested: block of
wood), and firmly push down on the target end while pushing against
Expand Down
31 changes: 4 additions & 27 deletions docs/source/Capture/ChipWhisperer-Pro.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# CW1200 ChipWhisperer-Pro

The CW1200 (ChipWhisperer Pro) is an upgraded version of the
ChipWhisperer Lite capture hardware. The Pro includes an FPGA with much
The CW1200 (ChipWhisperer-Pro) is an upgraded version of the
ChipWhisperer-Lite capture hardware. The Pro includes an FPGA with much
more space than the Lite, allowing many new features to be added,
including a larger sample buffer, streaming-mode captures, additional
trigger methods, and a touchscreen interface. These features make it a
Expand Down Expand Up @@ -143,7 +143,7 @@ by NewAE.
---
### Power Supply

The ChipWhisperer Pro can be powered either via the USB port,
The ChipWhisperer-Pro can be powered either via the USB port,
or via the 5V jack. If both are plugged in, the 5V jack will be used
exclusively for power. This configuration (5V jack for power,
USB for comms) is preferred. This is because of the high current draw
Expand Down Expand Up @@ -239,7 +239,7 @@ See {doc}`../firmware` for more information on erasing and re-programming ChipWh

### **Streaming Mode**

The ChipWhisperer Pro has a streaming mode that allows extremely long
The ChipWhisperer-Pro has a streaming mode that allows extremely long
captures as long as relatively low sampling rates are used. For example,
this plot shows an excerpt from two traces with nearly 1 million samples:

Expand Down Expand Up @@ -301,7 +301,6 @@ looks directly at the power trace and does not use these trigger inputs.
The edge/level detector can trigger on four different events:

- Trigger input is low (0)

- Trigger input is high (1)
- Trigger input had a rising edge (0 -\> 1)
- Trigger input had a falling edge (1 -\> 0)
Expand All @@ -322,7 +321,6 @@ this decoder are:

- **Decode Type**: Which type of traffic is being captured in the
trigger signal? Might be USART or SPI data.

- **Trigger Data**: Which data are we searching for? This setting
should be a list of bytes to be detected in order. For example,
`['r', '0']` would detect the string "r0", and `[0x07]` would detect
Expand Down Expand Up @@ -364,7 +362,6 @@ The settings for the SAD module are:
128.
- **Set SAD Reference from Current Trace**: Sets the fixed 128 samples
to the current selection.

- **SAD Reference vs. Cursor**: Shows the current output of the SAD
calculation. Useful for setting the threshold - it's easy to capture
a number of traces and check what typical values are for this SAD
Expand Down Expand Up @@ -418,16 +415,13 @@ with the frequency counter.
**TODO: picture**

- **CLKGEN**: Current frequency of CLKGEN clock in kHz

- **Source**: Input to CLKGEN DCM. Could be system clock or EXTCLK

- **DCM**: Lock status of CLKGEN DCM
- **Reset DCM**: Reset the CLKGEN output. Useful if clock has
locked at the wrong frequency
- **ADC Clock**: Current ADC sampling rate in kHz
- **Source**: Input to ADC DCM. Could be related to CLKGEN or
EXTCLK

- **DCM**: Lock status of ADC DCM
- **Reset DCM**: Reset the ADC clock output
- **Frequency Counter**: Current frequency measured by the frequency
Expand All @@ -445,7 +439,6 @@ The routing screen shows the status of the various I/O pins.

- **Aux Output**: Status of the aux SMA connections. Could be used as
trigger input/output, glitch output, and/or clock output

- **IO Pins**: Status of each of the IO pins on the 20 pin connector.
Possible values depend on pin
- **Target Power State**: Status of the 3.3 V output. Can be toggled
Expand All @@ -464,28 +457,19 @@ the ADC capture settings.

- **Trigger Pins**: Whether each trigger input is enabled. Active
inputs are highlighted

- **Mode**: Trigger combination method. Could be AND, OR, or NAND


- **Trigger Source**: The trigger type in use. Active trigger module
is highlighted

- **State**: The current output level of the trigger module


- **Trigger Mode**: The ADC trigger type. Active mode is highlighted

- **Samples**:
- **Delay**: Current ADC offset. This is the number of samples to
wait after trigger before recording begins

- **Pre**: Number of pre-trigger samples to be saved
- **Time**: Delay, but converted into a time
- **Total**: Number of samples to be recorded in total
- **ADC gain**:
- **Mode**: Amplification type. Either low or high

- **Setting**: Low noise amplifier gain level

---
Expand All @@ -498,15 +482,10 @@ The glitch screen shows the current settings for the glitch module.

- **Clock Src**: Input to the glitch module's clock. Active clock is
highlighted

- **DCM**: Lock status of the glitch module's DCM


- **Glitch Setup**:

- **Width**: Duty cycle of glitch pulse, as a fraction of one
period

- **Fine**: Adjustment on width
- **Offset**: Distance between clock rising edge and glitch pulse
rising edge, as a fraction of one period
Expand All @@ -518,14 +497,12 @@ The glitch screen shows the current settings for the glitch module.
- **Trigger Setup**:
- **Trigger**: Cause a manual trigger. Has no effect unless
trigger source is set to Manual

- **Offset**: Number of cycles to wait before starting glitch
pulses
- **Repeat**: Number of consecutive pulses to generate
- **Output Status**
- **VCC**: Status of glitching MOSFETs. Shows warning sign if VCC
glitching is enabled

- **Cnt**: Total number of glitch pulses generated

## Errata
Expand Down
2 changes: 1 addition & 1 deletion docs/source/Capture/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ All differences between Husky and Husky Plus are summarized
| Glitch Width | **Based on Internal PLL (600-1200MHz)**, 100% (enable-only) | 0-49.8% of a clock cycle, 100% (enable-only) | 0-49.8% of a clock cycle, 100% | Time increments between [0, 2^32) |
| Glitch Width Increments | **Based on Internal PLL (600-1200MHz)** | 0.4% of a clock cycle | 0.4% of a clock cycle | ~8.3ns |
| Glitch Offset | **Based on Internal PLL (600-1200MHz)** | 0-49.8% of a clock cycle, 100% (enable-only) | 0-49.8% of a clock cycle, 100% | Time increments between [0, 2^32), high jitter |
| Glitch Offset Increments | **Based on Internal Pll (600-1200MHz)** | 0.4% of a clock cycle | 0.4% of a clock cycle | ~8.3ns, high jitter |
| Glitch Offset Increments | **Based on Internal PLL (600-1200MHz)** | 0.4% of a clock cycle | 0.4% of a clock cycle | ~8.3ns, high jitter |
| Glitch Cycle Offset | [0, 2^32) | [0, 2^32) | [0, 2^32) | N/A |
| Glitch Cycle Repeat | [0, 8192] | [0, 8192] | [0, 8192] | N/A |
| Voltage Glitch Type | High-power, low-power crowbar | High-power, low-power crowbar | High-power, low-power crowbar | Low-power crowbar |
Expand Down
6 changes: 3 additions & 3 deletions docs/source/ChipSHOUTER/ChipSHOUTER.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# CW520 ChipSHOUTER

The CW520 (ChipSHOUTER) is a fully-featured Electromagnetic Fault Injection platform that can be used to discover and characterize vulnerabilities in embedded systems. ChipSHOUTER makes EMFI available to test labs, engineering development firms, educators, and embedded enthusiasts. With a flexible API and bundled practice targets the system is a platform for experimentation and education right out of the box. Paired with an X-Y table and some basic python scripting the ChipSHOUTER becomes a fully automatable EMFI platform capable of precision testing and fault characterization.
The CW520 (ChipSHOUTER) is a fully-featured Electromagnetic Fault Injection platform that can be used to discover and characterize vulnerabilities in embedded systems. ChipSHOUTER makes EMFI available to test labs, engineering development firms, educators, and embedded enthusiasts. With a flexible API and bundled practice targets the system is a platform for experimentation and education right out of the box. Paired with an X-Y table and some basic python scripting the ChipSHOUTER becomes a fully automatable EMFI platform capable of precision testing and fault characterization.

![](Images/chipshouter.png)

Expand All @@ -14,7 +14,7 @@ https://chipshouter.readthedocs.io/en/latest/

The ChipSHOUTER generates large voltages and electromagnetic fields that can be hazardous to human health and
can cause nearby devices to malfunction. Carefully read the safety sections in the ChipSHOUTER manual, available
on the [ChipSHOUTER github](https://github.com/newaetech/ChipSHOUTER/raw/master/documentation/ChipSHOUTER%20User%20Manual.pdf) before use.
on the [ChipSHOUTER GitHub](https://github.com/newaetech/ChipSHOUTER/raw/master/documentation/ChipSHOUTER%20User%20Manual.pdf) before use.

## Product Highlights

Expand All @@ -36,7 +36,7 @@ with triggering mechanisms, such as oscilloscopes or the ChipWhisperer platform
|---------|--------------|
| Serial command interface | 3.3V CMOS Serial, 115200, 8N1 |
| Protocol | ASCII command prompt, Binary |
| Serial connection | RJ12 connector with GND, TX/RX, 3.3V output and switchable pulse/arm pin. |
| Serial connection | RJ12 connector with GND, TX/RX, 3.3V output and switchable pulse/arm pin |
| Hardware trigger connector type | SMB connector, center positive |
| Hardware trigger threshold | 2V |
| Hardware trigger absolute maximum ratings | -0.5V to 6.5V |
Expand Down
2 changes: 1 addition & 1 deletion docs/source/Serial Ports.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ This new serial port has a few advantages:

As well as a few disadvantages:

* Need to keep track of a serial port (`/dev/ttyACM*` or `COMX`) if not using pyserial
* Need to keep track of a serial port (`/dev/ttyACM*` or `COMX`) if not using PySerial
- Old versions of PySerial don't allow us to figure out the correct
serial port from the custom USB interface, meaning the serial port must also be input manually.
* USART settings can be changed by the serial client, which will mess up your communication
Expand Down
4 changes: 2 additions & 2 deletions docs/source/Starter Kits/ChipWhisperer-Husky.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,6 @@ also comes with multiple targets (a CW312T-ICE40 and a CW312T-SAM4S).
* 12" SMA-SMA cable x2
* 6" BNC-MCX cable x1
* 6" SMA-MCX cable x1
* USB-c cable
* USBC-A adapter
* USB-C cable
* USB-A adapter
* [CW308 to CW312 adapter/breakout board](../Targets/CW308_CW312_adapter) x3
12 changes: 6 additions & 6 deletions docs/source/Starter Kits/ChipWhisperer-Lite.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ChipWhisperer-Lite

The ChipWhisperer-Lite represents NewAE Technology Inc.s most aggressive pursuit of its mission to bring side-channel power analysis and glitching attacks to every engineer and student. The FULLY open-source (hardware, software,
The ChipWhisperer-Lite represents NewAE Technology Inc.'s most aggressive pursuit of it's mission to bring side-channel power analysis and glitching attacks to every engineer and student. The FULLY open-source (hardware, software,
firmware, FPGA code) is launching a revolution in hardware security. In particular, the ChipWhisperer-Lite
serves as a good middle ground between the full feature-set of the ChipWhisperer-Pro, and the affordability of
the ChipWhisperer-Nano.
Expand All @@ -17,17 +17,17 @@ The ChipWhisperer-Lite has a few available hardware options:

| ChipWhisperer-Lite Version | Target | Single Board | Also comes with | Purchase Link |
|---------------------------|-------------|----------|----|----|
| ChipWhisperer-Lite 1-Part | CW303 XMEGA | Yes | micro-usb cable | [Mouser](https://www.mouser.com/ProductDetail/NewAE/NAE-CW1173?qs=r5DSvlrkXmKKNcTDix800Q%3D%3D) |
| ChipWhisperer-Lite 32-bit 1-Part | CW303 Arm | Yes | micro-usb cable | [Mouser](https://www.mouser.com/ProductDetail/NewAE/NAE-CWLITE-ARM?qs=r5DSvlrkXmIUEZprO%2Fombw%3D%3D) |
| ChipWhisperer-Lite 2-Part | CW303 XMEGA | No | micro-usb cable, 20-pin cable, SMA cables | [Mouser](https://www.mouser.com/ProductDetail/NewAE/NAE-CW1173-2PART?qs=r5DSvlrkXmI%2FI%2FEYu37YCg%3D%3D) |
| ChipWhisperer-Lite Standalone | None | No | micro-usb cable, 20-pin cable, SMA cables | [Mouser](https://www.mouser.com/ProductDetail/NewAE/NAE-CWLITE-CAPTURE?qs=r5DSvlrkXmKUDG90PYjKIA%3D%3D) |
| ChipWhisperer-Lite 1-Part | CW303 XMEGA | Yes | Micro-USB cable | [Mouser](https://www.mouser.com/ProductDetail/NewAE/NAE-CW1173?qs=r5DSvlrkXmKKNcTDix800Q%3D%3D) |
| ChipWhisperer-Lite 32-bit 1-Part | CW303 Arm | Yes | Micro-USB cable | [Mouser](https://www.mouser.com/ProductDetail/NewAE/NAE-CWLITE-ARM?qs=r5DSvlrkXmIUEZprO%2Fombw%3D%3D) |
| ChipWhisperer-Lite 2-Part | CW303 XMEGA | No | Micro-USB cable, 20-pin cable, SMA cables | [Mouser](https://www.mouser.com/ProductDetail/NewAE/NAE-CW1173-2PART?qs=r5DSvlrkXmI%2FI%2FEYu37YCg%3D%3D) |
| ChipWhisperer-Lite Standalone | None | No | Micro-USB cable, 20-pin cable, SMA cables | [Mouser](https://www.mouser.com/ProductDetail/NewAE/NAE-CWLITE-CAPTURE?qs=r5DSvlrkXmKUDG90PYjKIA%3D%3D) |

## Turning a 1-Part into a 2-Part

Want to attack other targets with your 1-part board? Simply break the
target portion of the board off as described on the ChipWhisperer-Lite capture page,
solder a 20-pin connector on your capture board, and solder SMA connectors onto the
capture board's
capture board's.

## Hardware List

Expand Down
4 changes: 2 additions & 2 deletions docs/source/Starter Kits/ChipWhisperer-Pro.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# CW1200 ChipWhisperer-Pro Level 3 Starter Kit

The CW1200 (ChipWhisperer Pro) is an upgraded version of the
ChipWhisperer Lite capture hardware. The Pro includes an FPGA with much
The CW1200 (ChipWhisperer-Pro) is an upgraded version of the
ChipWhisperer-Lite capture hardware. The Pro includes an FPGA with much
more space than the Lite, allowing many new features to be added,
including a larger sample buffer, streaming-mode captures, additional
trigger methods, and a touchscreen interface. These features make it a
Expand Down
Loading