La Macchina Cifrante Enigma



Похожие документы
lo PERSONALIZZARE LA FINESTRA DI WORD 2000

Il programma CONFELMOD CAD creazione e modifica

istruzioni per l uso

Soluzione dell esercizio del 2 Febbraio 2004

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

WORD (livello avanzato): Struttura di un Documento Complesso. Struttura di un Documento Complesso

[Dimensionare la pagina-creare le tabelle-formattare le tabelle-formattare la pagina

MOCA. Modulo Candidatura. [Manuale versione 1.0 marzo 2013]

COME SVILUPPARE LA TRASMISSIONE DELLA PALLA NELLA CATEGORIA PICCOLI AMICI (5-8 ANNI)? ECCO LA SOLUZIONE A

Tutorial 3DRoom. 3DRoom

Manuale Utente Albo Pretorio GA

INTRODUZIONE I CICLI DI BORSA

Il tutor è a disposizione per ogni chiarimento

Il controllo della visualizzazione

Appunti sulla Macchina di Turing. Macchina di Turing

9. Urti e conservazione della quantità di moto.

9 tecniche di selezione testi formattazione, copiare e incollare testi

Express Import system

EasyPrint v4.15. Gadget e calendari. Manuale Utente

Traduzione e adattamento a cura di Gylas per Giochi Rari Versione 1.0 Luglio giochirari@giochirari.

Istruzioni operative instal azione FirmaVerifica3.0 Pag.1 di 27

Olga Scotti. Basi di Informatica. File e cartelle

Aprire, preparare un documento da utilizzare come documento principale per una stampa unione.

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1

FPf per Windows 3.1. Guida all uso

Guida. Macchina Scratch

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

Registratori di Cassa

Uso di base delle funzioni in Microsoft Excel

WoWords. Guida all uso: creare ed utilizzare le frasi. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords.

RECUPERO DATI LIFO DA ARCHIVI ESTERNI

2.0 Gli archivi. 2.1 Inserire gli archivi. 2.2 Archivio Clienti, Fornitori, Materiali, Noleggi ed Altri Costi. Impresa Edile Guida all uso

TNT IV. Il Diavolo è meno brutto di come ce lo dipingono!!! (Guarda il video)

Manuale Utente Amministrazione Trasparente GA

PORTALE CLIENTI Manuale utente

Come modificare la propria Home Page e gli elementi correlati

Guida all uso di Java Diagrammi ER

UNA LEZIONE SUI NUMERI PRIMI: NASCE LA RITABELLA

1 tabellone di gioco 4 set di carte (4 colori diversi, numerati da 1 a 20) 8 cani (2 di ogni colore) 1 blocco di fogli di scommessa Soldi Regolamento

NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT.

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte.

EASYMEAL: PARTE OPERATIVA

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database

Manuale Utente SCELTA REVOCA MEDICO ON LINE. Versione 1.0.0

GUIDA ALL UTILIZZO DI MF QUICKEN

GUIDA UTENTE PRIMA NOTA SEMPLICE

Biblioteca di Cervia NOZIONI BASE DI INFORMATICA

SISTEMI MULTIAGENTE. Esercizio

FH-SY capitolo Versione 3 - FH-SY.NET - FAQ -

Giornale e mastro Appunti di contabilità Giornale e Mastro. Luca Dossena - Docente

Sweet home 3D e un software gratuito per disegnare ed arredare la casa.

Istruzioni per la configurazione di IziOzi

Guida alla configurazione della posta elettronica dell Ateneo di Ferrara sui più comuni programmi di posta

POSTA ELETTRONICA CERTIFICATA

MANUALE PARCELLA FACILE PLUS INDICE

finestra di manager di progetto o di struttura di progetto FIG.1

PROCEDURE DI FIRMA PER I PIP PRESENTATI NEI BANDI APPRENDISTATO

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1

LA MOLTIPLICAZIONE IN CLASSE SECONDA

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio

Corso base di informatica

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Progetto Istanze On Line

Analisi e diagramma di Pareto

Gestione dei file e delle cartelle

PRINCIPI DI TRASDUZIONE

Traduzione e adattamento a cura di Gylas per Giochi Rari

Il calendario di Windows Vista

PROCEDURA DI TESSERAMENTO

Manuale Veloce Farmacia

Guida alla compilazione delle schede di valutazione

Analisi di programmi: Crittografia

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Dimensione di uno Spazio vettoriale

Sistema Informativo Gestione Fidelizzazione Clienti MANUALE D USO

Word prima lezione. Prof. Raffaele Palladino

La schermata è divisa in due parti: a sinistra per registrarsi come nuovo utente ed a destra per fare il login se ci si è già registrati.

Personalizza. Page 1 of 33

Regimi IVA Speciali MULTI. Gestione Beni Usati

L ambiente grafico e le viste

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

COME FARE UNA RICHIESTA DI ASSISTENZA ON LINE (AOL)

INSTALLAZIONE NUOVO CLIENT TUTTOTEL (04 Novembre 2014)

Guida alla registrazione on-line di un DataLogger

Introduzione. Preparazione. 4) Ordina i titoli azionari di ogni Compagnia in una pila separata vicino alla plancia di gioco.

