New York, 22 giugno 1953. Il piccolo Jimmy Bozart, un venditore di giornali, riceve come pagamento una moneta da 5 centesimi di dollaro, quello che gli americani chiamano “nichelino”

Questo scambio di denaro, uno come tanti nel tempio mondiale del capitalismo, farà fumare il cervello di molte persone al 935 di Pennsylvania Avenue.

Il ragazzino, resosi immediatamente conto del peso anomalo della moneta, la fa cadere a terra. Il nichelino si apre in due e mostra al suo interno uno scompartimento segreto.

 

hollow-nickel

 

Come nei migliori (o peggiori, a scelta) film di spionaggio la moneta contiene un microfilm dal contenuto ovviamente cifrato.

Che finisce dopo poche ore nelle mani di FBI ed NSA.

I cervelloni del controspionaggio si impegnano giorno e notte per decifrare il messaggio ma i risultati tardano ad arrivare. Dopo 3 anni, infatti, anche i migliori matematici degli USA si ritrovano con un pugno di mosche.

Si ipotizza che per decifrare il codice serva qualche strumento elettronico non ancora identificato, anche se il fatto di avere trovato tale codice in una moneta fa pensare ad un semplice cifrario carta e penna.

 

message

 

Quello che però i matematici non sanno è che a loro manca un pezzo del puzzle, un pezzo che dobbiamo andare a cercare molti secoli prima.

 

ABOUT1-superJumbo

1957: Jimmy Bozart riceve un encomio dal capo della Polizia di New York, Stephen P. Kennedy, mentre il Detective Frank Milley assiste. Credit Patrick A. Burns / The New York Times

 

 

 

La Scacchiera di Polibio

Eccoci arrivati in Grecia, attorno al 150 a.c. Polibio crea un sistema di crittografia tanto insicuro quanto determinante per lo sviluppo della scienza stessa, il quadrato di Polibio.

Questo sistema ha in realtà, come natura, un altro scopo:

la comunicazione a distanza.
1 2 3 4 5
1 a b c d e
2 f g h i/j k
3 l m n o p
4 q r s t u
5 v w x y z

 

Se dal punto di vista della crittanalisi ( in termini tecnici ) il quadrato è una ciofeca, la scacchierà è in realtà molto utile per le comunicazioni a distanza tramite l’ausilio di torce.

 

22522_polibio
La scacchiera di Polibio non nacque come sistema crittografico bensì come sistema per comunicare a distanza: era in pratica una sorta di antico telegrafo. Polibio descrive infatti nelle Storie il suo come un metodo per inviare messaggi mediante l’uso di torce. Un uomo si poneva dietro ad un riparo con 5 torce alla sua destra e 5 torce alla sua sinistra: la comunicazione avveniva mediante il sollevamento di un determinato numero di torce per lato. Il numero era dato proprio dalle coordinate (il numero di riga e quello di colonna) delle lettere del messaggio all’interno della scacchiera

Fonte Wikipedia

 

Esempio pratico: volendo comunicare a distanza la parola “pippo” dovrò quindi “spedire” le seguenti coppie di numeri (ogni coppia identifica una lettera):

35 24 35 35 34

Fuoco alle torce!

 

Possiamo comunque dire che Polibio, con la sua scacchiera,

ha gettato le basi per quella che in futuro sarà la crittografia.

 

 

 

L’ evoluzione nichilista

Facciamo un passo avanti di qualche secolo ed arriviamo nella Russia zarista.

