(PUBLIWEB)
Per quanto non sempre riceviamo informazioni riservate, a nessuno di noi farebbe piacere sapere che la propria posta venga letta da altri ... Eppure utilizziamo quotidianamente la posta elettronica, affidandogli spesso i nostri più intimi pensieri senza riflettere che un messaggio di e-mail può essere tranquillamente paragonato ad una cartolina ! Come ovviare a questo inconveniente senza perdere le grandi potenzialità della posta elettronica ? Ci vengono in aiuto la crittologia e la crittografia ... La crittologia, o crittografia, è appunto lo studio delle comunicazioni segrete . La teoria della crittologia comprende due aspetti :
1) crittografia
2) crittoanalisi
Mentre la prima è la scienza che consente lo sviluppo di comunicazioni sicure, la seconda è quella che insegna come oltrepassare le protezioni altrui : come spesso accade, per comprendere bene come fare a proteggersi, bisogna prima imparare come forzare le serrature crittografiche già esistenti ! Per trasmettere un messaggio in chiaro, cioè leggibile da chiunque, in un formato che sembri casuale o semplicemente inintelligibile, si compie una operazione chiamata encriptamento (o cifratura) . Il testo in chiaro, prima chiamato plain-text, viene poi chiamato cipher-text, cioè testo cifrato . Il passaggio da testo in chiaro a testo cifrato è circolare e passa attraverso le fasi parallele e speculari della cifratura e della decifrazione . Ma come si cifra (o decifra) un messaggio ?
Ci si serve di speciali programmi che manipolano un testo in chiaro attraverso algoritmi per trasformarlo in un testo cifrato . Questi algoritmi possono essere molto semplici ma anche molto complicati ; in fondo dalla loro complessità dipende la resistenza dei messaggi cifrati ai tentativi di decifrazione fraudolenta . In definitiva da essi dipende l'efficienza (e cioè la reale funzionalità) di tutta l'operazione ! L'insieme delle operazioni e degli algoritmi di cifratura e decifratura viene chiamato crittosistema . Un sistema molto semplice ci crittografia è il cosiddetto codice Cesare : questo sistema prende il nome proprio da dal suo inventore, Giulio Cesare in persona che lo utilizzò con successo durante le innumerevoli battaglie . Il codice Cesare è un esempio di codice cifrato a sostituzione semplice : ciò significa che ogni carattere del testo viene sostituito sistematicamente (cioè senza variazioni alla regola) con un altro carattere . Cesare immaginò la sovrapposizione di due alfabeti :
A B C D E F G H I L M N O P Q R S T U V Z
U V Z A B C D E F G H I L M N O P Q R S T
Le due liste, sono identiche (se osservate senza soluzione di continuità, cioè immaginate come stampate lungo una striscia di carta circolare o lungo il parallelo di una sfera) ma se confrontate risultano sfalsate di tre lettere : la' dove la prima ha la A, la seconda ha la U, la' dove una ha la B la seconda ha la V e così via ... Chi scrive il messaggio sa che deve trasformare ogni carattere del suo testo nel 4° carattere successivo ; viceversa chi riceve il messaggio sa che deve trasformarlo nel 4° carattere precedente . Chi di noi non ha mai mandato un messaggio segreto ad un compagno di classe ? Il sistema è proprio lo stesso ... Facciamo un esempio concreto : come diventerebbe il seguente messaggio?
CIAO COME STAI ?
Il messaggio cifrato ricevuto dal destinatario sarà :
ZFUL ZLHB PQUF ?
Non è certo un sistema sofisticato, ma risultò estremamente utile al suo ideatore : era cioè funzionale perché all'epoca in cui venne usato presentava una capacità di resistenza agli attacchi (tentativi di decifratura) proporzionata all'importanza dei messaggi ed alle capacità tecniche degli assalitori :come avremo modo di vedere in seguito, di ciò molto poco è cambiato ... La funzionalità di un crittosistema quindi varia in relazione dell'ambiente in cui deve essere veicolato il messaggio, dove per ambiente si considera :
- il valore delle informazioni trattare per il binomio mittente-destinatario
- il valore delle stesse informazioni per l'intercettatore
- i possibili rischi di intercettazione
- la dotazione tecnologica di cui l'intercettatore plausibilmente dispone
Un primo miglioramento di questo antico e semplice crittosistema si ebbe con il Root-13 . Con questo algoritmo si opera una semplice sostituzione semplice di carattere, scegliendo un corrispondente che trova 13 posizioni più oltre nello stesso alfabeto . Poiché l'alfabeto inglese è composto da 25 caratteri, tanto il mittente quanto il destinatario (cifratore e decifratore) dovranno compiere la medesima operazione ! In effetti il codice Cesare ed il Root-13 usano lo stesso algoritmo in cui però variano le regole applicate . Ciò implica che un crittosistema non è intercambiabile con altri, cioè non è possibile cifrare un messaggio con un codice Cesare e sperare di decifrarlo con un Root-13 (e viceversa) !
Rubrica sulla sicurezza informatica a cura di
Michele Truppi
|