Crittoanalisi per Christopher Priest: Vigenére vs Babbage

Dunque, un po’ di tempo fa feci un post su Hugh Jackman e la crittoanalisi che, come i migliori film d’azione dell’australico attore, finiva con un cliffhanger per un sequel.

Visto lo straordinario successo di pubblico e di critica del precedente post, non posso quindi esimermi dal riversare saccenza su ” Le Chiffré Indechiffrable ” che saggiamente Christopher Priest, noto fan del blog, ha inserito nella versione cartacea e non celluloidica di The Prestige purché io ne parlassi un poco.

Un altro grande fan del blog esterna il suo entusiasmo per il precedente articolo.

Se avete letto il precedente articolo, saprete che con l’analisi delle frequenze e un po’ di ingegno, nessuna cifratura per sostituzione poteva essere veramente sicura: serviva qualcosa di nuovo che fregasse i dannati arabi e la loro matematica.

Per farlo, ci voleva uno di quegli odiosi uomini rinascimentali, quelli a cui non bastava essere poeti, architetti, scultori e linguisti: no, dovevano anche essere fastidiosamente saccenti e mettere le mani in pasta con la crittografia. Il fastidioso erudito in questione era Leon Battista Alberti che, intorno al 1460, propose in un saggio dedicato al suo amico Leonardo Dato, il segretario del Papa, un nuovo metodo per cifrare i messaggi: usare 2 alfabeti distinti, da alternare durante la cifratura.

Alfabeto Base:

A B C D E F G H D blablabla

I alfabeto cifrante:

I K W Z T A F V etcetcetcetc

II alfabeto cifrante:

P Q T S L Z X R yaddayaddayadda

Così,  se volessimo cifrare in questo modo la parola ” CAFFE ” sostituiremmo alla C la W con il primo alfabeto, la A con la P utilizzando il secondo alfabeto, torneremmo al primo crittando la F in A, e la seconda F col secondo alfabeto crittandola in Z, e per finire la E di nuovo con il primo alfabeto ottenendo T. CAFFE diventa quindi WPAZT. Le due F diventano due lettere diverse, e se ci fosse una doppia nel testo cifrato si riferirebbe a due lettere diverse nel testo in chiaro. Ovviamente, chi riceve il testo cifrato deve conoscere i DUE alfabeti cifranti, il che è una sbatta notevole, ma nessun ficcanaso random del 1467 avrebbe potuto leggere le lettere sconce che Paolo II mandava ai suoi amanti (Il maschile non è un errore tipografico.)

Fortunatamente per il resto del mondo, dal momento che Alberti aveva già di che passare alla storia, non si rese conto  di aver fatto la scoperta crittografica del millennio e per altri sessant’anni quasi tutti continuarono con i crackabilissimi e millenari mezzi di cifratura per sostituzione degni del peggior Hugh Jackman.

Questo almeno finché Blaise di Vigenère si ritrovo a Roma come diplomatico e si mise a leggere gli scritti di Alberti.

Blaise Vigenère, un uomo che ben comprendeva l’importanza della crittografia nella diplomazia internazionale e aveva delle sopracciglia assolutamente improbabili.
Photocredits: wikicommons

Vigenère non ha inventato la cifratura che porta il suo nome, e tra lui e Leon Battista Alberti altri matematici avevano cercato di renderla più pratica e più solida: ma il francese portò l’idea di Alberti all’estremo creando un sistema assolutamente impenetrabile.

” Due alfabeti ? Bah! Le schiappe italiane usano due alfabeti ” scriveva (non proprio verbatim) Vigenère nel  Traicté des Chiffres . ” Noi Francesi usiamo 26 alfabeti contemporaneamente, perché il nostro vino è più buono. ”

Un passante francese, che ad esempio avrebbe potuto chiamarsi Matthieu Mercier, a quel punto, si sarebbe sentito del tutto autorizzato nell’affermare che ”  Blaise, mon amì, ma se 2 alfabeti sono scomodi da memorizzare hai idea di che peine allucinante sia usarne 26 ? ”

” Oh, ma i miei alfabeti sono ben più facili da utilizzare di lettere scelte a caso: ogni alfabeto successivo è cifrato facendo uno spostamento di cesare di una sola lettera verso sinistra. Ecco, Matthieu, prendi questo e guarda ”

A quel punto Vigenère avrebbe fatto vedere al passante una tabula recta, così:

Photocredits: Wikicommons.

” Con una di queste la crittografia è très facile ” avrebbe poi aggiunto, con dipinta sulla faccia una tipica espressione da borioso saccente francese.

