~/talk

Demystifying the Enigma Machine - a Functional Journey

Talkat NDC Copenhagen 2025 · 2025-09-08..09-12· [security]
links:none on file
slides:none on file

Explains a working Enigma simulator implemented in F#, mapping plugboard, three rotors and reflector to a pipeline of F# functions char->char with machine state threaded immutably and rotated on each keypress, reproducing the reflector symmetry and 159 quintillion theoretical keys; includes a React front end transpiled from F#, a brute force “bombe” that checks millions of configs in ~20 seconds for short cribs, and a test suite using unit tests and property-based testing (FSCheck) against real WWII messages.

AI-written summary · about

  1. 0:00Introduction
  2. 2:11Enigma machine overview
  3. 8:36Bletchley Park role
  4. 13:52How Enigma worked
  5. 17:48Live Enigma demo
  6. 18:08Allies breaking Enigma
  7. 27:05F# and functional intro
  8. 32:05Why F# for Enigma
  9. 38:02Enigma code walkthrough
  10. 44:07Testing Enigma strategies
  11. 50:28Enigma’s lost legacy
  12. 53:20Modern security lessons and functional programming takeaways
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.