vuoi
o PayPal
tutte le volte che vuoi
Relazione crittografia
1. Introduzione, cos'è la crittografia e cosa ci permette di fare.
2. Breve storia della crittografia.
3. Personaggi importanti della crittografia.
4. La nemica della crittografia: la crittoanalisi.
5. Metodi di crittografia.
6. Conclusioni.
1. Introduzione, cos'è la crittografia e cosa ci permette di fare
La parola crittografia, in greco kryptós, significa nascosto. Usata dai tempi più antichi, sopratutto nei periodi di guerra e dai servizi segreti delle grandi potenze, è continuamente in evoluzione e tutt'oggi viene utilizzata anche a scopo privato e non solo a scopo militare come in passato.
Nell'ambito privato possiamo trovare la crittografia nell'informatica e nelle informazioni private e sensibili che immettiamo nella rete per scopi personali.
Più che nascondere il messaggio, la crittografia si occupa di mascherarlo, coprendone o nascondendo il vero e proprio significato a chi potrebbe intercettare il nostro messaggio e usarne inapropriatamente le informazioni sensibili al suo interno.
In poche parole mittente e destinatario si mettono d'accordo per stipulare un "protocollo" di codifica e decodifica per proteggere il proprio mjessaggio, cosi facendo un estraneo riuscirebbe a visualizzare solamente un insieme di simboli o segni insignificanti.
Un esempio veloce di modalità di crittografia è la crittografia sostitutiva dove viene visualizzato un messaggio dove una lettera, un insieme di lettere o una parola, hanno un significato diverso dall'ordinario.
Questa "traduzione" viene effettuata, come detto in precedenza, in base ad un protocollo di codifica e decodifica fra mittente e destinatario, il termine esatto è chiave.
Di chiavi ne esistono due tipi:
A chiave unica: detto anche a chiave privata o simmetrica (la chiave di codifica e decodifica è la stessa per mittente e destinatario).
A doppia chiave: detto anche a chiave pubblica o asimmetrica (La chiave di codifica e decodifica è diversa tra il mittente e il destinatario).
"protocollo" di codifica e decodifica per proteggere il proprio mjessaggio, cosi
facendo un estraneo riuscirebbe a visualizzare solamente un insieme di simboli
o segni insignificanti.
Un esempio veloce di modalità di crittografia è la crittografia sostitutiva dove
viene visualizzato un messaggio dove una lettera, un insieme di lettere o una
parola, hanno un significato diverso dall'ordinario.
Questa "traduzione" viene effettuata, come detto in precedenza, in base ad un
protocollo di codifica e decodifica fra mittente e destinatario, il termine esatto è
chiave.
Di chiavi ne esistono due tipi:
A chiave unica: detto anche a chiave privata o simmetrica (la chiave di
• codifica e decodifica è la stessa per mittente e destinatario).
A doppia chiave: detto anche a chiave pubblica o asimmetrica (La
• chiave di codifica e decodifica è diversa tra il mittente e il destinatario).
Questa chiave ci permette di decodificare il messaggio e quest'ultima è difficile
da proteggere dato che se non viene cambiata in continuazione a seconda dei
dati che possediamo ci potrebbe essere rubata, per questo si dice che la
crittografia è in continua evoluzione.
La nemica della crittografia appunto è la crittoanalisi che vedremo nel corso di
questa relazione.
2. Breve storia della crittografia
La necessità di nascondere messaggi strategici da occhi nemici è antica quanto
l'uomo: ci sono tracce di cifrari antichi quanto gli Ebrei con il loro codice di atbash;
gli Spartani avevano un loro particolare sistema di comunicazione dei messaggi
segreti, la scitala; a Gaio Giulio Cesare si attribuisce l'uso del cosiddetto cifrario di
Cesare, un sistema crittografico oggi ritenuto elementare, ma emblema della nascita
di un concetto totalmente nuovo e ottimo per comprendere le idee basilari della
crittografia e i primi attacchi della sua "avversaria": la crittoanalisi.
La storia della crittografia moderna inizia con la stesura del De cifris di Leon Battista
Alberti, che per primo insegnò a cifrare per mezzo di un disco cifrante con un
alfabeto segreto da spostare ad libitum ogni due o tre parole. Anche il tedesco
Tritemio prevedeva una forma di cifra polialfabetica, facendo scorrere l'alfabeto
ordinato di un posto ad ogni lettera del chiaro(come si definisce in gergo il testo non
crittato). Nel 1526 Jacopo Silvestri pubblicò l'Opus novum, considerata una delle
prime opere su questo argomento. Ma il vero progresso nella cifratura polialfabetica è
stato compiuto dal bresciano Giovan Battista Bellaso, che ha inventato la tecnica di
alternare alcuni alfabeti segreti formati con parola chiave sotto il controllo di un
lungo versetto chiamato contrassegno. La sua prima tavola a 11 alfabeti reciproci,
uscita nel 1553, fu ripubblicata dal napoletano Giovanni Battista Della Porta dieci
anni più tardi e ne prese il nome grazie alla notevole diffusione che ebbe il suo
trattato De furtivis literarum notis. Il francese Vigenère utilizzò poi il versetto per
cifrare ciascuna lettera con la sua tavola ad alfabeti regolari identica a quella del
Tritemio e che oggi porta il suo nome. Il suo sistema è stato considerato indecifrabile
per tre secoli, finché nel 1863 il colonnelloprussiano Friedrich Kasiski non pubblicò
un metodo per "forzarlo", chiamato Esame Kasiski.
Qualsiasi sia il sistema crittografico utilizzato, la legge fondamentale sul corretto uso
di tali tecniche fu scritta da Kerckhoffs ("Legge di Kerckhoffs") nel suo libro del
1883 La Cryptographie Militairee di seguito riportata: «La sicurezza di un
crittosistema non deve dipendere dal tener celato il crittoalgoritmo. La sicurezza
dipenderà solo dal tener celata la chiave.»
Nel 1918 Gilbert Vernam maggiore dell'Esercito USA e tecnico all'AT&T Bell,
perfezionò il metodo di Vigenère proponendo l'idea di usare chiavi segrete casuali
lunghe almeno quanto il messaggio. Successivamente, nel 1949, Claude Shannon,
padre della teoria dell'informazione, nel lavoro La teoria della comunicazione nei
sistemi crittografici dimostrò che questo è l'unico metodo crittografico possibile che
sia totalmente sicuro.
Con il possesso di un sistema crittografico perfetto, la battaglia teorica tra crittografia
e crittoanalisi si è risolta con una vittoria della prima sulla seconda. Ipotizzando di
voler far uso di questa insuperabile protezione, restano però aperti molti problemi di
ordine pratico. Bisogna infatti soddisfare gli stringenti requisiti del cifrario di
Vernam: chiave lunga quanto il messaggio e mai più riutilizzabile. Tuttavia si hanno
notizie di utilizzi di questo cifrario in ambiente militare (comunicazione con le spie:
si veda a proposito One Time Pad), o per la protezione delle comunicazioni del
telefono rosso tra Washington e Mosca durante la Guerra fredda. Anche il cifrario
trovato nel 1967 sul corpo di Che Guevara è un'applicazione del cifrario di Vernam.
3. Personaggi importanti della crittografia
Licurgo: legislatore spartano, figura a metà tra storia e mito; avrebbe utilizzato
• un elementare metodo crittografico: il bastone di Licurgo.
Polibio: il grande storico delle guerre puniche descrisse e perfezionò
l'omonima scacchiera primo esempio di codice poligrafico.
Giulio Cesare: il suo nome è rimasto legato al semplice cifrario che
•Caio
secondo Svetonio usava nelle sue corrispondenze private.
Caio Ottavio (Augusto):come Cesare deve la sua presenza qui ai cifrari che
•
avrebbe utilizzato.
Battista Alberti: noto soprattutto come architetto e umanista.
•Leon
Giovanni Battista Bellaso: propose diverse interessanti cifre
•
polialfabetiche.disco cifrante
Battista della Porta: umanista e scienziato scrisse un celebre
•Giovanni
trattato di cifre che proponeva cifrari polialfabetici simili a quelli del Bellaso.
de Vigenere: deve la sua fama a un semplice cifrario polialfabetico,
•Blaise
che fu usato per secoli più per la sua semplicità che per la sua robustezza.
Leonhard Euler (Eulero): il più prolifico matematico di tutti i tempi è qui
•
ricordato per la funzione di Eulero, che è tornata di attualità nel cifrario RSA.
Jefferson: presidente degli Stati Uniti usò un cifrario meccanico che
•Thomas
precorreva le macchine cifranti del XX secolo.
F. Morse: introdusse il codice omonimo per il telegrafo; non si tratta
•Samuel
di un codice segreto, ma molti metodi crittografici furono pensati in funzione
della trasmissione telegrafica in Morse.
Luigi Sacco: il massimo crittanalista italiano del '900, riuscì a forzare le cifre
•
dell'Impero Austro-Ungarico nella guerra del '15-18.
Georges Painvin: considerato il miglior crittanalista francese della Grande
•
Guerra, famoso soprattutto per aver decrittato la cifra campale germanica nel
1918. Stanford: Vernam inventò nel 1917 il cifrario che porta il suo nome
•Gilbert
inattaccabile ma di uso non molto comodo.
F.Friedman: russo di nascita e americano di adozione, progettò la
•William
macchina Sigaba usata dagli americani e mai forzata, e contribuì alla
decrittazione dei cifrari giapponesi.
Rejewski: matematico polacco, fu nel 1932 il primo a forzare la
•Marian
macchina Enigma, un merito che gli è stato riconosciuto solo dopo molti
decenni.
Turing: matematico inglese, inventore della macchina ideale che porta
•Alain
il suo nome, partecipò al progetto Ultra per la decrittazione della macchina
Enigma nella seconda guerra mondiale.
Claude Shannon: noto soprattutto come padre della moderna teoria
•
dell'informazione, definì le caratteristiche del cifrario perfetto.
5. La nemica della crittografia: la crittoanalisi
Per criptoanalisi si intende appunto "l'analisi" del testo cifrato nel tentativo di
decodificare un messaggio codificato da altri e del quale non si possiede la chiave. I
metodi di attacco possono variare da una complicata analisi statistica del testo
criptato fino a penetrare in casa del soggetto, o nel suo ufficio, e rubargli (o copiargli)
la chiave (questo approccio si definisce criptoanalisi "pratica"). Non vi sono regole di
fair-play. Il Criptoanalista è libero di usare tutte le armi in suo possesso per scoprire
la vostra chiave, anche la vostra ingenuità, che di solito si rivela l'arma migliore. Se
per caso venisse a sapere che il vostro cane si chiama "Beethoven" potrebbe pensare
che voi siete abbastanza ingenui da usare questo nome come chiave. A prima vista
potrebbe sembrare strano, ma vi assicuro che nella maggior parte dei casi funziona.
Anche chi deve impostare una password molte volte usa il proprio nome, o quello
della fidanzata, moglie, amante, figlio ... magari seguito da un numero, tanto per
"complicare" le cose ... E' statisticamente provato che queste sono le password più
facili da indovinare. Su una cosa del genere ci hanno addirittura fatto un film:
Wargames !!
Il criptoanalista potrebbe avere solo il testo criptato su cui lavorare, oppure avere sia
il testo criptato sia quello in chiaro corrispondente. Alcuni sistemi crittografici sono
abbastanza buoni se l'analista dispone solo del testo criptato, mentre falliscono
completamente se è disponibile sia il testo criptato sia quello in chiaro. Alcuni si
chiederanno: "Ma se l'analista ha già il testo in chiaro, perchè perdere tempo per
ottenere la chiave ?". Semplice: perchè avendo la chiave egli potrà decodificare tutti i
vostri messaggi, anche quelli di cui non dispone del testo in chiaro. Il vostro sistema,
quindi, dovrebbe essere abbastanza robusto da resistere ad entrambi gli attacchi, sia
quelli portati al solo testo criptato, sia quelli condotti al testo criptato e al testo in
chiaro.
La potenza dei computer moderni può aiutare moltissimo il criptoanalista, ma molti
sistemi che possono sembrare estremamente sicuri possono essere infranti
semplicemente con carta e penna. Per esempio la famiglia "Vigenere" di cifratura
polialfabetica è stata creduta inviolabile fino alla fine del diciannovesimo secolo. Una
cifratura polialfabetica consiste nell'uso di un secondo alfabeto per sostituire le lettere
del testo in chiaro. In questo sistema la chiave determina l'ordine in cui devono venire
scambiate le lettere e il ciclo viene ripetuto con una periodicità pari alla lunghezza
della chiave. Questa periodicità è un indizio "fatale", infatti il criptoanalista applica
uno schema di questo tipo: "A cifra uguale corrisponde lettera uguale, e a blocco
uguale corrisponde parola uguale". In questo modo si evidenzia la lunghezza della
chiave. Una volta conosciuta la lunghezza della chiave possiamo applicare le tabelle
di frequenza di lettere di un linguaggio per iniziare a ipotizzare quale potrebbe essere
la chiave. Questo tipo di cifratura "Vigenere" può essere facilmente implementata su
un moderno computer, ma ormai essa è ritenuta troppo "debole" per gli scopi attuali.
6. Metodi di crittografia
La cifratura detta a chiave infinita o one-time pad consiste nel generare una
• chiave composta il più possibile da lettere, numeri e simboli disposti in modo
casuale, e di una lunghezza almeno pari alla lunghezza del testo da criptare.
Quindi per ogni carattere del testo in chiaro aggiungiamo (come somma di
valori ASCII ad esempio) un carattere della chiave, ottenendo il testo criptato.
E' facile intuire che una cosa del genere è praticamente impossibile da
decifrare, in quanto si basa su una chiave ottenuta in modo assolutamente
casuale (entropia massima) e senza la possibilità di analizzare delle ripetizioni
nel testo, in quanto la chiave ha appunto la lunghezza stessa del testo. Questo
sistema di codifica è usato per ottenere i più alti gradi di sicurezza militari, ma
ha il grosso difetto di non essere impiegabile su vasta scala o per messaggi
particolarmente lunghi.
Alcuni algoritmi sono stati costruiti approssimando il sistema a chiave infinita
con l'espansione di una chiave relativamente breve. Il sistema "Vernam", ad
esempio, usato nelle trasmissioni telegrafiche, usava lunghi nastri di carta
contenenti dei bit casuali, i quali erano aggiunti ai bit del messaggio originario.
Il sistema a rotore prende il nome dalla macchina elettromeccanica tedesca
• ENIGMA usata nella seconda guerra mondiale. Essa era composta da ruote