” Ma aspetta un momento, Vigenére ” l’avrebbe sicuramente interrotto il nostro brillante e ingegnoso passante dalle omografe iniziali ” nel momento in cui sai precisamente quali sono gli alfabeti che si usano da cifrare, cioè quelli nel tuo schemino, penetrare la cifratura del messaggio è una cosa che anche una scimmia, adeguatamente addestrata, sarebbe in grado di fare! La cifratura è sicura solo finché non si conoscono gli alfabeti cifranti! ”

” Ma no, imbecile! Non si usano tutti gli alfabeti cifranti contemporaneamente! Si sceglie una parola chiave, che il destinatario del messaggio deve conoscere, ad esempio TESLA: quindi, prendendo la tua bella Tabula decritterai i messaggi utilizzando nell’ordine il 19esimo alfabeto, visto che la T è la 19esima lettera, il quarto alfabeto per la E, e via di questo passo. In questo modo pur se tutti conoscono gli alfabeti, nessun analisi delle frequenze può penetrare i miei messaggi, e il numero di chiavi possibili è talmente alto che neppure spendendo la tua misera esistenza a provarle una dopo l’altra potresti mai riuscire a decifrar alcunché ! La mia è  Le Chiffré Indechiffrable, e mi renderà ricco e famoso. ”

Lasciando il passante cinquecentesco ad interrogarsi su cosa mai possa voler dire Tesla e a odiare la spocchia vanagloriosa di Vigenère che, alla faccia sua, sarà bellamente ignorato per due secoli e mai guadagnerà un centesimo dalla sua scoperta. La cifratura era impenetrabile, sicuramente, ma il tempo necessario per scriverci messaggi di una certa lunghezza era decisamente troppo. Ragion per cui è totalmente irrealistico che qualcuno scriva un diario intero utilizzandola.

Mi dispiace Chris. Posso accettare che Tesla costruisca macchine fantascientifiche, ma che Christian Bale scriva un intero diario usando una cifratura polialfabetica è davvero troppo oltre. PhotoCredits: http://www.christopher-priest.co.uk/about/

Prima che qualcuno tolga il sorriso dalla bocca a Vigenére, però, bisogna aspettare un sacco di tempo: ci arriverà uno dei più famosi crittoanalisti di tutti i tempi, un geniale britannico a cui dobbiamo l’invenzione del computer: no, non Alan Turing, ma Charles ” Violo-cifre-inviolabili-per-scommessa-e-già-che-ci-sono-invento-la-dendrologia” Babbage.

Charles Babbage, una mente terribilmente brillante con delle sopracciglia assolutamente nella norma.
Photocredits: Wikicommons

Charles Babbage era famoso a Londra come crittonanalista: lo faceva un po’ per sfizio e un po’ per la gloria, aiutando questo storico o quell’altro avvocato; alla fine, la sua fama era talmente grande che gente da tutto il regno unito gli mandava enigmi da decifrare.

Nel 1854, John Thwaites, un dentista di Bristol che si credeva un grande crittografo ma non conosceva afatto la storia della crittografia, si illuse di aver inventato un nuovo metodo di cifratura: in realtà, aveva indipendentemente ricreato la cifra di Vigenére. Tentò di brevettarla, ma trovo di fronte ai suoi sogni di gloria l’obiezione di Babbage, che fece presente che quel metodo era vecchio di 2 secoli e si trovava pubblicato sostanzialmente ovunque.

” Ah sì ?! ” disse ipoteticamente il dentista ” allora se sei tanto saccente Babbage viola la mia cifratura ! “. Ovviamente, il fatto che la cifratura fosse inviolabile e il fatto che la cifratura fosse originale non centran nulla: ma i fuffari, presenti e passati, hanno sempre questa tattica di distogliere l’attenzione e scaricare l’onere della prova su chi cerca di mostrare che stanno dicendo ciarpamate. Babbage, preso dallo spirito della scommessa, decise che avrebbe decrittato Le Chiffré Indecifrable, semplicemente per far tacere Thwaites.