Nel 1863 fu fondato a Mosca dall’uditore di quella Università Nikolaj Andreevič Išutin (1840-1879) un circolo rivoluzionario, che si unificò due anni dopo con quello fondato dall’etnografo Ivan Aleksandrovič Chudjakov (1842-1876). Sostenitori della creazione di comunità agricole e cooperative nella linea del socialismo utopistico, essi ritenevano che il regicidio e l’omicidio dei ministri e dei funzionari zaristi favorisse la spinta rivoluzionaria della popolazione. A questo scopo, lo studente moscovita Dmitrij Vladimirovič Karakozov (1840-1866), di famiglia nobile, si recò nella capitale per sparare allo zar Alessandro II il 4 aprile 1866, ma fallì il colpo e, arrestato e processato, fu impiccato. La figura del giovane intellettuale rivoluzionario di questo periodo è stata tratteggiata nei romanzi Padri e figli di Ivan Sergeevič Turgenev, pubblicato nel 1862 e I demoni di Fëdor Dostoevskij del 1871: il nichilismo politico fu teorizzato da Sergej Gennadievič Nečaev (1847-1882).

Fonte Wikipedia

 

Potete benissimo capire come, se si ha intenzione di sparare ad uno zar, sia bene comunicare le proprie intenzioni ai propri compagni in maniera un filo più sicura rispetto a quella vista precedentemente.

Ok che sono comunisti ma non è mai bello trovarsi del polonio nel caffelatte :troll.

I nostri cari socialisti-utopico-rivoluzionari (mi spiace, non riesco proprio a farmeli stare antipatici, lo ammetto) pensano così di partire dalla scacchiera di Polibio ed aggiungere una trasposizione alla composizione della stessa.

Con molta fantasia questa tecnica viene chiamata “Cifrario Nichilista”.

In pratica nelle prime caselle scriviamo la parola decisa come chiave e poi, in ordine alfabetico, completiamo la scacchiera con le lettere mancanti.

 

1 2 3 4 5
1 p l u t o
2 a b c d e
3 f g h i/j k
4 m n q r s
5 v w x y z

 

Quella che vedete sopra è una scacchiera nichilista creata utilizzando la chiave “pluto“. non si ha alcun vincolo riguardo la lunghezza della chiave, il fatto che occupi una ed una sola riga nella scacchiera è solo un caso.

 

Esempio pratico: volendo comunicare a distanza la parola “pippo” dovrò quindi “spedire” le seguenti coppie di numeri (ogni coppia identifica una lettera):

11 34 11 11 15

 

A questo punto si cifra il messaggio lettera per lettera, secondo la metodologia usata da Polibio.

Anche in questo caso avremo quindi, per ogni lettera, una corrispondenza n1,n2 ovvero le coordinate della lettera stessa nel nostro cifrario.

In questo modo solo chi possiede la chiave della scacchiera (pluto) può decifrare in maniera chiara il messaggio inviato.

Il funzionamento (dal punto di vista della cifratura) e le rispettive lacune di questo metodo sono simili a quelle del cifrario di Vigenère del quale vi ho già raccontato qui:

https://leganerd.com/2013/10/08/le-number-stations/

Utilizzando anche in questo caso dei termini tecnici, la cifratura di questo messaggio è oggi un colabrodo.

La debolezza del Vigenère sta nell’essere, di fatto, un insieme di n cifrari di Cesare, dove n è la lunghezza della chiave; se il crittoanalista riesce a determinare la lunghezza della chiave (nel nostro caso, n) la decrittazione diventa molto semplice.

Fonte Wikipedia

 

Come per il cifrario di Vigenère

la lunghezza della chiave è la discriminante che rende sicuro o meno il messaggio cifrato.

A chiavi corte e ripetute corrisponde una sicurezza bassa, a chiavi lunghe e uniche corrisponde un ottimo grado di sicurezza.

In realtà però, nonostante le chiavi utilizzate non siano state particolarmente articolate,  il metodo nichilista ha funzionato per molto tempo e solo verso la seconda metà dell’800 si sono avute le competenze statistiche per decifrare senza grossi problemi i messaggi cifrati in questa maniera.

In pratica il buon Charles Babbage se la mangiò a colazione questa cifratura.

Ma come sappiamo non tutti sono Charles Babbage, quindi il metodo non era poi così male nella realtà, in un mondo nel quale le conoscenze circolavano in maniera molto meno rapida di oggi (aka le lauree non si ottenevano su youtube).

 

 

 

Il cifrario VIC

Bene, lasciamo i nostri comunisti cosmici alla loro eterna lotta contro i mulini a vento ( <3 ) e procediamo con la nostra storia. Abbiamo un po’ divagato e quasi non ci ricordiamo più di quel nichelino cavo dal quale siamo partiti.

Ma lui è ancora lì a fare perdere il sonno a statistici e matematici.

Dopo che Babbage e compagnia hanno dimostrato come con Vigenère ci si potesse giusto giocare a carte si è tentato di mettere una pezza a questa falla nella sola maniera possibile,

ovvero aumentando a dismisura la lunghezza della chiave.

Questo porterà fino ai giorni nostri passando dal cifrario di Vernam ed al metodo dell’One Time Pad (OTP), tecnica già trattata nell’articolo precedente sulle Number Stations.

OTP ha un sacco di pregi, statisticamente parlando. E’ del tutto indecifrabile e quindi sicurissimo.

 

In moltissimi anni di ricerca (all’incirca 20 – progetto Venona) gli americani riuscirono a decifrare solo una minima parte dei messaggi registrati (sino all’apertura degli archivi del Cremlino) e solo perché i mittenti utilizzarono per più di una volta le sequenze di numeri casuali, o perché sequenze delle stesse furono sequestrate a spie arrestate.
I sovietici erano talmente sicuri di questo sistema che trasmisero i messaggi “in chiaro”, ovvero senza sovracifrature.

Fonte Wikipedia

 

Però nella pratica, quella in cui la Terra non è perfettamente sferica, di problemi ne ha un sacco.

Prima di tutto è molto sbatta, perché la chiave deve per forza di cose essere di lunghezza uguale o maggiore del messaggio. Una chiave lunga è più difficile da nascondere.

Poi devo avere, a questo punto, una serie di chiavi da usare o poi buttare via.

Converrete con me che se devo avere uno Zanichelli nel corredo della perfetta spia allora non sono proprio una perfetta spia.

Nella pratica queste leggi non sempre venivano rispettate, per ovvi motivi logistici, e quello che ne nasceva era un messaggio cifrato OTP “a cazzo di cane” (cit. Boris).

Tutte queste problematiche hanno portato diversi matematici sovietici a percorrere un’altra strada per rendere sicure le proprie comunicazioni, senza la necessità di impazzire con migliaia di chiavi usa & getta.

L’idea alla base di questo cifrario è quella di usare una scacchiera a diffusione al posto di quella classica di Polibio.

 

In crittografia una scacchiera a diffusione (o straddling checkerboard secondo la terminologia inglese) è un sistema per la conversione di un testo in chiaro alfabetico in cifre ottenendo simultaneamente il frazionamento (una semplice forma di diffusione dell’informazione) e l’omofonia (un semplice metodo per appiattire i picchi della distribuzione delle frequenze). La scacchiera a diffusione è anche nota come cifrario monomio-binomio.

fonte wikipedia

 

In termini pratici (per quelli teorici vi lascio ai link a fondo articolo) questa è una scacchiera 10*3 (al netto di riga/colonna delle coordinate) che riporta, nella prima riga le 8 lettere più utilizzate dalla lingua inglese.

La chiave vincente di questa scacchiera sono proprio i 2 spazi vuoti lasciati alla prima riga.
 0 1 2  3 4 5  6 7  8  9
 e t  a o  n  r i s
2  b  c d  f g  h  j  k  l m
6  p q  \  u  v  w  x  y  z .

 

La scacchiera è così composta:

  1. la prima riga  (0-9) è l’intestazione.
  2. La seconda sono le lettere più usate nel linguaggio inglese, distribuite a caso nella riga. La riga non ha numero di intestazione.
  3. La terza riga è completata in ordine alfabetico e ha come intestazione il primo numero di colonna lasciato libero nella riga precedente (2).
  4. Quattro.
  5. La quarta riga idem (quindi intestazione 6) , con l’aggiunta di due caratteri random (in questo caso “\” e “.”) in posizione casuale del tutto ininfluenti.

 

Volendo comunicare il nostro solito messaggio “pippo”, otterremmo la seguente stringa:

60 8 60 60 4

Quello che la prima riga ci permette di fare è quindi spezzare la relazione

lettera->(n1,n2)

che aumenta molto la decifrabilità del messaggio.

La stringa precedente andrebbe infatti letta senza spazi, ovvero:

60860604

Prendendo quindi la prima cifra (6) senza avere la scacchiera usata in fase di spedizione, non sapremmo se quel numero corrisponda ad una lettera o sia solo la prima parte di una delle lettere nelle righe 3 o 4.

Una lettera può infatti essere identificata sia da un numero che da una coppia di numeri, in base alla riga nella quale è stata messa.

Per ulteriore sicurezza il messaggio, prima di essere spedito, veniva spesso addizionato in base 10 o con altri sistemi volti ad “appiattire” i picchi della distribuzione.

Mi rendo conto che sto semplificando la faccenda dal punto di vista matematico ma i più duri e puri possono seguire i link a fondo pagina.

 

 

 

 

Intanto, al J. Edgar Hoover Building…

Possiamo finalmente tornare a Pennsylvania Avenue, dove abbiamo lasciato i cervelloni fumanti dell’ antispionaggio. Capiamo ora la difficoltà del loro compito e del perché dopo 4 anni di studi quel maledetto messaggio cifrato rimanga un mistero.

non possedendo la scacchiera a diffusione originaria il loro compito è molto difficile, se non impossibile.

 

Ma nel maggio del 1957 succede qualcosa: un sovietico dal nome finnico e dall’aspetto di un boss mafioso entra nell’ambasciata americana a Parigi.

Reino_HäyhänenSono un ufficiale dei Servizi Segreti Sovietici. Negli ultimi 5 anni ho operato negli Stati Uniti. Adesso mi serve il vostro aiuto.

Si chiama Reino Häyhänen ( nome in codice Victor) e sta tornando in Russia ma, prima del viaggio finale, decide di consegnarsi al nemico.

Il perché di questa scelta poco importa, quello che ci interessa è che lui ha la chiave per decifrare il messaggio e chiudere finalmente il caso del nichelino cavo.

Reino aiuta così FBI ed NSA nella decifrazione del messaggio e, una volta identificato il cifrario, gli viene dato il nome VIC in suo onore.

L’ex spia fa pure arrestare un paio di colleghi, spifferando all’intelligence i nomi di Mikhail Nikolaevich Svirin e Vilyam Genrikhovich Fisher, altre due spie sovietiche che, come Victor, avevano il compito di reperire informazioni riguardo al programma atomico statunitense.

Fisher, altro nome di Rudoľf Ivanovič Abeľ, è tra le altre cose il sovietico oggetto di scambio nel film “Il ponte delle spie”.
ABOUT3-blog427

Il messaggio in sè risultò piuttosto inutile, si rivelò una sorta di comunicazione di benvenuto per le spie appena giunte negli States.

Ma la soluzione del caso fu una vera e propria rivoluzione nel mondo della cifratura, rivelando una tecnica dalla poca spesa e dalla enorme resa che, senza l’uso di metodologie scomode come l’OTP,  permise per anni alle spie sovietiche di comunicare in maniera chiara e sicura.

Quanto a Reino giudicatelo come volete: eroe, traditore, opportunista. Quello che mi interessa è che abbia contribuito a rendere nota a tutti la tecnica di cifratura VIC, rendendo onore una volta di più ai matematici sovietici.

Ed al caso del nichelino cavo che ora, con una degna conclusione, è una storia da film hollywoodiano.

 

 

Se notate imperfezioni grammaticali o tecniche nell’articolo ditemi pure, vedrò di correggere. La parte matematica/statistica è stata trattata per ovvie ragioni con superficialità, non lamentatevi di questo. Oppure lamentatevi, ma verrete ignorati.