
H field probe 1x3mm
Jameswill-Winsock/Tempest
An FPGA based implementation to demonstrate side-channel attacks on modern cryptography algorithms such as AES, RSA, ML-KEM etc.

An FPGA based implementation to demonstrate side-channel attacks on modern cryptography algorithms such as AES, RSA, ML-KEM etc.
Primercarrier is an open-source printed circuit board by Jameswill-Winsock, from the Jameswill-Winsock/Tempest repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 93.2 × 57.7 mm with 24 parts on 155 nets, routed with 4,129 tracks and 140 vias.
It is built around the XC6206P152MR. Its parts include 6 capacitors, 6 resistors, 6 connectors, 4 switches and 1 IC.
if you are here looking for review, firmware, gerber and pcb have been updated. Step models have been added. Firmware is a fork of the SIPEED RV Debugger Plus, ported from the BL507 to the RP2040. All pcb files and gerbers have been uploaded for the carrier board for the primer. All pcbs are done.
latest readme for progress on the attack target available here.
Early build. Built for Stardance @ Hack Club.
Demo video. Give me a while. Renesas Go Configure is quite the software, and the place-and-route tool keeps blowing up violently in my face.
Tempest is an open hardware electromagnetic side-channel analysis platform built around a collection of custom-designed PCBs, analog front-end hardware, FPGA development boards, and open-source software for evaluating cryptographic implementations.
Or, in simpler English:
Every chip leaks tiny electromagnetic signals while it's running. Those signals aren't supposed to contain useful information... but sometimes they do. Tempest tries to measure those leaks and figure out whether they reveal anything about the cryptographic algorithm running inside.
The project is built around Shrike-Lite, my ML-KEM (Kyber) hardware accelerator running on a hilariously tiny Renesas SLG47910 FPGA. Shrike answers one question: "Can modern post-quantum cryptography fit on ridiculously small hardware?"
Tempest answers the obvious follow-up: "Cool. Now how badly does it leak?
".
Rather than buying a commercial side-channel lab, the goal is to design as much of the measurement hardware as possible from scratch so anyone can build the same setup themselves.
Power analysis is the classic approach. The problem is... it usually means taking a knife to your PCB. You know, cut traces, insert shunt resistors, resolder stuff. That's perfectly fine on a $2 dev board. I ain't sure as hell doing allat to a motherboard I actually want to keep using afterwards. EM analysis measures the exact same switching currents, except instead of touching the power rail, you simply hold a small magnetic loop probe near the chip and measure the field it radiates. It's completely non-invasive, portable, and lets me move between different targets without modifying the hardware.
Tempest is really two projects that work together.
Shrike
(Resource-constrained ML-KEM accelerator)
↓
Produces real electromagnetic leakage
↓
Tempest
(Open hardware instrumentation platform)
↓
Measures leakage
↓
Correlation analysis
↓
Can we recover useful information?The long-term hardware stack looks like this:
Target FPGA / TPM
│
▼
Shielded EM Probe
│
▼
Active Probe + LNA
│
▼
Filter / Analog Front-End
│
▼
Capture Hardware
│
▼
Python Analysis Pipeline| Hardware | Status |
|---|---|
| Shrike-Lite ML-KEM Accelerator | Complete (bitstream generation pending) |
| Tang Primer 20K Carrier Board | Complete |
| Shielded PCB EM Probe | Complete |
| Probe Calibration Board | Complete |
Unlike the initial revision of this project, Tempest now focuses on designing the measurement hardware itself rather than simply integrating commercial equipment. Current hardware work includes:
| Item | Est. Price (USD) | Source | Why |
|---|---|---|---|
| Tang Nano 20k | $40 | Robu | Main FPGA for ADC, SDR, trigger generation, timing/synchronization, counters, buffering/FIFOs, and control logic |
| Tang Primer 20K Carrier PCB | ~$20 | Self-designed | Carrier for the Primer module (I already own the core board) |
| Passive Probe PCB | ~$15 | Self-designed | Shielded PCB H-field probe, source IEC 61967-6 |
| Probe Calibration PCB | ~$15 | Self-designed | Repeatable EM reference source, source IEC 61967-6 Appendix A |
| SPF5189Z RF Low Noise Amplifier | $15 | REE52 | To boost passive probe signal |
| SMA Connectors, RG178, Adapters, Attenuators | $30–60 | Pasternack, Amphenol, Mini-Circuits | RF interconnects |
| PCB fabrication & assembly | ~$50 | JLCPCB | Manufacturing the custom boards |
Grand total: approx 215$ (down from last times 400$ yipee) The oscilloscope, precision positioning stage, and laboratory power supply have been removed from the grant request. The initial revision of Tempest is designed to be developed using low-cost hardware and custom-designed PCBs, with higher-end laboratory equipment treated as optional future upgrades rather than project requirements. BOM Revision 2: The Tang Mega 138K, Thorlabs positioning equipment, and benchtop power supply have been removed due to cost. They have been replaced with lower-cost alternatives where necessary. A second, lower-cost FPGA is still required for SDR, ADC, high-speed deterministic logic, trigger generation, timing/synchronization, buffering, and real-time control, which cannot be reliably handled by the host computer or RTL-SDR alone. BOM Revision 3: More stuff removed, I have discovered that I can offload a lot more stuff to the FPGA like ADC and SDR onto it via a research paper and other stuff as well. Cost has been bought down. Final cost is around approx 230$.
rtl: Shrike-Lite accelerator, Future hardware targets
hardware: KiCad projects, Carrier board, Probe board
analysis: Capture software, CPA/CEMA pipeline
docs: Research notes, Measurements, Design reviews
Most public EM side-channel work either targets toy AES implementations or uses lab-grade near-field scanning rigs that cost tens of thousands of dollars. There's a real gap in documented, reproducible, low-cost EM side-channel analysis against post-quantum crypto specifically; ML-KEM side-channel resistance is an active research area (and a pretty hot one too - there's a hell lot of researchers taking a crack at it) and having a from-scratch hardware+software stack to poke at it is worth more to me than a paper result I can't independently reproduce.
If it works, you'll be able to:
Besides... The math behind modern cryptography is ridiculously strong. Turns out the easiest way to break it is often just listening to the chip while it does the math. It's cool, isn't it? The math can't be cracked, but we sure as hell can crack the data anyways because of bad engineering decisions. :)
GNU GPLv3
| Qty | Value | Footprint | References |
|---|---|---|---|
| 6 | 10K | Resistor_SMD:R_0402_1005Metric | R1, R2, R3, R4, R5, R6 |
| 4 | 100nF | Capacitor_SMD:C_0402_1005Metric | C1, C3, C4, C9 |
| 4 | Conn_02x06_Odd_Even | Connector_PinHeader_2.54mm:PinHeader_2x06_P2.54mm_Vertical | J2, J4, J5, J6 |
| 2 | 22uF | Capacitor_SMD:C_0603_1608Metric | C2, C8 |
| 2 | Conn_02x20_Odd_Even | Connector_PinHeader_2.54mm:PinHeader_2x20_P2.54mm_Vertical | J1, J3 |
| 2 | SW_Push | Button_Switch_SMD:SW_SPST_TL3342 | SW1, SW2 |
| 2 | SW_Push_SPDT | Button_Switch_THT:SW_Push_1P2T_Vertical_E-Switch_800UDP8P1A1M6 | SW3, SW4 |
| 1 | 2-2013289-1 | sodimm:SODIMM-204 | SLOT1 |
| 1 | XC6206P152MR | Package_TO_SOT_SMD:SOT-23-3 | U1 |

