Crittografia dal XIX secolo: La Macchina Enigma

Dalla metà del XIX secolo l'uso della crittografia assume un ruolo determinante nella trasmissione di messaggi di carattere logistico e strategico. Con l'invenzione della radio i messaggi sono trasmessi anche via etere e quindi esposti molto più di prima all'intercettazione da parte del nemico; il ricorso alla crittografia diventa inevitabile, come la necessità di cifrari sempre più sofisticati.

Una necessità che è ignorata in Italia dove si dovrà attendere l'entrata in Guerra nel 1915 per rendersi conto del ritardo accumulato in campo crittografico, e porvi rimedio.
Tra i metodi usati nella Grande Guerra si possono citare:
  • - Playfair cipher (1854)
  • - Cifra campale germanica (1918)
  • - Il cifrario bifido di Delastelle

La Macchine Enigma

Nel 1918 Arthur Scherbius inventò a Berlino una macchina di cifratura che applicava ripetutamente sostituzioni e trasposizioni dei singoli caratteri di un messaggio. Con l'aggiunta di alcune parti (il riflettore e di un'ulteriore trasposizione ottenuta con connessioni manuali sul frontale), la macchina è stata utilizzata anche per le operazioni militari della seconda guerra mondiale.
 
Ogni sostituzione era ottenuta con l'uso di un insieme di connessioni elettriche che collegavano una coppia di contatti: ogni contatto corrisponde ad una lettera e ciascuna connessione era interpretabile come la trasformazione di una lettera in chiaro nella corrispondente lettera cifrata. Le connessioni erano collocate all'interno di un dispositivo rotante detto rotore (fig. 7).
 
Nel corso degli anni sono stati costruiti 10 tipi di rotori (I..VIII, Beta, Gamma), ciascuno con la propria specifica mappa di sostituzione. Una sostituzione può essere descritta dalla fig. 8, ove compare solo una parte delle 26 connessioni: in figura la lettera Q viene sostituita con M e M con R.
 
macchina enigma
 
La macchina era dotata di una tastiera con le 26 lettere e di una batteria di 26 lampadine, ciascuna illuminante una lettera diversa. Se si fosse collegato un capo dell'interruttore di ciascun tasto con una batteria e l'altro con il corrispondente contatto della riga superiore del dispositivo di sostituzione di fig. 8, una volta collegati i contatti della riga inferiore alle corrispondenti lampadine, il cui secondo contatto era in comune collegato all'altro polo della batteria, la pressione del tasto Q avrebbe fatto accendere la lampadina M.
 
La macchina, per aumentare il numero di combinazioni possibili, includeva una serie di ulteriori complicazioni. Intanto, faceva uso della serie di più rotori, basati su una mappa di sostituzione tra loro diversa, in modo da ottenere una sostituzione composta. Ad esempio (fig. 9) con due dispositivi si otteneva una trasformazione complessiva per la quale Q si trasformava in R passando per M.
 
Per evitare che la serie dei due dispositivi avesse lo stesso effetto di un unico dispositivo realizzante la sostituzione complessiva, la connessione tra due rotori adiacenti poteva subire uno scorrimento circolare, corrispondente ad una trasposizione di un certo numero di caratteri, nell'intervallo 0..25 (fig. 10). In questo modo la serie dei due dispositivi produceva una trasformazione complessiva costituita da due trasposizioni, una in avanti e una indietro dello stesso fattore, dipendente dalla posizione mutua regolabile, e due sostituzioni indotte dalle mappe dei rotori..
 
schema macchina enigma
 
Per l'esempio di fig. 10, il carattere Q si trasformava in L passando per M (sost.), K (trasp. indietro di 2), J (sost.) e infine L (trasp. in avanti di 2, opposta alla precedente). La macchina utilizzata nella seconda guerra mondiale disponeva di 3 di questi dispositivi rotativi (rotori) messi in serie, il primo dei quali poteva ruotare rispetto ai contatti di ingresso che erano montati su un disco d'ingresso fisso (fig. 11), cosa che realizzava una ulteriore trasposizione.
 
foto della macchina enigma
 
