La macchina Enigma, inventata da Arthur Scherbius nel 1918, è stata usata per cifrare e decifrare messaggi durante la seconda guerra mondiale. Questa guida mostra come se ne può costruire un semplice modello funzionante.
Posted by Lorenzo Armaroli | Posted on 13-12-2010-05-2008
Uno degli argomenti trattati nel nostro seminario “Elementi di Crittografia” e` la storia della macchina Enigma.
Per aiutare a capire meglio il funzionamento di questa macchina, ne abbiamo realizzato un modello funzionante da esporre durante il seminario, e in questa pagina mostreremo le varie fasi della realizzazione.
Innanzitutto bisogna dire che il modello da noi costruito ha delle limitazioni rispetto alla macchina ideata da Arthur Scherbius. Il modello infatti è privo di un meccanismo per la rotazione automatica dei rotori, che va in questo caso effettuata a mano dopo la pressione di ogni lettera.
Un’altra cosa da dire è che questo modello ha un’utilità puramente storico-didattica, e non è minimamente utile al fine di cifrare messaggi, in quanto la storia della crittografia ha dimostrato che la macchina Enigma si è rivelata un sistema di cifratura inefficace.
IMPORTANTE: per questo modello ho usato l’alfabeto italiano (21 lettere), che si è rivelato una PESSIMA scelta, perchè avendo un numero di lettere dispari, non è possibile collegarle tutte a coppie.
Io all’inizio non ci avevo pensato, e mi sono reso conto del problema solo dopo aver costruito tutto quanto (e non avevo voglia di rifare tutto da zero). Ho “risolto” il problema semplicemente non collegando una delle lettere, che quindi verrà sempre cifrata con sè stessa (perchè si accende solo la lettera premuta, e non anche quella corrispondente).
Ovviamente a chi vuole iniziare il progetto da zero conviene assolutamente scegliere l’alfabeto inglese, visto che è composto da un numero pari di lettere (26).
La prima fase della costruzione e` stata la realizzazione dei rotori, e per questo e` servito ritagliare sette dischi di legno:
Click sulle foto per ingrandire
Ogni rotore ha un contatto elettrico per ogni lettera dell’alfabeto, e questi contatti sono disposti su una circonferenza. Su una delle due facce dei rotori servono dei contatti elettrici piatti, e per realizzarli abbiamo usato dei chiodi da cartongesso (questo tipo di chiodo e` adatto essendo abbastanza corto, del diametro giusto per i buchi e con una testa molto larga e liscia in superficie):
Click sulle foto per ingrandire
Sull’altra faccia dei rotori, i contatti devono essere piu` elastici, per rimanere sempre a contatto con le teste dei chiodi viste sopra. A questo scopo, abbiamo pensato di usare dei comuni fermacampione, reperibili in cartoleria.
Inoltre, all’interno di ogni rotore, ogni fermacampione su un lato va collegato a un chiodo sull’altro lato in una posizione casuale.
Click sulle foto per ingrandire
Qui si puo` vedere completato il primo dei tre rotori:
Click sulle foto per ingrandire
Oltre ai rotori serve realizzare anche un riflettore, cioe` un disco che al contrario degli altri mette in comunicazione coppie casuali di contatti su un singolo lato, in modo da far ritornare indietro attraverso i rotori il segnale elettrico:
Click sulle foto per ingrandire
Ora si puo` passare alla realizzazione degli altri due rotori, costruiti nello stesso modo:
Click sulle foto per ingrandire
Ora bisogna realizzare la tastiera. Per ogni lettera servono due fori, uno per un led e uno per il pulsante corrispondente:
Click sulle foto per ingrandire
Dopo aver isolato il pin positivo dei led con della guaina possiamo infilare i led nei rispettivi fori (saldando in seguito insieme tutti i pin negativi dei led):
Click sulle foto per ingrandire
A questo punto si passa ai pulsanti, che vengono infilati nei fori solo dopo aver saldato tutti i fili corrispondenti:
Click sulle foto per ingrandire
A questo punto bisogna realizzare un ponte tra ogni pulsante e il led corrispondente, in questo caso fatto con dei pezzetti di filo elettrico che creano un contatto tra le coppie di led e pulsanti. Come risultato, ogni pulsante ora accende il led corrispondente:
Click sulle foto per ingrandire
La tastiera ora viene montata nella struttura della macchina, insieme a un vano pile per l’alimentazione dei led:
Click sulle foto per ingrandire
A questo punto siamo arrivati all’ultimo passaggio, saldare i fili della tastiera ai contatti dei rotori:
Click sulle foto per ingrandire
Ora la struttura e` completa, collegando due contatti dei rotori si dovrebbero accendere i due led corrispondenti.
In questa foto infatti possiamo vedere che collegando insieme tutti i contatti con un pezzo di filo di rame, e` sufficiente premere un solo pulsante per accendere tutti i led:
Click sulle foto per ingrandire
Ed ecco infine la macchina completata.
Dalle foto possiamo vedere che premendo un pulsante si accendono due led: quello della lettera premuta e quello della lettera cifrata corrispondente. Questo permette quindi di cifrare le lettere digitando il testo in chiaro, e decifrare le lettere digitando il testo cifrato.
Commenti
Lorenzo Armaroli ha scritto:
A causa della migrazione di questa pagina su altervista, ho modificato il sistema dei commenti all’articolo. Da ora in poi i commenti verranno pubblicati nello spazio qui sotto 🙂 . |
Lorenzo Armaroli ha scritto:
Dimenticavo di dire che il form da compilare per pubblicare un commento si trova in fondo alla pagina 🙂 . |
Lorenzo Armaroli ha scritto:
Scusate, mi sono accorto adesso che l’invio dei messaggi non funzionava più a causa di un aggiornamento di php nei server di altervista. Ho appena sistemato il problema, ora funziona di nuovo. |
Filippo ha scritto:
Ciao volevo chiederti una cosa. I vari rotori devo ruotare? in che senso devono ruotare dopo la pressione di ogni lettera?.Grazie |
Lorenzo Armaroli ha scritto:
Ciao, si i rotori devono ruotare di una posizione dopo la pressione di ogni lettera, in modo che la lettera successiva venga cifrata con una posizione differente dei rotori. Piu` precisamente, ogni rotore puo` ruotare in 21 posizioni(una per ogni lettera dell’alfabeto), e alla pressione di ogni lettera deve ruotare di un ventunesimo di giro completo, per passare alla posizione successiva. La rotazione dei rotori nella Macchina Enigma originale era automatica (i rotori ruotavano automaticamente premendo le lettere sulla tastiera), mentre nel modellino che ho realizzato io va eseguita girando i rotori a mano dopo la pressione di ogni lettera. |
Filippo ha scritto:
Grazie mille della risposta. Poi riusciresti a spiegarmi come si fanno i collegamenti perchè non li ho capiti molto bene e i pulsanti devono essere normalmente chiusi o aperti?. Grazie |
Lorenzo Armaroli ha scritto:
Di niente 🙂 I collegamenti all’interno dei rotori invece li ho fatti in modo casuale: ho collegato ogni fermacampione da un lato con un chiodo scelto casualmente dall’altro lato. (ovviamente la scelta dei collegamenti dei rotori deve essere uguale per tutte le macchine che vorrai realizzare, altrimenti una macchina non sara` in grado di decifrare i messaggi di un’altra macchina). Altra cosa importante e` che (come ho scritto nella descrizione) io ho scelto l’alfabeto italiano (21 lettere), ma e` stato un errore, perche` serve un alfabeto con un numero pari di lettere per poterle collegare a coppie, quindi ti converra` scegliere l’afabeto inglese (26 lettere). |
Filippo ha scritto:
ciao come hai fatto la batteria? grazie |
Lorenzo ha scritto:
Per le pile ho utilizzato un vano per due pile AA recuperato da un coso ikea (una specie di stringa luminosa da albero di natale) che avevo in casa inutilizzato: |
Filippo ha scritto:
ciao ho terminato la costruzione della macchina. A te funzionano tutte le luci? a me qualcuna non si accende, sarà colpa dei collegamenti. ciao |
Lorenzo ha scritto:
Ciao, si anche a me ogni tanto succede che alcuni percorsi nei rotori non facciano contatto.. la colpa nel mio caso è dei fermacampioni che non riescono a toccare bene le teste dei chiodi in alcune posizioni. Io di solito risolvo stringendo di più la vite a farfalla (ma mai troppo), oppure piegando un po’ meno i fermacampioni. |
Filippo ha scritto:
ciao ecco le foto della macchina, è ancora in costruzione perchè devo collegare la tastiera al supporto e cercare di far andare tutti i led. |
Lorenzo ha scritto:
Complimenti, bel lavoro! 🙂 PS: ho inserito il link alla galleria nel tuo messaggio, cosi` ora e` cliccabile. |
Filippo ha scritto:
grazie, merito della tua guida. ciao |
LUISA ha scritto:
Approssimativamente quanto costa riprodurre una macchina enigma ? parlando solo del materiale utilizzato |
Lorenzo ha scritto:
Come materiale io ho speso abbastanza poco, una decina di euro per le assi di legno e i chiodi e una ventina di euro per il materiale elettrico 🙂 |
luisa ha scritto:
salve 🙂 |
Lorenzo ha scritto:
Ciao, figurati 🙂
Per il problema delle lettere che ogni tanto non si accendono, purtroppo con i materiali che ho utilizzato non credo che sia possibile ottenere uno strumento più affidabile. Personalmente non mi è venuta in mente un’idea migliore su come realizzare i contatti con materiali facilmente reperibili, quindi anche potendo tornare indietro, non saprei un modo alternativo per realizzarli (se doveste avere un’idea migliore per realizzare i contatti, fatecelo sapere! 🙂 ). PS: dimenticavo, i miei rotori hanno un diametro di 12 cm, ma contengono solo 21 contatti. Per realizzare rotori da 26 contatti probabilmente bisogna aumentare un po’ il diametro (penso che 15 cm siano sufficienti). |
Luisa ha scritto:
Grazie mille per la disponibilità! |
PEr piacere potresti inviarmi al mio indirizzo di posta la spiegazione completa e dettagliata di quello che hai fatto?
Io sono uno studente del 5° anno e vorrei portare all’esame un progetto come questo puoi aiutarmi per piacerE?
Ciao, in realtà non è che ci sia da dire molto di più di quello che ho scritto nell’articolo, bene o male tutto ciò che ho fatto è lì.
In ogni caso posso disegnarti lo schema elettrico da utilizzare per ogni bottone, te lo invio sulla mail!
Ciao! Anche a me piacerebbe costruirla potresti per favore mandare anche a me lo schema elettrico per favore?
Ciao! Ho pubblicato l’immagine dello schema, così chi la vuole può scaricarla direttamente da qua
Ecco il link dello schema:
https://www.lonherz.com/ lsbox/img/imgenigma/ 2010/12/schemaelettricoenigma.png
Se servono altri chiarimenti fatemi sapere!
Grazie 1000!! Ti riscriverò al più presto per eventuali domande!!!
stavo pensando a come far girare i rotori da soli. Hai qualche consiglio da darmi?
purtroppo per far girare i rotori da soli servono delle meccaniche di precisione, e la struttura che ho fatto io con materiali improvvisati non va più bene…
andrebbe riprogettata da capo e le parti meccaniche andrebbero fatte con tutt’altra precisione :S
hum si ci ho pensato pure io, ma l’importante è far vedere come passa la corrente e far vedere il circuito… e poi verrebbe un lavoro enorme…. io la farò più o meno uguale alla tua. la parte meccanica nel mio caso non è molto importante…. XD Grazie di tutto
Di niente!
Sono una docente di matematica del liceo Dini di Pisa ed ho attivato a livello extracurriculare un laboratorio sulla crittografia. Mi interessava riprodurre con il tecnico di laboratorio il vostro modello di Enigma. A tal proposito è possibile avere quache misura , ad esempio sulla parte in legno realizzata? I dischetti di legno che diametro hanno? Ci sono altre misure che è possibile conoscere e che attraverso le foto non si desumono?
Grazie mille per l’attenzione
C. Lardicci
Buongiorno,
al momento non ho la macchina sottomano quindi non posso dare misure esatte, però intanto posso dire che non è necessario rispettare le esatte proporzioni del modellino (io ad esempio le misure me le sono inventate sul momento).
In ogni caso andando a memoria direi che il diametro dei dischi è di circa 12 cm, e tutto il modellino è grande circa 25x30x15 cm (larghezza x altezza x profondità)
Una cosa importante da considerare è che consiglio caldamente di utilizzare l’alfabeto inglese da 26 lettere invece di quello italiano, perché è importantissimo che il numero di lettere sia pari.
Passando però da 21 a 26 lettere chiaramente bisogna aumentare un po’ le dimensioni se si utilizzano gli stessi materiali che ho usato io, quindi consiglierei di aggiungere 3-5 cm a tutte le misure che ho specificato.
In ogni caso, se dovessero servire misure più precise, una volta a casa le prenderò direttamente dal mio modello e le pubblicherò qua .
Grazie mille, intanto noi proviamo a procedere. Se ci fossero intoppi, le darò di nuovo fastidio.
C. Lardicci
Di niente, se ci fossero problemi mi faccia sapere
Lorenzo
Salve vorrei chiederle se fosse possibile acquistare una macchina gia realizzata, ovviamente pagandola..
Mi dica lei un prezzo..
Arrivederci
Buongiorno,
ho pensato un po’ alla sua richiesta, ma volendo essere onesto non credo che sarebbe un buon acquisto..
Le spiego meglio: come quantita` di lavoro la costruzione di una macchina come quella che ho gia` fatto mi richiederebbe almeno 3 settimane di lavoro a tempo pieno, quindi a meno di 1000 € non la potrei vendere.
Al tempo stesso pero` la qualita` costruttiva del mio modellino e` molto amatoriale, e presenta dei difetti (ad esempio i contatti tra i rotori non fanno sempre contatto, con il risultato che la lettera cifrata corrente non si illumina), oltre a ovvi limiti tecnici (i rotori vanno ruotati a mano a ogni lettera premuta, e se ci si sbaglia a ruotarli si ottiene il risultato detto prima, cioe` i contatti non si toccano correttamente e le lettere cifrate non si illuminano).
Mi dispiace essere scoraggiante, ma per onesta` e` giusto che prenda una decisione conoscendo bene le caratteristiche del mio modellino, che ho fatto piu` come oggetto dimostrativo che come macchina per un reale utilizzo.
Se nonostante queste considerazioni le interessa ancora mi faccia sapere.
Arrivederci,
Lorenzo