Appunti di: MICROSOFT EXCEL

Dispensa di Informatica I.1

SIDIP Sistema Informativo Dibattimentale Penale Modulo 415 bis

Eliminare il messaggio "Rete non identificata" da Windows 7

ELABORAZIONE DI DATI TRIDIMENSIONALI - RELAZIONE HOMEWORK 2

Introduzione al sistema operativo Il file system: file, directory,...

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo

INTRODUZIONE AI CICLI

Il presente supporto consente la gestione delle gare Giovanili. Premere il pulsante Immissione Dati Gara

4 3 4 = 4 x x x 10 0 aaa

GUIDA UTENTE PER UTILIZZO SITO ASSOCIAZIONI SARONNESI

intranet.ruparpiemonte.it

Транскрипт:

La Macchina Cifrante Enigma Introduzione storica Il 23 Febbraio del 1918, l'ingegnere tedesco Arthur Scherbius brevettò una macchina cifrante che utilizzava rotori. Nacque così la versione commerciale dell'enigma: una macchina elettromeccanica per cifrare e decifrare messaggi. Diverse copie dell'enigma commerciale furono acquistate dalla Marina tedesca e dall' esercito che, con il tempo, introdussero diverse modifiche alla macchina originaria, incrementandone la sicurezza. Videro la luce così la versione M3 del 1934 che possedeva 3 rotori e la M4 che ne possedeva 4 e veniva utilizzata dai sottomarini. Anche altre nazioni utilizzarono macchine Enigma. La Marina italiana adottò la versione commerciale come anche gli Spagnoli che se ne servirono durante la guerra civile del 1936. Gli Svizzeri impiegarono un modello da loro modificato per scopi militari e diplomatici, mentre i Giapponesi crearono il modello T con nome in codice Tirpiz. E' stato stimato che sono state costruite 100.000 macchine Enigma, 40.000 delle quali durante la Seconda Guerra Mondiale. In pratica le sorti della Seconda Guerra Mondiale furono decise, crittograficamente parlando, dalla relativa impenetrabilità delle macchine a rotore. Secondo alcuni storici, alcune vittorie sono state possibile grazie alla superiorità crittografica nel decifrare messaggi segreti cifrati da macchine a rotori. Alcuni esempi possono essere: Sbarco in Normandia: Eisenhower e Montgomery erano in grado di leggere tutti i messaggi degli alti comandi tedeschi; ebbero così conferma che Hitler aveva creduto alla falsa notizia di un imminente sbarco alleato nei pressi di Calais, e aveva concentrato le sue migliori truppe in quella zona. Poterono quindi ordinare lo sbarco in Normandia sicuri che avrebbe incontrato ben poca resistenza. Pearl Harbour: gli Americani sapevano in anticipo dell'attacco di Pearl Harbour e decisero di non impedirlo, avevano infatti bisogno di un motivo forte per convincere la riluttante opinione pubblica americana della necessità di entrare in guerra e quell'attacco a tradimento dei Giapponesi fu ideale per questo scopo. Una teoria più prudente sostiene che gli Americani sapevano che il Giappone stava per attaccare, ma non sapevano dove. Certo è che al momento dell'attacco nella baia di Pearl Harbour non c'era nemmeno una portaerei e in definitiva furono affondate solo alcune navi vecchie e di importanza non fondamentale per la guerra. Funzionamento Il modello base dell' Enigma ha l'aspetto di una macchina da scrivere, con la differenza che possiede due tastiere. Una tastiera serve per scrivere lettera per lettera il messaggio da cifrare, l'altra è composta da una serie di lettere che si illuminano. Ogni volta che si immette nella prima tastiera una lettera da cifrare, per esempio "A", verrà illuminata la lettera corrispondente cifrata, ad esempio "C", nella seconda tastiera. 1

Immagine A. Nell' Immagine A, (1) rappresenta la tastiera in cui si immette il testo, (2) rappresenta la tastiera che si illumina. A determinare la chiave di cifratura tramite la quale avviene la traformazione di A in C è la disposizione dei rotori. I rotori fisicamente sono dei dischi cablati che possiedono 26 contatti (corrispondenti alle lettere dell'alfabeto) su ogni faccia. Le 26 lettere ordinate dell'alfabeto di una faccia sono collegate elettricamente con 26 lettere non ordinate dell'altra faccia, questi collegamenti variano da rotore a rotore. Ad esempio un rotore si può rappresentare come una coppia di alfabeti: Faccia 1: Faccia 2: La lettera A sarà collegata con E e così via. Nel corso della trattazione si utilizzeranno esempi con rotori collegati così: BDFHJLCPRTXVZNYEIWGAKMUSQO AJDKSIRUXBLHWTMCQGZNPYFVOE 2