La forza nella cifratura di Vigenere sta nel fatto che le stesse lettere in chiaro hanno più di un corrispettivo nel testo cifrato. Analogamente, parole intere saranno cifrate in più modi diversi a seconda della posizione rispetto alla parola chiave. Ma, a seconda della lunghezza della parola chiave, c’è un numero finito di modi con cui codificare una singola parola, e se il testo è abbastanza lungo, e la parola abbastanza comune, ci saranno sicuramente delle ripetizioni. Se prendiamo ad esempio una parola comune in inglese, come ” YOU ” e una chiave di 4 lettere, tipo ” SUCK “, ci saranno solo 4 combinazioni distinte che cifreranno YOU nel testo cifrato. Se la lettera da decrittare è sufficientemente lunga, è quasi certo che YOU si ripeterà. E se la distanza a cui le parole si ripetono è un multiplo esatto della lunghezza della chiave (quindi 4,8, 12 lettere), la ripetizione sarà visibile anche nel testo cifrato.

Babbage capì che per sfondare la cifratura doveva semplicemente cercare stringhe di lettere cifrate che si ripetevano. Le ripetizioni di caratteri nel testo cifrato possono anche essere casuali, è vero: sequenze di lettere diverse che crittate con la chiave in posizione diversa, generino la stessa cifra. Ma tanto è più lunga la stringa che si ripete, tanto è meno probabile che questa casualità (già di per sé abbastanza remota) si verifichi. Trovando a che distanza sono le ripetizioni di stringhe uguali, Babbage poteva trovare la lunghezza della chiave, e come tutte le altre cifrature, una volta trovata la chiave, è tutto decrittabile.

” Beh ma anche sapendo quanto è lunga la chiave ” potrebbe dire un passante sufficientemente interessato ” non sai comunque da quali lettere è composta la chiave e provarle tutte ad una ad una è una sbatta impossibile, specialmente se la chiave è di 5 o 6 lettere. ”

E Babbage era pienamente consapevole di questo problema: forse si rendeva anche conto  che, se fosse riuscito a costruire la sua macchina delle differenze #2, avrebbe potuto fare lei il lavoro in una frazione di tempo di quello che sarebbe servito ad un crittoanalista umano. Ma purtroppo, il governo  mai gli diede i soldi per farlo, e Babbage dovette trovare un metodo alternativo.

Se la chiave è di 4 lettere, il testo sarà cifrato attraverso quattro sostituzioni monoalfabetiche distinte. Cioè, partendo dal testo cifrato, la prima lettera sarà crittata utilizzando l’alfabeto cifrante 1 che, in sé, non è diverso da qualsiasi altro alfabeto di una sostituzione monoalfabetica standard: è una semplice sostituzione 1 a 1 di una lettere in chiaro con una lettera cifrata. La seconda lettera sarà crittata con l’alfabeto cifrante 2, la terza con 3, ma la quinta lettera, finita la chiave, sarà di nuovo crittata secondo l’alfabeto 1, perché la chiave è di 4 lettere.

Ogni cifratura polialfabetica con una chiave di 4 lettere è composta da quattro cifrature monoalfabetiche. Ciascuna cifratura monoalfabetica ha generato un quarto del crittogramma.

E sappiamo già come si fa la crittoanalisi di una cifratura monoalfabetica. (Se non lo sapete, c’è nel post precedente della serie.)

Facendo quattro analisi delle frequenze, andando di volta in volta ad osservare le lettere che si trovano ad una distanza di 4 spazi l’una dall’altra, permette, se il testo è abbastanza lungo, di trovare anche quali sono le lettere che compongono la chiave. Se hai la chiave, niente è crittato.

Babbage penetrò, per scommessa, con una soluzione elegantissima, la cifratura di Vigenére, ma questa sua impresa crittografica non passò mai alla storia, perché non la pubblicò mai. Babbage, come tante grandi menti, aveva il vizio di iniziare grandi progetti per poi lasciarli a metà, distratto da qualcosa di nuovo che improvvisamente attirava la sua attenzione. Il metodo sopra descritto è passato adesso alla storia come metodo di Kasiski, prendendo il nome un ufficiale  prussiano che indipendentemente lo riscoprì pochi anni dopo.

Possiamo credere alla versione ” Babbage mente tra le nuvole e velleitario ” certo, ma c’è un altra opzione possibile: la scoperta del metodo di decrittazione di Vigenere arrivò poco dopo l’inizio della guerra di Crimea. Poter decifrare un metodo di crittazione che i Russi credevano inviolabile dava un vantaggio notevole al controspionaggio britannico, e non è difficile immaginare che la mancata pubblicazione del suo trattato possa essere dovuta a pressioni del governo: la storia della crittografia è piena di casi simili.

Fortunatamente, nel mondo moderno, alla tirannia della crittografia di Stato si sono opposti i cypherpunks…

Lascia un commento


NOTA - Puoi usare questiHTML tag e attributi:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.