Nathanael Mohanu

MSc Computer & Embedded Systems Engineering, TU Delft

open to internships in the Netherlands

About

I'm Nathan, an MSc student in Computer & Embedded Systems Engineering at TU Delft. I work close to the hardware: firmware for microcontrollers, FPGA prototypes, and side-channel analysis of cryptographic hardware. I'm looking for internships in the Netherlands in embedded systems, firmware, hardware security or software.

Education

TU Delft

Sep 2026 – present

Master of Science in Computer & Embedded Systems Engineering

Leiden University

Sep 2023 – Jul 2026

Bachelor of Science in Computer Science · GPA 7.9/10

Research

Bachelor thesis · Leiden Institute of Advanced Computer Science (LIACS), Leiden University · Grade 8/10

  • Captured 160,000 power traces from four crypto co-processors (two AES, Ascon, Xoodyak) on an FPGA prototype (CW305, ChipWhisperer Husky) with interleaved fixed-vs-random acquisition
  • Wrote custom C firmware for the Ibex controller core and Python pipelines for trace capture and for TVLA, SNR and CPA analysis
  • Showed significant leakage in all four co-processors (|t| up to 193 vs. a 4.5 threshold) and recovered the full AES-128 key from both AES cores via first-order CPA (roughly 2K–3K traces)

Projects

UART bootloader for STM32F4

Oct 2026 – present

Rust · no_std · STM32 · UART · Python

  • Wrote a slotted bootloader (under 16 KB) in no_std Rust for an STM32F411 (Cortex-M4) that validates an application's vector table, sets VTOR, and jumps to it
  • Designed a CRC-32 framed UART update protocol with a byte-at-a-time parser and offset-based retries; an update is accepted only if the CRC of the image stored in flash matches
  • Built a flash driver with sector guards that refuse writes to bootloader sectors, plus host-side unit tests for the CRC, parser and sector map

Pyke single-purpose high-speed perft engine

Jun 2024 – Jun 2025

C++ · BMI2 · AVX-512 · PGO

  • Built a specialized single-threaded perft engine tuned purely for throughput: 2.4 billion positions/s on perft(7) without hashing (1.3 s on a Ryzen 9 7900X), nearly 5x faster than Sunsnake
  • Removed runtime branching via templates specialized on side to move, depth and en passant, PEXT-indexed attack tables, precomputed pin/check masks, and AVX-512 setwise counting of slider and knight moves
  • Verified exact perft counts through depth 9 (2.4 trillion positions) and the perftcheck corpus (561,641 cases at depths 1–4, 140,410 at depth 5); tests run in CI

Sunsnake reusable chess move-generation library

Jul 2024 – Jul 2026

C++20 · CMake · BMI2 · PGO

  • Designed a C++20 CMake library with the core of a chess engine: legal move generation, make/unmake and incremental Zobrist hashing, so a search algorithm can build directly on it
  • Reached about 500 million positions/s on perft(7), a benchmark counting all legal move sequences to a fixed depth (3.2 billion in 6.4 s, Ryzen 9 7900X), using BMI2 PEXT/PDEP attack lookups and PGO, single-threaded
  • Verified exact perft counts through depth 8 and fuzz-tested against Stockfish on randomized games; perft checks and self-tests run in CI on every push

Experience

Exam trainer (mathematics & English) and homework supervisor

Mar 2023 – present

Lyceo · part-time · Netherlands

  • Teach exam preparation in mathematics and English and supervise homework for secondary-school students

Skills

Languages
Rust, C, C++, Python, Java
Embedded & hardware
ARM Cortex-M (STM32), RISC-V, FPGA (Artix-7), UART, ChipWhisperer
Security & analysis
Side-channel analysis (TVLA, SNR, CPA), power-trace capture
Developer tools
Git, CMake, Linux, Cargo, probe-rs

GitHub

Public repositories
13

Languages by code size, across my repositories

C++67.0%
Rust16.0%
Python7.8%
Java4.8%
Lua1.9%
Other2.5%

From the GitHub API, updated 24 Oct 2026.