I rotori sono imperniati su un medesimo asse ed è possibile cambiare l'ordine di disposizione dei tre dischi. Immagine B. Come si può vedere nell'immagine B, sono state stampate sui dischi le lettere dell'alfabeto ordinato, queste serviranno all'operatore che vuole utilizzare la macchina per determinare la chiave di cifratura ruotando ogni singolo disco. Nell'immagine A punto (3), e nell'immagine C si osserva come appaiono i rotori esternamente, in quest'ultima immagine la chiave è BDKP. Immagine C. I rotori, man mano che l'operatore scrive le lettere del messaggio da cifrare, si muovono autonomamente con un meccanismo simile a quello di un odometro (meccanismo interno a contachilometri e tassametri, che permette di misurare la distanza percorsa da un veicolo). Alla pressione di un tasto, il rotore più a sinistra () ruota verso l'alto, di una posizione. Facciamo un esempio, tenendo conto che il movimento dei rotori sarà fatto lateralmente e non dal basso verso l'alto, per facilitarne la comprensione. 3

La chiave è AAA infatti come si può vedere nei vari rotori, l'alfabeto ordinato inizia sempre con la A. BDFHJLCPRTXVZNYEIWGAKMUSQO AJDKSIRUXBLHWTMCQGZNPYFVOE Quando viene premuto un tasto, il si sposterà di una posizione verso sinistra, la lettera A e il suo rispettivo collegamento lasceranno il posto alle lettere successive e si posizioneranno al fondo dell'alfabeto così: DFHJLCPRTXVZNYEIWGAKMUSQOB BCDEFGHIJKLMNOPQRSTUVWXYZA Mentre gli altri rotori 2 e 3 rimarranno invariati. Quando il avrà raggiunto una determinata posizione (che varia da rotore a rotore) determinerà lo spostamento del rotore adiacente () di una posizione. Le posizioni che determinano lo spostamento del rotore adiacente sono rispettivamente le lettere: V per il E per il Q per il Facendo sempre riferimento alle lettere dell'alfabeto ordinato. Ad esempio se la chaive è AAV i rotori saranno disposti così: MUSQOBDFHJLCPRTXVZNYEIWGAK VWXYZABCDEFGHIJKLMNOPQRSTU AJDKSIRUXBLHWTMCQGZNPYFVOE Quando viene premuto un tasto, il si muoverà di una posizione, ma poichè prima della rotazione esso iniziava con la posizione V, allora ruoterà anche il di una posizione: 4

USQOBDFHJLCPRTXVZNYEIWGAKM WXYZABCDEFGHIJKLMNOPQRSTUV JDKSIRUXBLHWTMCQGZNPYFVOEA BCDEFGHIJKLMNOPQRSTUVWXYZA Ovviamente anche quando il avrà raggiunto la posizione E, farà muovere il. Un esempio che merita di essere visto è il caso in cui la chiave è EDV : MUSQOBDFHJLCPRTXVZNYEIWGAK VWXYZABCDEFGHIJKLMNOPQRSTU KSIRUXBLHWTMCQGZNPYFVOEAJD DEFGHIJKLMNOPQRSTUVWXYZABC LGDQVZNTOWYHXUSPAIBRCJEKMF EFGHIJKLMNOPQRSTUVWXYZABCD Quando viene premuto un tasto, si avrà uno spostamento del e 2: USQOBDFHJLCPRTXVZNYEIWGAKM WXYZABCDEFGHIJKLMNOPQRSTUV SIRUXBLHWTMCQGZNPYFVOEAJDK EFGHIJKLMNOPQRSTUVWXYZABCD LGDQVZNTOWYHXUSPAIBRCJEKMF EFGHIJKLMNOPQRSTUVWXYZABCD Successivamente quando viene premuto un secondo tasto, si avrà uno spostamento di tutte e tre i rotori. SQOBDFHJLCPRTXVZNYEIWGAKMU XYZABCDEFGHIJKLMNOPQRSTUVW IRUXBLHWTMCQGZNPYFVOEAJDKS FGHIJKLMNOPQRSTUVWXYZABCDE 5

