Breaking Enigma With the Power of Modern C++
summary
Recreates an Enigma cracker that runs in C++ using C++20 compile-time tables and constexpr code generation, 16+ core parallel_for on a 2020s CPU, and tight micro-optimizations (replace modulo with table lookups). Targets the U‑534 U‑boat message and uses a crib-based heuristic plus hill-climbing for plugboard recovery to reduce 10^27 space to seconds—on a 20‑core test machine it narrows candidates and finds rotor order, ring settings and message key in under a minute. Pure ciphertext‑only attack is not achieved.
AI-written summary · about
chapters (15)
- 0:00Introduction to Enigma
- 2:05Speaker introduction
- 5:01Warfare and radio
- 8:19How Enigma works
- 13:06Machine refinements
- 18:21Cracking the code
- 24:28Modern cracking attempts
- 28:02Brute force and code optimization
- 39:09Breaking the plug board
- 43:23Results and reflections
- 44:49Advanced cracking techniques
- 54:12Implementing algorithms
- 1:01:08Index of coincidence
- 1:07:15Modern C++ and security
- 1:10:58History of Marian Rejewski
related talks
41mC++11 Metaprogramming Applied to Software Obfuscation
37mBehind Enemy Lines - Reverse Engineering C++ in Modern Ages
01h 24mOptimising a small real-world C++ application
59mTeaching an Old Dog New Tricks - A Tale of Two Emulators
05mEsolangs
39mSecure Cache Designs: State of the Art and ...
01h 07mEmploying Modern C++ for High Performance Delta-Coding Compression
35mAlgorithmic and microarchitecture optimizations of C++ applications