Jameswill-Winsock/Tempest
An FPGA based implementation to demonstrate side-channel attacks on modern cryptography algorithms such as AES, RSA, ML-KEM etc.

Jameswill-Winsock/Tempest
An FPGA based implementation to demonstrate side-channel attacks on modern cryptography algorithms such as AES, RSA, ML-KEM etc.

CameraNexus/sitina1
Open-source 35mm full-frame (36mm x 24mm) CCD mirror-less interchangable lens camera (MILC). The original goal of this project was to create a digital camera back to convert SLR cameras to DSLR cameras, but has since…


RWeick/REF2160-DSi-Action-Replay
Full schematic, PCB Gerbers for the DSi Action Replay, and the rom

dotnet/iot
This repo includes .NET Core implementations for various IoT boards, chips, displays and PCBs.

pascallanger/DIY-Multiprotocol-TX-Module
Multiprotocol TX Module (or MULTI-Module) is a 2.4GHz transmitter module which controls many different receivers and models.


rusefi/rusefi
rusefi - GPL internal combustion engine control unit

DraftShift/StealthChanger
Tool changing system for Vorons and other front mount printer motion systems, not just stealthburner.
It measures 93.2 × 57.7 mm and has 2 copper layers, 1.6 mm thick.
24 parts, built around the XC6206P152MR. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the Jameswill-Winsock/Tempest repository on GitHub, at the commit this page was made from: the board is pcb/primer 20k carrier/primercarrier.kicad_pcb and its schematic pcb/h field probe/h_field_probe_1x3mm.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).