you@localhost:~$ telnet the-nounours-land-of.nounours.fr 22 Trying 151.12.401.5... Connected to the-nounours-land-of.nounours.fr
███████╗███╗ ██╗██╗ ██████╗ ███╗ ███╗ █████╗
██╔════╝████╗ ██║██║██╔════╝ ████╗ ████║██╔══██╗
█████╗ ██╔██╗ ██║██║██║ ███╗██╔████╔██║███████║
██╔══╝ ██║╚██╗██║██║██║ ██║██║╚██╔╝██║██╔══██║
███████╗██║ ╚████║██║╚██████╔╝██║ ╚═╝ ██║██║ ██║
╚══════╝╚═╝ ╚═══╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
Enigma
├── Decalages
│ ├── MoinsUn.ts
│ └── PlusUn.ts
├── Decryptage
│ └── Decryptage.ts
├── Encryptage
│ └── Encryptage.ts
├── Initialisation
│ ├── alphabet.ts
│ └── initialisation.ts
├── Main.ts
├── Rotors
│ ├── Rotor1.ts
│ ├── Rotor2.ts
│ ├── Rotor3.ts
│ ├── Rotor4.ts
│ ├── Rotor5.ts
│ └── Setup.ts
└── index.html
I started working on a TypeScript project aimed at recreating the Enigma machine, the famous encryption
device used during World War II. My goal was to build a functional digital simulation of the machine,
accurately replicating its rotors, plugboard, and encryption logic while leveraging TypeScript’s strong
typing and object-oriented capabilities for better code structure and maintainability.
The project involves implementing the complex mechanics of Enigma, including rotor stepping, letter
scrambling, and historical encryption methods, to provide an authentic experience of how the machine
operated. By using TypeScript, I aimed to ensure type safety and modularity, making the system both
scalable and easy to debug.
Although the project is not yet finished, it remains an exciting challenge that combines cryptography,
historical computing, and modern programming techniques. Once completed, it could serve as an
educational tool or a fun interactive way to explore the mechanics of classic encryption
systems.