Skip to the content
2 layers38 × 33 mmVictim, the printed circuit board in 3D
Size
38 × 33 mm
Copper layers
2
Thickness
1.6 mm
Parts
16
Nets
51
Pads
114
Tracks, vias
0, 0
Routed
Not yet
KiCad
KiCad 8.0 (file 20240108)
Created
19 Jun 2025
Updated
19 Jun 2025

Overview

Victim is an open-source printed circuit board by ronitghai, from the ronitghai/Fault-Injection-on-AES-Cryptographic-Hardware-Attack repository on GitHub. It is a 2-layer board of 38 × 33 mm with 16 parts on 51 nets.

It is built around the ATMEGA328P-PU and FT232RL. Its parts include 5 resistors, 4 connectors, 3 diodes, 2 capacitors and 2 ICs. It belongs with the AVR (ATmega, ATtiny) and FPGA and CPLD boards of this library.

Main components

2

README

README.md

Fault Injection on AES: Cryptographic Hardware Attack

Overview

This project focused on exploiting vulnerabilities in AES encryption by inducing faults into embedded firmware running on an ATMega328P microcontroller and analyzing resulting data to recover the cipher key.

Tech Stack

  • Firmware: C/C++ on Arduino IDE
  • Microcontroller: ATMega328P
  • Hardware Tools: RP2040 (for fault injection), Zynq-7000 FPGA (initial testing)
  • Analysis: Python (differential analysis)

Key Features

  • Implemented custom AES encryption in C on the victim MCU.
  • Designed fault injection mechanism to corrupt encryption rounds.
  • Collected and analyzed 1500 ciphertexts to extract partial cipher key.
  • Used Python for statistical correlation and trace analysis.

Development Summary

  • Wrote both victim and attacker firmware in C.
  • Designed fault injection testbed using GPIO-triggered timing delays.
  • Switched to RP2040 for more precise glitching after testing with Zynq FPGA.
  • Performed statistical analysis to reverse-engineer AES keys using Python scripts.

Parts

16
QtyValueFootprintReferences
31kΩResistor_SMD:R_0805_2012MetricR3, R4, R5
3LED_SmallLED_SMD:LED_0805_2012MetricD1, D2, D3
25.1kΩResistor_SMD:R_0805_2012MetricR1, R2
10.1uFCapacitor_SMD:C_0805_2012MetricC1
110uFCapacitor_SMD:C_0805_2012MetricC2
1ATmega328P-PPackage_DIP:DIP-28_W7.62mmU1
1FPGAConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ3
1FT232RLPackage_SO:SSOP-28_5.3x10.2mm_P0.65mmU3
1ISP HeaderConnector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_VerticalJ1
1UARTConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ2
1USB 2.0Connector_USB:USB_C_Receptacle_G-Switch_GT-USB-7010ASVJ4

Similar boards

  • 2 layers68.8 × 53.6 mmZArduino, the printed circuit board in 3D

    ZArduino

    zmaker/arduino_cookbook

    gli sketch del nuovo progetto Arduino Cookbook e dei video di YouTube

    46 parts269
  • 2 layers83 × 72 mmLivello serbatoio definitiva, the printed circuit board in 3D

    Livello serbatoio definitiva

    giorossi91/livello_serbatoio

    This project realizes a simple device to monitor the water level in a tank.

    44 parts2GPL-3.0
  • 2 layers78.7 × 99.1 mmHBTU REV 2, the printed circuit board in 3D

    HBTU REV 2

    Prsh0502/HBTU_PCBContest_2026

    54 parts
  • 2 layers48.3 × 59.7 mmArduino, the printed circuit board in 3D

    Arduino

    Randyansah/PCB

    Config files for my GitHub profile.

    40 parts
  • 2 layers60 × 60 mmFan controller, the printed circuit board in 3D

    Fan controller

    ferrybig/70w-fan-controller

    A PlatformIO project for Arduino Uno that implements an intelligent fan controller with sensor monitoring, real-time clock, and OLED display.

    51 parts
  • 2 layers80.1 × 56.9 mmKwp1281tool, the printed circuit board in 3D

    Kwp1281tool

    mnaberez/vwradio

    Reverse engineering Volkswagen car radios

    33 parts133BSD-3-Clause
  • 2 layers45 × 69 mmUsbavrfloppy, the printed circuit board in 3D

    Usbavrfloppy

    jtsiomb/usbamigafloppy

    USB floppy controller for Amiga disks

    25 parts69CC-BY-SA-4.0
  • 2 layers100 × 71.8 mmBrutzelkarte, the printed circuit board in 3D

    Brutzelkarte

    jago85/Brutzelkarte_PCB

    Brutzelkarte - N64 Flash Cart PCB (KiCad)

    106 parts67GPL-3.0

Questions

How big is the Victim PCB?

It measures 38 × 33 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Victim use?

16 parts, built around the ATMEGA328P-PU and FT232RL. 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.

Where can I download the Victim KiCad files?

From the ronitghai/Fault-Injection-on-AES-Cryptographic-Hardware-Attack repository on GitHub, at the commit this page was made from: the board is victim/hardware/hardware.kicad_pcb and its schematic victim/hardware/hardware.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Victim design in my own project?

Its repository states no licence, so its author keeps all rights: ask ronitghai before reusing the design.