Crittografia e Protezione
La parola crittografia deriva dal greco e sta per scrittura nascosta. Con questo termine si sono indicate le tecniche di trasformazione del testo per renderlo segreto, che l’uomo usa da millenni, soprattutto per affidare ai messaggeri ordini che il nemico non possa interpretare, anche se il messaggero è catturato.
L’esempio più antico di crittografia viene fatto risalire al 1990 a.C., più precisamente a un’iscrizione in caratteri geroglifici nella camera principale della tomba del nobile Khnumhotep II, in cui il testo è nascosto parzialmente dall’uso di geroglifici di uso infrequente.
I greci utilizzavano dei bastoni, detti scitale, sui quali si avvolgeva una striscia di cuoio, più o meno come sul manico di una racchetta da tennis. Il testo scritto sulla striscia di cuoio veniva spedito senza la scitala su cui era stato codificato. Il testo era nascosto perché i caratteri del testo erano mischiati e sarebbero stati nella sequenza giusta solo su una scitala del diametro appropriato. Cesare impiegò un sistema semplice e ingegnoso: il testo veniva crittografato sostituendo ogni lettera con la lettera situata un certo numero di posizioni più in là nell’alfabeto. Per esempio, il testo CIAO, si scrive DLBP in un codice Cesare di ordine uno. Ogni lettera nel testo cifrato è una posizione dopo la corrispondente nel testo in chiaro. Per aiutare la codifica, si possono usare dischi concentrici, contenenti le lettere. Spostando il disco interno di un numero determinato di posizioni, le lettere affacciate permettono codifica e decodifica. Questi strumenti di codifica sono sicuri nella misura in cui il metodo di codifica non è noto. Se chi riceve il testo cifrato conosce il metodo di cifratura, può trovare il testo in chiaro con pochi tentativi. Il punto debole di un codice Cesare, sta nel fatto che a una lettera in chiaro corrisponde sempre la stessa lettera nel testo cifrato. Questo significa, per esempio che la caratteristica frequenza di certe vocali come le a e le e, rimane la stessa nel testo cifrato, dando indicazioni sulla chiave di codifica.
Un passo avanti decisivo, lo fece l’italiano Giovan Battista Bellaso nel 1553, immaginando un cifrario in cui l’ordine del codice cambia in ogni posizione. L’ordine del codice usato, viene determinato da un testo chiave. Per esempio, se la chiave è CIAO, in prima posizione su usa un codice Cesare di ordine 3, in seconda 9, in terza 1 e in quarta 13. Dalla quinta posizione in poi, si riparte da capo seguendo la chiave. La novità di questo approccio, sta nel fatto che per usare il codice non è sufficiente conoscere il metodo di cifratura.
Per quanto sia noto l’algoritmo di cifratura, il testo non è leggibile da chi non ha la chiave. Una caratteristica estremamente utile in questi tempi popolati dai computer e assolutamente vincente cinque secoli fa. Inoltre, dato che si usa una codifica diversa per ogni lettera, cioè un alfabeto di cifratura per ogni posizione, il metodo produce risultati molto diversi a seconda della chiave.
Il metodo di Bellaso è stato pubblicato qualche anno dopo dal criptologo francese Blaise de Vigenère, ed è noto come la Cifra di Vigenère.
Più di recente, una versione evoluta di questo metodo, complicata dall’uso di tre stadi successivi di cifratura, affidati a rotori elettromeccanici, fu al centro di studi disperati durante la seconda guerra mondiale. I servizi segreti polacchi riuscirono a attaccare il codice e il gruppo di Beltchley Park, guidato da Alan Turing, riuscì a inventare una macchina, chiamata Ultra, capace di decrittare i messaggi tedeschi, come è raccontato nel film The Imitation Game.
Oggi, i computer rendono possibile cifrare con algoritmi molto complessi e sofisticati in tempi molto ridotti, purtroppo è anche vero l’inverso, cioè che gli attacchi a un cifrario possono essere infinitamente più veloci di quanto erano ai tempi di Alan Turing. I problemi che si affrontano per garantire la riservatezza di una comunicazione, quindi sono su due fronti paralleli.
Da un lato occorre trovare cifrari sempre più robusti, dall’altro, ci vogliono tecniche di comunicazione, che assicurino che un canale di scambio messaggi sia sia ragionevolmente sicuro. La crittologia divide i sistemi di cifratura in due grandi categorie: quelli a chiave simmetrica e a chiave asimmetrica.
La prima fino a pochi anni fa era l'unico metodo crittografico esistente, con cui si faceva uso di un'unica chiave sia per proteggere il messaggio che per renderlo nuovamente leggibile. Il problema era condividere la chiave di cifratura con il destinatario del messaggio criptato senza che questa venisse scoperta. La ricerca sulla crittografia simmetrica ha negli anni prodotto sistemi crittografici di tutto rispetto (ultimo tra tutti il cifrario Rijndael, scelto per il nuovo standard Advanced Encryption Standard per essere utilizzato nel prossimo ventennio, sostituendo l'ormai datato Data Encryption Standard.
La crittografia asimmetrica è la vera novità del secolo scorso. E' una tecnica crittografica che utilizza chiavi diverse per cifrare e per decifrare un messaggio, facilitando incredibilmente il compito di distribuzione delle chiavi. Infatti in questo caso non è necessario nascondere le chiavi o le password: c'è una chiave per crittografare (che chiunque può vedere) e una per decifrare, che conosce solo il destinatario senza necessità quindi di riceverla (scambiarla) dal mittente.
Siccome la crittografia asimmetrica è molto lenta, se si devono spedire grandi quantità di dati si usa solitamente questo tipo di crittografia per scambiarsi una chiave con cui iniziare una comunicazione in crittografia simmetrica, molto più semplice, veloce e sicura.
Le applicazioni della crittografia moderna sono diffuse nell'ambito informatico e telecomunicazionistico in tutti i casi in cui è richiesta confidenzialità dei dati, ad esempio, in messaggi e file presenti su supporti di memorizzazione, nelle comunicazioni wireless (Wi-Fi e reti cellulari) per garantire la confidenzialità (ad es. WEP e WPA), nella Rete Internet per oscurare la comunicazione dati in transito tra client e server (protocolli SSH, SSL/TSL, HTTPS, IPsec), nelle transazioni finanziarie-bancarie (home banking), nella pay per view per impedire la visione di contenuti audiovisivi a pagamento ai non abbonati, ecc...
Fonti:
PC Professionale Novembre 2017 - pp.116-118