L'uscita dell'ultimo rotore, anziché costituire la versione cifrata della lettera iniziale, veniva fatta pervenire ad un altro componente (il 'riflettore', di cui esistevano 4 tipi, B, C, B Dünn, C Dünn) che provvedeva semplicemente ad uno scambio tra le lettere di 13 coppie prefissate (del tipo A«Y cioè A®Y e Y®A): il risultato di questa ulteriore sostituzione a regola fissa veniva sottomesso in verso contrario alla sequenza dei 3 rotori (si può facilmente verificare che, grazie allo scambio, in questo percorso all'indietro venivano interessate connessioni elettriche diverse da quelle attraversate dalla corrente nel primo tratto diretto dal tasto al riflettore) e la corrente catturata dal primo rotore (cioè l'ultimo percorso all'inverso). Ciò che si ottiene, grazie a questa 'riflessione', è un principio di reciprocità.
 
Ad esempio, facendo riferimento alla tab. 5, che descrive la trasformazione indotta da ciascun tipo di rotore impostando l'allineamento dell'anello d'alfabeto ad A e il fattore di trasposizione a 0 (cioè A o 1 nella specifica della macchina), la trasformazione del riflettore e la posizione dell'aggancio di avanzamento, e scegliendo una della combinazioni possibili (stesso allineamento A degli anelli per i 3 rotori, destra rotore III con fattore trasposizione 0; centro rotore II fattore trasp. 2, sinistra rotore I fattore trasp. 4, riflettore B, nessuna connessione esterna), la sequenza di trasformazioni per due lettere A battute di seguito è la seguente (->si-> sostituzione rotore i, ->sir-> sostituzione rotore i inversa, ->ti-> trasposizione rotore i in ingresso, ->tir-> trasposizione rotore i in uscita, ->r-> riflessione):
 
shema1
 
Si noti che, prima di ciascuna trasformazione, il rotore a destra viene avanzato di una posizione, incrementando conseguentemente il fattore di trasposizione, e che, dopo la riflessione, occorre applicare la mappa inversa. La posizione dell'aggancio di avanzamento dei 3 rotori e la trasposizione iniziale sono tali da non far avanzare il rotore centrale e quello a sinistra durante la cifratura dei due caratteri.
 
Applicando la macchina a partire dalla stessa configurazione iniziale per decifrare, si ottiene:
 
schema2
enigma5
enigma6
 
Si potrebbe verificare che, di converso, nella stessa configurazione iniziale dei rotori, la lettera T verrebbe cifrata con A. Questo garantiva di poter usare un'altra macchina del tutto eguale anche per decifrare, ponendo i rotori nella medesima posizione di quelli usati nella macchina di cifratura e battendo il tasto corrispondente al carattere cifrato, ottenendo l'accensione della lettera originaria.
 
Nel 1938 erano disponibili 6 rotori con collegamenti diversi: era pertanto possibile, scegliendone 3 e posizionandoli nella macchina in un certo ordine, ottenere una di 60 configurazioni diverse (tante quante sono le combinazioni di 3 numeri ordinati su un insieme di 6).
 
La versione militare disponeva di un'ulteriore complicazione, costituita una serie di contatti esterni mediante i quali era possibile effettuare una ulteriore sostituzione per scambio di 10 coppie di caratteri (6 caratteri non venivano sostituiti) che interessava sia il collegamento dalla tastiera al disco di ingresso ai rotori, sia dal percorso di ritorno verso la lampadina (figg. 12, 13). Lo scambio veniva fissato dall'operatore con connessioni manuali che rimanevano fisse una volta fissati i connettori (e quindi mantenendo il principio di reciprocità della trasformazione complessiva).
 
L'ulteriore importante caratteristica della macchina era che i rotori potevano ruotare durante la cifratura di una sequenza di caratteri: prima di essere usati per la trasformazione di ciascun carattere, il primo rotore veniva spostato di una posizione in avanti dalla pressione del tasto, il secondo se il primo aveva fatto un giro completo, il terzo se lo aveva fatto il secondo (come un contachilometri).
 
Il punto di avanzamento impresso al rotore successivo dipendeva dalla posizione dell'aggancio solidale all'anello dell'alfabeto, anello che poteva essere fatto girare rispetto al corpo delle connessioni prima che il rotore fosse messo in posizione nella macchina (vedi fig. 7). In questo modo ogni tasto era sottoposto ad una trasformazione diversa rispetto a tasti successivi, dovuta al diverso modo in cui i rotori si presentavano al contatto con i dischi/rotori adiacenti.
 
La trasformazione complessiva era pertanto determinata dalla combinazione iniziale dei rotori che, in pratica, costituiva la chiave di cifratura, mentre i dettagli costruttivi della macchina e le modalità di collegamento costituivano l'algoritmo di cifratura applicato. Si può dimostrare che, tenendo conto di tutte le possibili configurazioni iniziali (rotori scelti, posizionamento mutuo dei rotori nella macchina, posizione iniziale di ciascun rotore e dell'anello dell'alfabeto, collegamenti esterni) il numero di combinazioni possibili (ovvero della chiave) è dell'ordine di 1.5*1020.
 
Questo fatto faceva ritenere ai suoi utilizzatori la macchina del tutto sicura. Periodicamente, attraverso canali sicuri, venivano trasmesse tabelle che mostravano la scelta giornaliera dei rotori, la loro predisposizione iniziale dell'anello d'alfabeto, l’insieme di contatti esterni, ma non la trasposizione iniziale, cioè la posizione dei rotori una volta incastrati all’interno della macchina. Questa posizione doveva essere diversa all’inizio di ogni messaggio: per questo nel preambolo del messaggio veniva spedito in chiaro una sequenza di 3 trasposizioni (ad esempio BBD per i fattori di trasposizione 1,1,3, corrispondenti alle cifre 2,2,4 dell'anello d'alfabeto che emergevano dalle finestrelle della copertura della macchina) e, ponendo la macchina in questa configurazione, iniziale si cifrava due volte, e si spediva quindi cifrata, la configurazione iniziale da adottare per cifrare il messaggio vero e proprio.
 
Ciò bastava per ottenere una cifratura a chiave segreta di messaggi di lunghezza arbitraria che, nella forma cifrata, ad esclusione dei primi 3 caratteri del preambolo, venivano spediti per radio via alfabeto morse e decifrati con una macchina dello stesso tipo.
 
 
L'algoritmo di cifratura presentava, dal punto di vista crittoanalitico, 4 lati deboli: il principio di reciprocità, l'impossibilità di cifrare alcuna lettera con se stessa, la posizione d'aggancio di avanzamento rispetto all'anello d'alfabeto che era diversa per ciascun tipo di rotore, e la cifratura 2 volte nel preambolo della medesima sequenza di 3 caratteri.
 
Queste debolezze furono sfruttate dapprima dai ricercatori polacchi che si erano impadroniti, già prima della guerra, di un esemplare della macchina, e soprattutto dal gruppo inglese che durante la guerra lavorò a Bletchley Park sotto la guida del famoso teorico Alan Turing che, utilizzando una apparecchiatura che in qualche modo costituiva un computer primordiale (denominato 'Colossus') riuscì a scoprire una tecnica di attacco in grado di decifrare il messaggio. Per alcuni questo risultato fu una delle cause principali della sconfitta tedesca.

 

Risorse per sviluppo: 

Ti potrebbero anche interessare:

Nuovo Algoritmo di Google che vede oggetti nei video e nelle immagini

Google si fa gli occhi.

Si chiama Automatic Large Scale Video Object Recognition (Riconoscimento automatico su larga scala di oggetti video) il nuovissimo algoritmo gia brevettato da Google che avrebbe l'incredibile capacità di poter leggere direttamente nei video e nelle immagini.

Blog: 

Creare un sito multilingua in Drupal

[toc]

Descrizione

In questa guida viene spiegato come realizzare un [[sito]] sviluppato in Drupal che abbia come target principale utenti che parlano l'italiano, con contenuti tradotti anche in inglese ed in spagnolo.
L'articolo presuppone che abbiate già installato Drupal 6.x, localizzato in lingua italiana.
Il procedimento che seguiremo è il seguente:
  • Installiamo le traduzioni di Drupal
Drupal: 

Formati di input in Drupal: Configurazione

I formati di input in Drupal definiscono un modo di processare il testo generato dall'utente.
Ogni filtro è progettato per compiere un compito preciso, e generalmente rimuove o aggiunge elementi al testo prima che esso venga visualizzato.
Drupal di base offre due formati di input "Filtered Html" e "Full Html" e
Drupal: 

Imparare a guadagnare con Google Adsense: Strumenti e Risorse iniziali

Imparare a guadagnare con Google Adsense è probabilmente il modo più semplice per fare soldi online. Ci sono tantissimi modi per guadagnare su internet ma il modo forse più automatico possibile è proprio il servizio offerto da Google e che prende il nome di Adsense.

In questo articolo vi mostrerò tutto quello che serve per fare soldi con Google Adsense e, soprattutto, i consigli e i metodi usati personalmente per iniziare a guadagnare velocemente con la pubblicazione degli annunci.

Internet Marketing: 

L’algoritmo DES (Data Encryption Standard) e altri algoritmi a chiave simmetrica

Si tratta di un algoritmo a chiave simmetrica proposto da IBM nel 1975 e accettato come standard nel 1977 e da allora, e fino a tempi recenti, è stato utilizzato dagli enti governativi americani (e da altri) per cifrare dati sensibili.

Risorse per sviluppo: 

Codice Poligrafico: La Scacchiera di Polibio

Il più antico codice poligrafico (sostituzione di tipo multiplo) è probabilmente la scacchiera di Polibio. Lo storico greco Polibio (~200-118AC), nelle sue Storie (Libro X) descrive un cifrario che attribuisce ai suoi contemporanei Cleoxeno e Democleito: l'idea è quella di cifrare una lettera con una coppia di numeri compresi tra 1 e 5, secondo la descrizione di una scacchiera 5x5.

Risorse per sviluppo: