Storia:
» Il Cifrario Atbash
» Il Cifrario Di Cesare
» Il Cifrario Di Vigenère
» La Crittografia Moderna
» Cifrari Monoalfabetici
» Cifrari Polialfabetici
» Cifrari Composti
» Cifrari a Chiave Segreta
» Cifrari a Chiave Pubblica
Matematica:
» Teorema di Eulero-Fermat
» Ipotesi di Riemann
» Funzionamento RSA
|
Cifrari
Un cifrario è composto da un algoritmo che consente di trasformare un testo in chiaro (il messaggio che vogliamo scambiarci e da nascondere) in un testo cifrato (il messaggio segreto) tramite l'uso di algoritmi di cifratura e decifratura.
Cifrari Monoalfabetici
I cifrari monoalfabetici sono cifrari di sostituzione: del testo chiaro si sostituisce ogni carattere con un altro carattere (o numero) secondo una tabella prestabilita, ottenendo il testo cifrato. Nella crittografia contemporanea (informatica) si sostituiscono blocchi di bit invece di caratteri , ma il principio è sempre quello della sostituzione.
I più antichi cifrari di questo tipo sono il cifrario Atbash e il cifrario di Cesare .
Questo tipo di cifra è sicura solo per messaggi molto corti; una semplice crittanalisi statistica basata sulle caratteristiche statistiche delle lingue è in genere sufficiente per forzare il testo .
Cifrari Polialfabetici
I cifrari polialfabetici si differenziano dai monoalfabetici in quanto un dato carattere del testo chiaro (p.es. la A) non viene cifrato sempre con lo stesso carattere, ma con caratteri diversi in base ad una qualche regola, in genere legata ad una parola segreta da concordare.
In questo modo la sicurezza del codice dovrebbe aumentare in modo significativo; infatti non è più così semplice individuare le lettere del messaggio in base alla loro frequenza caratteristica in ogni lingua . Così per esempio la lettera E molto frequente in tutte le lingue non potrà più essere individuata grazie alla sua frequenza molto elevata.
Pur essendo mediamente più sicuri dei monoalfabetici anche questi cifrari sono facilmente attaccabili purchè si disponga di un testo cifrato sufficientemente lungo. Storicamente è famoso il metodo Kasiski che permette di decifrare abbastanza facilmente la tavola di Vigenere.
Rientra tra i cifrari polialfabetici il codice di Vernam che è un Vigenere a chiave lunga come il testo e che secondo Shannon è il codice sicuro per eccellenza.
Cifrari Composti
Un semplice accorgimento per aumentare la sicurezza di un cifrario è quello di cifrare una seconda volta il messaggio, in genere con un altro metodo; questa operazione di cifrare una seconda volta è chiamata di sovracifratura.
A questa famiglia di cifrari appartiene anche il DES , il celebre cifrario dell'IBM, che consiste di ben sedici cifrature successive.
Attenzione però che non sempre cifrare due o più volte di seguito un messaggio aumenta la sicurezza. Per esempio far seguire a un cifrario monoalfabetico un altro cifrario dello stesso tipo seppure con chiave diversa, non aumenta in nulla la sicurezza; la composizione di due codici monoalfabetici è ancora un codice monoalfabetico e nulla di più. E al limite potrebbero aversi sgradite sorprese: se a una cifratura di Cesare con spostamento di 10 se ne fa seguire una con spostamento di 16 (nell'alfabeto internazionale di 26 lettere) si ottiene nuovamente il messaggio in chiaro.
Cifrari a Chiave Segreta
I cifrari tradizionali sono tutti caratterizzati da una chiave segreta ; mittente e destinatario dei messaggi segreti devono preventivamente concordare una qualche chiave da mantenere segreta: una parola segreta (oggi la si direbbe una password ) o una griglia o una qualche tabella di codifica. Questa necessità di comunicarsi la chiave segreta è un grosso punto debole: o ci si vede di persona e in luogo riservato, o si deve usare un canale di comunicazione assolutamente sicuro, cosa molto difficile da ottenersi. La scoperta della chiave da parte del nemico sarebbe fatale alla segretezza del messaggio. Questi cifrari sono detti anche simmetrici : infatti cifratura e decifratura fanno uso della stessa chiave; p.es. in un cifrario di Vigenere la parola segreta usata per cifrare viene usata anche per la decifratura.
Cifrari a Chiave Pubblica
La crittografia tradizionale richiede una chiave segreta da concordarsi segretamente, cosa che complica molto le cose dal punto di vista pratico: non sempre infatti è facile trovare un canale di comunicazione assolutamente sicuro per comunicarsi la chiave segreta. Nel 1976 Whitfield Diffie e Martin Hellman proposero i cosiddetti cifrari a chiave pubblica e definirono l'algoritmo DH ; il primo cifrario proposto fu quello di Merkle destinato ad avere poca fortuna, mentre enorme è stata la fortuna del secondo il notissimo RSA definito nel 1977 e presentato nel 1978. Questi cifrari sono basati su una filosofia del tutto nuova: la chiave per cifrare non è la stessa di quella per decifrare; la prima può allora essere resa pubblica mentre solo la seconda resta segreta. Per questo motivo sono detti anche cifrari asimmetrici . La sicurezza di questi sistemi si fonda quasi sempre su funzioni relativamente facili da calcolare ma molto difficili da invertire. Tali sono p.es.
- Il prodotto di due numeri primi, relativamente facile da calcolare, mentre fattorizzare un numero intero è molto più difficile.
- La potenza in un'aritmetica modulare ha due problemi inversi entrambi ardui:
- Il calcolo del logaritmo discreto , è di una complessità proibitiva.
- Il calcolo della radice discreta.
Supponiamo per esempio che Aldo e Biagio vogliano comunicare in modo segreto; per prima cosa Aldo e Biagio scelgono, ognuno per proprio conto, una chiave segreta e calcolano quindi la chiave pubblica facendo uso di una qualche funzione che sia (relativamente) facile da calcolare e impossibile (o quasi) da invertire (nell'RSA è il prodotto di due numeri primi elevati). Le chiavi pubbliche così calcolate sono inserite su una specie di elenco telefonico degli utenti. P.es. Aldo 123456789; Biagio 987654321. A questo punto se Aldo deve inviare un messaggio segreto a Biagio trasformerà il suo messaggio in un numero o serie di numeri; effettuerà una serie di calcoli usando la chiave pubblica di Biagio e spedirà il messaggio cifrato a Biagio. Biagio decifrerà il messaggio usando una formula che, data la chiave segreta e il messaggio cifrato, permette di ricostruire il messaggio chiaro. Solo Biagio è in grado di decifrare il messaggio; paradossalmente lo stesso Aldo non è in grado di decifrare il messaggio da lui stesso cifrato. Questo avviene perchè la chiave per cifrare il messaggio non è la stessa di quella per decifrarlo. Tra i cifrari a chiave pubblica il più noto resta l'RSA , ma vanno ricordati anche Diffie Hellman , ElGamal, PGP , DSA, e i cifrari basati sulle curve ellittiche molto promettenti ma la cui sicurezza è molto dibattuta.
|