Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Tesina - Premio maturità 2009
Titolo: LA CRITTOGRAFIA
Autore: Fazio Jessica
Scuola: Istituto tecnico commerciale
Descrizione: Quando si parla di crittografia oggi ci si riferisce a quell'arte (o scienza) che fornisce uno strumento adatto a mantenere segrete tutte quelle informazioni che non si vogliono divulgare pubblicamente in maniera tale che la possibilità di accedervi sia data soltanto ad uno o ad un ristretto numero di persone autorizzate che "sappiano come farlo". L'operazione tramite la quale si nascondono le informazioni è chiamata cifratura oppure crittazione, ed è effettuata tramite un apposito algoritmo chiamato cifrario; l'informazione o il messaggio da cifrare è noto come testo chiaro ("plaintext"); la crittazione sfrutta come mezzo fondamentale una chiave detta chiave del cifrario per convertire il testo chiaro in testo cifrato o crittogramma ("ciphertext"). Con decrittazione si intende la conversione da testo cifrato a testo chiaro e anch'essa sfrutta la chiave del cifrario. L'ambito nel quale sono effettuate le operazioni di crittazione e di decrittazione è chiamato crittosistema. Con crittoanalisi invece si intende la pratica del rivelare ciò che la crittografia tenta di nascondere. Il termine crittologia, infine, include sia la crittografia che la crittoanalisi.
Storicamente l'utilizzo della crittografia è stato proprio di 4 diversi gruppi di persone: i militari, i corpi diplomatici, i diaristi e gli amanti. I militari hanno sicuramente giocato il ruolo più importante in quanto la crittografia applicata a scopi bellici ha rappresentato per molti secoli un'arma determinante nelle mani di coloro che sapevano come usarla. Una delle principali limitazioni al suo uso era rappresentata dal fatto che coloro che erano addetti alla cifratura (un gran numero di impiegati vista la mole dei messaggi da inviare) dovevano adoperare mezzi inadeguati (non erano ancora presenti i computer) e lavorare in condizioni oltremodo scomode, ad esempio in mezzo ad un campo di battaglia. Come se non bastasse la crittografia poteva rivelarsi un arma a doppio taglio nel caso in cui un addetto alla codifica cadeva nelle mani del nemico: se ciò accadeva era necessaria una immediata modifica del metodo crittografico, e questo richiedeva, tra l'altro, il riaddestramento di un gran numero di persone.
Area: tecnologica
FAZIO JESSICA
ISTITUTO TECNICO COMMERCIALE STATALE
AGOSTINO FOSSATI – LA SPEZIA
MATURITA’ 2008-2009
1
Crittografia
Cos'e la crittografia?
Quando si parla di crittografia oggi ci si riferisce a quell'arte (o scienza) che
fornisce uno strumento adatto a mantenere segrete tutte quelle informazioni
che non si vogliono divulgare pubblicamente in maniera tale che la possibilità
di accedervi sia data soltanto ad uno o ad un ristretto numero di persone
autorizzate che "sappiano come farlo". cifratura
L'operazione tramite la quale si nascondono le informazioni è chiamata oppure
crittazione, cifrario;
ed è effettuata tramite un apposito algoritmo chiamato l'informazione o il
testo chiaro
messaggio da cifrare è noto come ("plaintext"); la crittazione
chiave del cifrario
sfrutta come mezzo fondamentale una chiave detta per
testo cifrato crittogramma
convertire il testo chiaro in o ("ciphertext").
decrittazione
Con si intende la conversione da testo cifrato a testo chiaro e
anch'essa sfrutta la chiave del cifrario. L'ambito nel quale sono effettuate le
crittosistema.
operazioni di crittazione e di decrittazione è chiamato Con
crittoanalisi invece si intende la pratica del rivelare ciò che la crittografia
crittologia,
tenta di nascondere. Il termine infine, include sia la crittografia
che la crittoanalisi.
Storicamente l'utilizzo della crittografia è stato proprio di 4 diversi gruppi di persone: i militari, i
corpi diplomatici, i diaristi e gli amanti.
I militari hanno sicuramente giocato il ruolo più importante in quanto la crittografia applicata a
scopi bellici ha rappresentato per molti secoli un'arma determinante nelle mani di coloro che
sapevano come usarla.
Una delle principali limitazioni al suo uso era rappresentata dal fatto che coloro che erano
addetti alla cifratura (un gran numero di impiegati vista la mole dei messaggi da inviare)
dovevano adoperare mezzi inadeguati (non erano ancora presenti i computer) e lavorare in
condizioni oltremodo scomode, ad esempio in mezzo ad un campo di battaglia.
Come se non bastasse la crittografia poteva rivelarsi un arma a doppio taglio nel caso in cui un
addetto alla codifica cadeva nelle mani del nemico: se ciò accadeva era necessaria una
immediata modifica del metodo crittografico, e questo richiedeva, tra l'altro, il riaddestramento di
un gran numero di persone.
Ma non si pensi che la crittografia sia una pratica attuata soltanto negli ultimi secoli; in verità
essa è una delle scienze più note sin dai tempi remoti.
Criptare è una parola che viene dal greco "cryptos" -nascosto-; si hanno traccia di applicazioni
di crittografia (in special modo sulle comunicazioni) risalenti persino agli antichi egizi. Uno dei
più antichi cifrari che si conoscano è il "Cesareo", utilizzato dagli imperatori romani.
Augusto,
Cesare ad esempio, scriveva i suoi messaggi sostituendo ogni lettera con quella
Giulio Cesare
successiva, cosi che "CESARE" diventava "DFTBSF", mentre sostituiva ogni
lettera con quella che la segue tre posti più in là nell'alfabeto codificando "CESARE" come
"FHVDUH". CIFRARI DI SOSTITUZIONE.
Questi semplici metodi fanno parte della categoria dei Se ne
vedranno di seguito alcuni tra i più importanti, che sono stati adoperati con una certa frequenza
negli anni addietro ma ai quali oggi nessuno si sognerebbe di affidare i propri messaggi
2
riservati.
Generalizzando il cifrario di Cesare se ne può costruire uno nel quale l'alfabeto del cifrario sia
traslato di "k" lettere invece che sempre di tre.
Un miglioramento successivo consiste nello stabilire una corrispondenza arbitraria fra i simboli
del testo chiaro (come le 26 lettere dell'alfabeto) ed i simboli del testo cifrato; ad esempio:
testo chiaro: a b c d e f g h i j k l m n o p q r s t u v w x y z
| | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | |
testo cifrato: q w e r t y u i o p a s d f g h j k l z x c v b n m
sostituzione monoalfabetica,
Questo sistema generale è noto come in cui la chiave è la
stringa di 26 lettere corrispondente all'alfabeto completo. crittoanalista,
Tale cifrario potrebbe sembrare sicuro perchè anche se il scoprisse che è stato
adottato il metodo di sostituzione lettera per lettera, sarebbe lo stesso difficile per lui trovare la
chiave giusta fra tutte quelle possibili (che sono 26!=4*(10^26)).
In realtà è facile attaccare il cifrario: basta conoscere le proprietà statistiche del linguaggio con
cui il testo chiaro è stato scritto, per esempio le lettere, i digrammi, i trigrammi più ricorrenti in
quel particolare linguaggio e sostituire quindi queste lettere a quelle più ricorrenti nel testo
cifrato. In questo modo non bisogna fare molta fatica per rivelare esattamente tutto il contenuto
reale del crittogramma.
Si potrebbe a questo punto pensare di appianare le differenze nelle frequenze delle lettere del
testo cifrato introducendo più alfabeti da usare a rotazione, ottenendo un cosidetto cifrario
polialfabetico. cifrario di Vigenére
Un esempio è il cosidetto che consiste di una matrice quadrata contenente
alfabeti di Cesare.
26
La prime riga chiamata riga "A" contiene l'alfabeto reale; la seconda riga (riga "B") contiene
l'alfabeto traslato e ruotato di una posizione (BCDE....XYZA) e così via fino all'ultima riga detta
riga "Z" che contiene la sequenza ZABC....WXY.
La chiave questa volta è una singola parola o frase, possibilmente facile da ricordare che viene
ripetutamente scritta sopra il testo da cifrare. Ad esempio, con la chiave "lavorare":
lavorarelavorarelavorarelavorarelavorarelavorarelavorarelavorarelavorare
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lafaticasisanonpiaceatuttimaèdifficilechesenzafaticaqualcunopossapiacere
La lettera della chiave sopra la lettera del testo chiaro determina la riga da usare per la
cifratura. In questo modo una lettera del testo chiaro sarà rappresentata da lettere diverse nel
testo cifrato, a seconda della sua posizione nel testo chiaro.
Ma anche questi cifrari possono essere facilmente svelati: se per ipotesi si conoscesse la
lunghezza "k" della chiave, si potrebbe spezzare il testo cifrato in blocchi aventi quella
lunghezza, sovrapporli e ottenere così ogni colonna codificata secondo un cifrario
monoalfabetico, che abbiamo visto essere facile da attaccare. Per conoscere il valore esatto di
"k" si procede per tentativi fino a quando non si trova un valore per il quale le frequenze relative
dei vari cifrari monoalfabetici sono uguali e approssimativamente corrispondenti a quelle del
linguaggio con cui il messaggio è stato scritto. di una
Per cifrare con buona garanzia di sicurezza si può adoperare il metodo della "chiave
sola volta", che consiste nel generare una chiave che è composta da soli bit, più lunga
dell'intero messaggio, trasformare quest' ultimo in un altra stringa di bit (ad esempio usando la
corrispondente codifica ASCII) e facendo una operazione di "exclusive OR" tra le due stringhe
di bit per ottenere il testo cifrato.
Questo metodo ha però delle ovvie difficoltà rappresentate dall'uso di una chiave troppo lunga
per essere gestita e ancora più se il testo chiaro è molto lungo.
3
Se i cifrari di sostituzione conservano l'ordine dei simboli di testo chiaro ma li camuffano, esiste
CIFRARI DI TRASPOSIZIONE
un altra categoria di cifrari detti che riordinano le lettere senza
alterarle. Per tale operazione si può eseguire una "trasposizione colonnare": si trova una chiave
che è una parola o frase che non contiene alcuna lettera ripetuta, e dopo aver disposto il
messaggio da cifrare in righe sovrapposte di lunghezza uguale a quella della chiave, si
numerano le colonne così ottenute assegnando il numero 1 a quella posta sotto la lettera della
chiave che è più vicina all'inizio dell'alfabeto e così via fino al numero che corrisponde alla
lunghezza della chiave.
Il testo cifrato viene successivamente letto dalle colonne, partendo da quella con il numero
minimo .
Anche un cifrario del genere può essere svelato. Bisogna prima di tutto sapere che si ha a che
fare con un cifrario di trasposizione, successivamente bisogna indovinare il numero di colonne
(la lunghezza della chiave) e questo si può fare per tentativi se si sospetta che una determinata
parola o frase può essere presente nel testo, e infine occorre ordinare le colonne nel corretto
ordine, anche qui vagliando diverse combinazioni possibili (cosa semplice questa se "k" non è
un numero molto grande).
Dall' analisi di questi metodi crittografici classici si evince che il computer sia un potente
crittoanalista,
strumento nelle mani di un attraverso il quale si può decifrare un testo crittato.
La crittografia moderna si basa sulle stesse idee di quella tradizionale, cioè sostituzione e
trasposizione, ma la sua importanza è diversa.
Tradizionalmente i crittografi hanno utilizzato algoritmi molto semplici e si sono affidati a chiavi
molto lunghe per la loro sicurezza. Oggi invece la tendenza si è invertita: si cerca di rendere
l'algoritmo di cifratura così complicato che anche se il crittoanalista disponesse di enormi
quantità di testo cifrato di sua propria scelta, non sarebbe in grado di trovarci alcun senso.
Tecniche di crittografia
Al giorno d'oggi la parola Crittografia è usata per indicare una grande
varietà di tecniche il cui obiettivo congiunto è quello di garantire la completa
riservatezza delle informazioni consentendo applicazioni quali
denaro elettronico
l'autenticazione, il e molte altre ancora.
Alcuni metodi si basano sulla segretezza degli algoritmi utilizzati; tuttavia
essi sono soltanto di interesse storico e non si adattano alle necessità del
mondo odierno.
In effetti una regola fondamentale della crittografia moderna è che bisogna
crittoanalista
supporre che il conosca il metodo generale di cifratura impiegato. La quantità di
sforzi necessari per inventare, collaudare e installare un nuovo metodo ogni volta che quello
vecchio è compromesso (o si pensa che lo sia) ha sempre reso poco pratico il mantenimento di
tale segreto, ed il fatto di pensare che esso sia un segreto quando in realtà non lo è fa più male
che bene.
Entra quindi in gioco la chiave, che è una stringa di caratteri che seleziona una tra le molte
cifrature potenziali. Tutti i moderni metodi utilizzano una chiave per eseguire la crittazione e la
decrittazione; un messaggio può essere decrittato solo se la chiave di decifratura si "accoppia"
con quella di cifratura. Per alcuni algoritmi le due chiavi sono uguali, mentre per altri esse sono
diverse.
In base a questa sostanziale differenza gli algoritmi basati sullo utilizzo di chiavi si dividono in
simmetrici chiave simmetrica chiave segreta) asimmetrici
algoritmi (detti anche a o a e
chiave asimmetrica chiave pubblica).
(detti anche a o a
algoritmi simmetrici
Gli sono quelli usati dalla crittografia classica ed essi permettono al
mittente e al destinatario di usare la medesima chiave per rispettivamente crittare e decrittare
cifrari a flusso e cifrari a blocco.
un messaggio. Questo tipo di algoritmi si dividono in
4
I primi possono crittare un
solo bit di testo chiaro alla
volta, mentre i secondi
prendono un certo numero
di bit (tipicamente 64 bit
nei moderni cifrari) e li
crittano come una singola
unità.
sistemi a chiave
I
simmetrica possono
essere utilizzati per
implementare servizi di
sicurezza quali:
Riservatezza, che protegge l'informazione da visione non autorizzata. Spesso la
• protezione riguardo solo il corpo del messaggio e non la testata, trasmessa in chiaro per
semplificare l'instradamento del messaggio fino al destinatario (ai destinatari).
Integrità;, cha garantisce che l'informazione non venga alterata e che il messaggio arrivi
• esattamente come è stato spedito.Tecniche combinate di cifratura e controlli algoritmici
(tipo checksum, CRC, ecc) vengono usate per implementare questo servizio.
Autenticazione, che serve a prevenire la dissimulazione degli utenti; consente al vero
• mittente di includere nel messaggio informazioni che lo identifichino con certezza.
Tuttavia per sistemi di tal genere non mancano i punti deboli: