Usare messaggi cifrati è un'arte molto antica

L'arte di scrivere messaggi cifrati è molto antica, già Giulio Cesare inviava gli ordini scritti associando a ogni singola lettera quella che veniva dopo tre posizioni nell'alfabeto: la A diventava D, la B si trasformava in E, la C in F e cosi via.

Da allora, la tecnica crittografica si è molto evoluta ma le esigenze di segretezza e di riservatezza sono rimaste immutate. In questo periodo, molto si sta discutendo sulle possibilità di trasmettere informazioni sicure attraverso Internet. Le informazioni che circolano possono infatti essere intercettate facilmente su uno dei tanti nodi della Rete: per questo diventa indispensabile, soprattutto nelle transazioni economiche, avere un efficace sistema di cifratura delle informazioni.

Il problema di criptare e decriptare un messaggio è essenzialmente matematico: l'Nsa è l'agenzia governativa americana che si occupa di queste questioni ed è probabilmente oggi l'ente dove lavorano contemporaneamente più matematici. Esistono molti modi di cifrare messaggi: nella maggior parte dei casi il primo passo consiste nel tradurre il testo in una sequenza di cifre numeriche. Tale operazione non è eccessivamente complicata, se si pensa che tutte le informazioni dei computer sono in realtà una sequenza di bit, ovvero di zero e uno.

Nel codice Ascii, la "lingua" compresa dalla maggior parte degli elaboratori, alla lettera A corrisponde una sequenza determinata, che nel sistema di numerazione binaria rappresenta un preciso numero. Con procedure di questo tipo, a ogni testo è possibile fare corrispondere il suo valore numerico. Il problema di crittografare si traduce quindi nel trasformare tale numero in un altro, attraverso una funzione matematica e nel sapere eseguire l'operazione inversa che riporti al testo originario.

Queste funzioni utilizzano sequenze numeriche speciali che sono dette chiavi. Vi sono due modalità principali che possono essere utilizzate: quella a chiave simmetrica e quella asimmetrica. Nella prima, chi scrive il messaggio e chi lo riceve hanno a disposizione la stessa identica chiave.

Un sistema di questo tipo consiste, per esempio, nel sommare a ogni stringa numerica un valore particolare, che chi deve decifrare il messaggio conosce. Per esempio, se il testo da inviare è la stringa "12345" e la chiave è data dall'insieme di cifre "77342" il messaggio cifrato sarà "89687". Per essere letto occorrerà semplicemente eseguire l'operazione inversa: 89687 -77342 = 12345. Sistemi di questo tipo o più complessi non sono di facile decifratura se non si è in possesso della chiave, ma hanno l'inconveniente che la stessa chiave deve essere comunicata e così rischia a sua volta di essere intercettata.

A causa di tale difficoltà viene preferita la modalità asimmetrica, dove le chiavi di chi invia e di chi riceve il messaggio sono differenti. Tra tali sistemi, i cui principi teorici sono stati elaborati nel 1976, il più noto è l'Rsa. Qui la chiave che permette di cifrare il messaggio è "pubblica" e a disposizione di chiunque mentre la chiave di decifratura è privata ed è in possesso solo di colui che legge il messaggio. Questo sistema è asimmetrico in quanto il testo è reso illeggibile anche alla stessa persona che lo ha criptato e solo la chiave privata è in grado di aprire il messaggio.

Il sistema, che è stato descritto tecnicamente nel Sole-24 Ore del 13 febbraio, ha una chiave pubblica costituita da due cifre di cui una, molto grande, è formata dal prodotto di due numeri primi, ovvero due numeri divisibili solo da se stessi e da 1. La conoscenza di questi due valori è indispensabile per tentare di risalire alla chiave privata. Tale calcolo è però estremamente complesso: si lavora, infatti, con valori molto grandi formati da centinaia di cifre e anche i più moderni elaboratori impiegano anni per tali calcoli. Non esiste infatti, almeno fino a ora, una procedura di calcolo che associ immediatamente a ogni valore "n" i numeri che moltiplicati tra loro diano come risultato "n" stesso.

Il problema è direttamente legato alla mancanza di un algoritmo per il calcolo dei numeri primi: non esiste una formula generale che permetta di calcolare la serie di tutti i numeri primi. La sicurezza di un procedimento crittografico risiede, quindi, nel fatto che l'operazione di decifratura senza conoscere la chiave richiede un tempo lungo.

È da sottolineare, infine, che la riservatezza di un messaggio criptato risiede anche nel suo aspetto apparentemente casuale. Esistono infatti statistiche legate alle occorrenze delle singole lettere nelle parole di una determinata lingua: un messaggio sicuro è un testo in cui tale analisi risulta impossibile.

(Ndr: ripreso da Il Sole 24 Ore-Informatica "Leonardo risponde" del 21 ottobre 1998)