Hi, and welcome to this video!
This is the first video of a small series of videos in which I will show how to implement the enigma machine using the C programming language.
The Enigma Machine is an electro-mechanical device that implements an extremely complex substitution cipher. That is, it works by using electricity, but it also has parts that move mechanically. This machine was used by the forces of the Axis during the Second World War in order to protect their communications.
Given that the machine has many different parts, I've decided to split this project into three different videos. In the first one I will give an overview of the machine and I will explain in depth the internals of the machine. In the second video we will implement the core library, and in the third and final video we will implement a simple CLI that will allow us to interface with our enigma machine.
I hope you find the video interesting, and if you have some feedback, please leave it in the comments down below!
-------------------------
TIMESTAMP
00:00 Introduction
05:15 How to use Enigma
11:30 Substitution Ciphers
22:20 Enigma Internals
34:22 Plugboard
38:32 Reflector
42:11 Rotor
49:30 Double Step
53:22 Conclusion
-------------------------
REFERENCES
- Material: https://github.com/LeonardoE95/yt-en/tree/main/src/2024-02-10-from-scratch-enigma-overview
- Code: https://github.com/LeonardoE95/enigma-machine
- Blog post: https://blog.leonardotamiano.xyz/tech/enigma-machine-c/
- Enigma Historical Configuration: https://www.cryptomuseum.com/crypto/enigma/
- Double Step Mechanism: https://www.youtube.com/watch?v=hcVhQeZ5gI4
-------------------------
CONTACTS
- Technical blog: https://blog.leonardotamiano.xyz/
- Github: https://github.com/LeonardoE95?tab=repositories
- Support my work: https://www.paypal.com/donate/?hosted_button_id=T49GUPRXALYTQ