GDQVZNTOWYHXUSPAIBRCJEKMFL FGHIJKLMNOPQRSTUVWXYZABCDE L'ultimo componente dell'enigma è il riflettore, esso può essere rappresentato come un alfabeto speciale in cui sono presenti lettere che si ripetono: Riflettore ABCDEFGDIJKGMKMIEBFTCVVJAT La sua funzione sarà più chiara in seguito. Esempio concreto Supponiamo di avere i nostri tre rotori di prima, imperniati sull'asse nel solito ordine 1,2,3 (wheel order) e come chiave ABC (indicators). Il testo da cifrare (plaintext) è : TEST. I rotori quindi sono disposti così: FHJLCPRTXVZNYEIWGAKMUSQOBD CDEFGHIJKLMNOPQRSTUVWXYZAB JDKSIRUXBLHWTMCQGZNPYFVOEA BCDEFGHIJKLMNOPQRSTUVWXYZA Prima di tutto bisogna premettere che i movimenti dei rotori avvengono prima che inizi la codifica, subito dopo la pressione dei tasti. Quindi, una volta premuta la lettera T, il si muoverà di una posizione, così: HJLCPRTXVZNYEIWGAKMUSQOBDF DEFGHIJKLMNOPQRSTUVWXYZABC Gli altri rotori rimarranno invariati poichè non si è giunti in nessuna posizione che faccia scattare i rotori adiacenti. 6

Si può ora rappresentare l'enigma in questo modo: Ora seguiamo le lettere colorate di blu dall'alto verso il basso: sulla tastiera schiacciamo la T, sotto la T troviamo nel una U. Ora cerchiamo la U nel secondo alfabeto del Rotore 1. Ora sotto quest'ultima U troviamo nel una Z, cerchiamo questa lettera nel secondo alfabeto del. Sotto di essa troviamo una C del, cerchiamo questa lettera nel secondo alfabeto del. Giunti a questo punto entra in gioco il riflettore: esso semplicemente inverte il flusso di sostituzioni facendolo andare dal basso verso l'alto. Sotto l'ultima C del, troviamo un'altra C del riflettore. Ora cerchiamo un'altra C nell'alfabeto del riflettore. Bisogna quindi procedere da qui in poi nell'altro senso. Seguiamo le lettere colorate di verde. Sopra la C del riflettore troviamo una U nel, cerchiamo questa lettera nel primo alfabeto del. Sopra di essa troviamo una S del, cerchiamo questa lettera nel primo alfabeto del. Sopra di essa troviamo una G, cerchiamo questa lettera nel primo alfabeto del. Sopra di essa troviamo una P. Quest'ultima P è la lettera che nell'enigma reale si accende nella seconda tastiera poichè corrisponde alla nostra lettera T iniziale: è la sua versione cifrata. Ora bisogna procedere in questo modo per cifrare le altre tre lettere del nostro messaggio( TEST ). Poichè si è capito il procedimento non analizzeremo come cifrare le altre lettere, se si vuole vedere come si sarebbe dovuto continuare basta utilizzare il programma allegato, settando questi parametri: Wheel Order: 1 2 3 Indicators: A B C Plaintext: TEST Schiacciare il tasto Save, dare un nome al file di output ed infine premere il tasto Encrypt/Decrypt. Il file creato conterrà i passaggi di cifratura effettuati su ogni singola lettera del messaggio originale. (Se non si specifica nessun file di output il programma si limiterà a mostrare il messaggio cifrato nella apposita sezione nominata ciphertext). 7

Conclusioni Come si è potuto capire l'enigma essenzialmente cifra messaggi basandosi su un sistema di permutazioni dell'alfabeto. Non si è ancora parlato di come funzioni la fase di decriptazione, cioè di come sia possibile risalire al messaggio originale partendo da quello cifrato, conoscendo la chiave. Basti sapere che il procedimento è lo stesso attuato per cifrare, poichè l'enigma è una macchina simmetrica. Quindi, se come messaggio da cifrare si usa uno già cifrato, si arriva al messaggio originale. La macchina Enigma rispetta il principio di Kerckhoff ovvero La robustezza di un crittosistema non deve dipendere dalla segretezza dell'algoritmo. Il punto debole di questo crittosistema è però il fatto che nessuna lettera può comparire nel testo cifrato come se stessa. Allegato a questo testo c'è una simulazione, scritta appositamente da me, per il sistema operativo Windows (tutte le versioni). Il codice relativo alla crittazione/decriptazione è stato scritto in C rispettando lo standard ISO 9899:1999, in questo modo il sorgente è portabile al 100% su tutti i sistemi. L'interfaccia garfica è stata scritta in C utilizzando le sole api di Windows, senza l'ausilio di framework come l'mfc, rendendo così il programma finale veloce e di soli 19.456 bytes (di cui ben 9.270 costituiscono il logo dell'enigma [206 x 88 x 4 BPP] in formato Bitmap). Luca Boasso 8