← Tutti i video
Macchina Enigma in C
Descrizione
La macchina Enigma è oramai passata alla storia per via del suo utilizzo durante la seconda guerra mondiale da parte dell'Asse formato da Germania, Italia e Giappone. L'esercito tedesco in particolare ha utilizzato Enigma fin dall'inizio della guerra per proteggere le proprie comunicazioni. A loro insaputa però, prima i polacchi, tra cui ricordiamo Marian Rejewski, Henryk Zygalski e Jerzy Rozicki, e successivamente, gli Alleati di Bletchley Park, tra cui ricordiamo Alan Turing, Gordon Welchman, John Jeffreys e Dilly Knox, riuscirono a trovare dei meccanismi che, in determinati casi, permettevano di scoprire lo stato interno di Enigma e dunque di decifrare i messaggi e leggere le comunicazioni dei tedeschi.
In questo video mostro come implementare il funzionamento logico della macchina Enigma tramite il linguaggio di programmazione C.
------------------------------------
MATERIALE ORIGINALE:
- Gitea: https://git.leonardotamiano.xyz/leo/enigma-machine
- Github: https://github.com/LeonardoE95/enigma-machine
------------------------------------
RIFERIMENTI ESTERNI:
- Movimento: https://www.youtube.com/watch?v=ds8HoowfewA
- Double Step 1: https://www.youtube.com/watch?v=5StZlF-clPc
- Double Step 2: https://www.youtube.com/watch?v=hcVhQeZ5gI4
- Wirings: https://www.cryptomuseum.com/crypto/enigma/wiring.htm
------------------------------------
TIMESTAMPS:
00:00:00 Introduzione
00:08:15 Creazione Makefile
00:10:46 Descrizione di Enigma
00:24:00 Header-only library
00:29:52 Strutture dati principali
00:41:30 Funzioni principali
00:45:27 API principale – enigma_encrypt()
00:47:40 Loop principale – apply_enigma()
00:58:03 Riflettore – apply_reflector()
01:00:00 Plugboard – apply_plugboard()
01:05:40 Rotori – apply_rotors()
01:08:05 Rotore – apply_rotor()
01:12:04 Movimento – move_rotors()
01:21:33 Funzioni per inizializzare la memoria
01:23:35 init_enigma()
01:26:04 Riflettore – init_reflector()
01:29:15 init_wiring()
01:29:50 reverse_wiring()
01:32:20 Rotore – init_rotor()
01:35:20 Esempio – simple.c
01:41:30 Conclusione
------------------------------------
PER CONTATTI:
- Website: https://leonardotamiano.xyz
- Academy: https://academy.leonardotamiano.xyz
- Email: leo95.yt@gmail.com
Commenti 5
I commenti vengono da YouTube e sono aggiornati periodicamente.
1 risposta