I saggi pubblicati su Tangram

I cifrari monoalfabetici

Tangram, anno VI n° 16 (aprile 2007)

"Credo di potervi aiutare a passare un'ora in maniera utile e interessante" disse Holmes avvicinando la propria seggiola al tavolo e spiegando dinanzi a sé i vari fogli di carta su cui erano stati immobilizzati gli sgambetti dei pupazzi ballerini. (…). "Ho qui dinanzi a me questi strani disegni, di fronte ai quali si potrebbe sorridere se proprio essi non fossero stati invece gli avvertimenti premonitori di una tragedia così spaventosa. Io sono abbastanza addentro ad ogni forma di scrittura crittografica, e personalmente ho scritto sull'argomento una breve monografia nella quale ho analizzato centosessanta scritture cifrate diverse, ma confesso che questa mi giunse completamente nuova. (…). Ma quando ebbi capito che i simboli stavano al posto di lettere, e dopo aver applicato le regole che ci guidano invariabilmente nella decifrazione di qualsiasi scrittura crittografica, la soluzione mi riuscì abbastanza facile."

Sir A. Conan Doyle, "I pupazzi ballerini"
Da "Le ultime avventure dell'infallibile Sherlock Holmes", ed. it. Mondadori, 1975
(Traduzione di Maria Gallone)

Il nostro viaggio nella scienza delle scritture segrete è iniziato con un breve excursus storico, utile per familiarizzare un po' con la vastissima materia che ci accingiamo a conoscere ed inquadrarne a grandi linee i principi ed i capisaldi fondamentali. Siamo così pronti per fare la conoscenza ravvicinata con i primi e più antichi esempi pratici del suo utilizzo, quelli cioè che al giorno d'oggi sono conosciuti come "cifrari classici": ossia tutti quei sistemi e procedimenti crittografici nati prima dell'utilizzo delle macchine cifranti, e fatti dunque per essere utilizzati manualmente con carta e penna. Benché risalenti a molti secoli addietro, essi non sono del tutto obsoleti come si potrebbe pensare: quasi tutti i moderni sistemi crittografici utilizzano infatti tecniche e concetti sostanzialmente già presenti nei metodi classici, benché adattati alle potenzialità offerte dagli strumenti per il calcolo automatico.

Lo studio dei sistemi classici dunque, oltre ad essere utile per comprendere meglio gli sviluppi di quelli più recenti, risulta interessante anche e soprattutto per quel fascino misterioso che ancora oggi li pervade e che non si ritrova più nella crittologia moderna e contemporanea. È infatti inevitabile, rileggendo i metodi dell'Alberti o del Vigenere, riandare col pensiero a quelle stanze semibuie in cui i crittografi del Rinascimento lavoravano a lume di candela, svolgendo un lavoro tanto segreto quanto importante per la Corte cui erano a servizio; o alle "camere nere" del settecento, i cui incaricati compivano veri e propri miracoli di ingegno per intercettare ed interpretare le missive segrete degli ambasciatori alleati e non. La fantasia galoppa e, come in un fantastico romanzo di Verne, rievoca epoche passate fatte di intrighi internazionali, di segreti di stato, di corti e di curie…

La realtà magari non è stata sempre così pittoresca, però certamente in molte occasioni ha superato anche la più fervida fantasia: più di una volta, infatti, nelle stanze dei crittografi o dei crittanalisti si è decisa la storia. Magari non in maniera eclatante, anzi le imprese più importanti sono state sempre le più segrete ed i loro protagonisti sono rimasti spesso sconosciuti ai più. Ma talvolta la loro fama, superando secoli e segreti di stato, è riuscita ad arrivare fino a noi, coperta di quell'aura di leggenda e mistero che ancora oggi fa della crittografia una disciplina intrigante ed elusiva, dal fascino misterioso e quasi alchemico.

Ci occuperemo dunque oggi dei più antichi capisaldi della crittografia classica, ossia i cosiddetti cifrari monoalfabetici: partiremo riprendendo quello di Cesare e finiremo col vedere quelli più generali, in una carrellata divertente ed istruttiva che ci darà le basi utili per trattare in futuro i cifrari polialfabetici, ovvero i più resistenti enigmi che la mente umana abbia potuto creare.

Il cifrario di Cesare

Nella scorsa puntata abbiamo solo accennato al cifrario cosiddetto di Cesare, dunque è il caso di fare un po' meglio la sua conoscenza: non tanto per il cifrario in sé, che come vedremo è anzi decisamente banale, quanto per il fatto che si tratta del primo cifrario organizzato di cui si abbia notizia storica; il fatto poi che lo usasse Giulio Cesare costituisce un'ulteriore motivo di curiosità. Certo, a vederlo oggi si direbbe che il grande condottiero romano non abbia, almeno in questo caso, brillato di particolare acume: il cifrario che porta il suo nome è infatti talmente debole ai nostri occhi di enigmisti smaliziati da poter essere risolto in pochi secondi anche per pura e semplice "forza bruta", ossia per tentativi. C'è naturalmente da considerare che all'epoca di Cesare un cifrario del genere aveva un'efficacia senz'altro assai maggiore di quella che può apparire a noi moderni: bastava infatti sicuramente poco per superare il limitato comprendonio di un rude soldato semi-illetterato e probabilmente straniero, se non addirittura barbaro. Ciò non toglie tuttavia che al giorno d'oggi l'accorgimento usato da Cesare non metterebbe in difficoltà neppure un bambino delle medie. La sua analisi ci porta comunque ad un interessante discorso sulla crittanalisi, ossia sulla scienza che studia il modo di risolvere un cifrario di cui non si conosca la chiave, che incontreremo altre volte nel corso del nostro viaggio. È bene quindi cominciare ad esercitarci con un caso particolarmente semplice.

Prendiamo dunque in esame un cifrario di Cesare generico, ossia non necessariamente quello con uno spostamento pari a quattro lettere, e chiediamoci perché esso sia debole. La risposta è triplice: in primo luogo il principio su cui si basa è troppo semplice; in secondo luogo le chiavi possibili sono troppo poche; ed infine la correlazione tra testo chiaro e testo cifrato è troppo forte. L'ultima questione è chiara: basta infatti riuscire ad identificare una sola lettera nel crittogramma per aver automaticamente identificato tutte le altre, che si trovano legate rigidamente a quella. Gli altri problemi vanno forse spiegati in maggiore dettaglio.

È evidente che la chiave del cifrario di Cesare è costituita da una sola lettera, diciamo quella da sostituire alla "A", in quanto tutte le altre lettere conseguono direttamente da questa scelta. Dunque esso ammette solo venticinque chiavi, tante quante sono le possibilità di scelta della lettera iniziale; non contando ovviamente la chiave "A" stessa che equivale alla trasformazione nulla. Chiaramente venticinque sole chiavi costituiscono una debolezza inaccettabile perché rendono possibile attaccare e risolvere il cifrario mediante una pura e semplice ricerca esaustiva che prenda in esame tutte le possibili chiavi una dopo l'altra fino a trovare naturalmente quella giusta, ossia come si dice in gergo "per forza bruta". Nel caso del cifrario di Cesare questo attacco è particolarmente facile da effettuare: si prova a decifrare usando prima la chiave "B", poi la "C" e così via, e prima o poi il testo chiaro salta senz'altro fuori.

Questo è un argomento cruciale, che i crittologi hanno messo a fuoco ben presto nella loro millenaria storia: un cifrario non deve poter consentire attacchi mediante forza bruta, o almeno deve fare in modo che essi siano talmente lunghi ed inefficienti da risultare impossibili nella pratica o comunque non convenienti per il crittanalista. Ciò si ottiene essenzialmente impiegando metodi che prevedano una chiave molto lunga, e più e lunga e meglio è: in questo modo, infatti, il numero di possibili combinazioni (ossia il numero totale di chiavi diverse) diviene rapidamente così numerose da rendere non praticabile l'attacco a forza bruta. Attenzione, però: la sola lunghezza della chiave non implica necessariamente che il cifrario sia robusto, ma solo che non convenga attaccarlo per forza bruta; ciò non esclude che esistano altri metodi per tentare di forzarlo, come vedremo proprio tra un attimo. In generale, comunque, è bene che le chiavi siano lunghe e caotiche. Ci ritorneremo sopra più in là.

Sostituzioni monoalfabetiche

Il passo successivo al cifrario di Cesare è dunque quello di rendere la chiave più lunga e complicata, e dunque meno difficile da indovinare o da trovare per tentativi. Il modo più semplice per farlo è la cosiddetta sostituzione monoalfabetica di tipo più generale. Anche quella di Cesare è in effetti una sostituzione monoalfabetica, ma è di tipo molto particolare: viene infatti detta semplice o lineare in quanto l'alfabeto cifrante, come abbiamo visto, è ottenuto mediante un semplice scorrimento dell'alfabeto chiaro su sé stesso. Nel caso più generale invece l'alfabeto cifrante viene ottenuto scegliendo, meglio se a caso, una fra le tante permutazioni dell'alfabeto chiaro: si può ad esempio scegliere che alla 'A' del chiaro corrisponda la 'F' nel cifrato, alla 'B' la 'Z', alla 'C' la 'K' e così via senza un ordine regolare. O meglio l'ordine può anche esservi ma piuttosto nascosto, per far si che ai corrispondenti risulti possibile tenere a mente o ricostruire l'alfabeto cifrante, ma non sia invece facile per un decrittatore risalire alla sua formazione. Questo sistema ha un innegabile vantaggio rispetto al cifrario di Cesare: le lettere, per così dire, viaggiano ognuna per conto suo. In altre parole la scoperta della vera identità di una singola lettera non dà informazioni sull'identità delle altre e quindi non "apre" istantaneamente la conoscenza di tutto il cifrario, come invece accade col metodo di Cesare.

Quante sono in questo caso le possibili chiavi? Sono ovviamente tante quante le permutazioni delle 26 lettere dell'alfabeto. Questo è un numero piuttosto grande, che si indica con la scrittura 26! e si legge "ventisei fattoriale": rappresentato per esteso è pari all'incirca ad un quattro seguito da ventisei zeri. In effetti si tratta di un numero così grande che la ricerca della chiave mediante forza bruta sembrerebbe del tutto improponibile: in teoria, infatti, anche supponendo di passare in rassegna centomila chiavi al secondo occorrerebbero 127mila miliardi di anni per terminare la ricerca, un tempo pari a qualche migliaio di volte l'età dell'universo conosciuto! La sostituzione monoalfabetica sembrerebbe dunque offrire sulla carta ottime garanzie di sicurezza: peccato però che da qualche secolo si conosca un metodo molto semplice per risolverlo in pochi minuti! Anche da ciò dobbiamo dunque trarre una morale: la sicurezza di un cifrario non sta solo nell'elevato numero di chiavi che esso ammette: esistono molti appigli al lavoro del crittanalista prima che si renda necessaria la forza bruta, ed il caso del cifrario monoalfabetico è il classico caso da manuale. Tanto per chiarire la cosa, il famoso "aneddoto cifrato" della Settimana Enigmistica altro non è che un cifrario a sostituzione monoalfabetica in cui alle lettere sono sostituiti dei numeri: ogni buon enigmista riesce nella sua soluzione senza trovare particolari difficoltà, e soprattutto senza aver fatto ricorso alla ricerca esaustiva delle chiavi. Come?…

Crittanalisi dei cifrari monoalfabetici

Il metodo standard di attacco dei cifrari a sostituzione monoalfabetica fu formalizzato ufficialmente da Leon battista Alberti nel suo "De Cifris" (composto nella prima metà del '400 ma stampato oltre un secolo più tardi), tuttavia era probabilmente noto già in precedenza, anche se in modo confuso. Esso fa leva su quella caratteristica fondamentale e poco mutevole del nostro linguaggio che è la distribuzione statistica delle lettere nelle varie parole. Al giorno d'oggi tale concetto non appare strano: è esperienza comune accorgersi che, ad esempio, in una tastiera da computer molto usata vi sono alcuni tasti maggiormente usurati di altri, proprio per la differente distribuzione delle lettere nei testi. Questa osservazione è anzi alla base proprio della disposizione delle lettere sulle tastiere delle prime macchine da scrivere (da cui sono derivate quelle dei computer), dove si è cercato di mettere le lettere di uso più frequente a portata delle dita più agili, lasciando quelle di uso più raro all'anulare o al mignolo.

Tale distribuzione statistica è ovviamente legata alla particolare lingua usata, ma per il resto è piuttosto indipendente da altre condizioni: esistono ad esempio tabelle che riportano la frequenza di apparizione delle varie lettere in testi di lunghezza normale, e questi valori, a meno di non barare, si rispecchiano con buona precisione nella prosa di tutti noi. Il motivo di fondo va evidentemente ricercato nella formazione del lessico base personale e magari è un po' troppo lungo parlarne in questa sede. Comunque è facile capire il perché ad esempio in inglese le due lettere più frequenti siano la "E" e la "T": dato che l'unico articolo di cui gli inglesi dispongono è "the" non ci vuol molto a trovare moltissime "T" ed "E" in ogni testo lungo almeno qualche decina di parole. Per l'italiano le cose non sono così lineari, pur tuttavia le statistiche sono attendibili e danno la "E" in testa con circa l'11% del totale, quasi a pari merito con la A e la I.

Bene, questa constatazione quasi banale è però alla base di un'intera famiglia di potenti metodi di decrittazione basati tutti sul medesimo modo di procedere: effettuare il riconoscimento delle varie lettere in base al maggiore o minore numero di volte in cui compaiono nel testo cifrato. È infatti evidente che, se in un crittogramma ottenuto per sostituzione monoalfabetica la lettera "K" compare per circa l'11% del totale, vi sono pochi dubbi sul fatto che essa rappresenti in effetti la "E". Analogamente la lettera più rara sarà con grande probabilità quella che rappresenta la "Q".

Identificate alcune lettere chiave il più è già quasi fatto. Il passo successivo consiste nello sfruttare le statistiche sulla distribuzione dei bigrammi, ossia delle coppia di lettere. Proprio come accade per le singole lettere, infatti, anche per i bigrammi vi sono alcune combinazioni preferenziali che all'occhio del crittanalista appaiono evidenti come fari nella notte: dopo una Q, in italiano, non può che esserci una U; dopo una H ci sarà senz'altro una vocale, quasi sicuramente una E o una I e comunque mai una U; la consonante più frequentemente raddoppiata è la L, quella più raramente raddoppiata è la Z; e così via, con piccoli e grandi indizi i quali, passo dopo passo, gettano sempre maggiore luce sulla matassa. Ogni lettera che si aggiunge al numero di quelle identificate contribuisce, proprio per questa stretta serie di relazioni lessicali, ad identificarne altre; e ben presto la soluzione balza chiaramente agli occhi senza bisogno di proseguire ulteriormente nell'analisi.

Il passo successivo

Benché i cifrari monoalfabetici non siano più usati nella pratica, tuttavia essi costituiscono una pietra miliare della crittografia. È infatti sulle loro proprietà che furono costruiti i più duraturi cifrari degli ultimi secoli, ossia i cosiddetti cifrari a sostituzione polialfabetica: inventati proprio a partire da un'idea di Leon Battista Alberti, essi resistettero all'analisi per oltre trecento anni, tanto da farsi la fama di essere assolutamente indecifrabili. E ancora oggi, in effetti, lo stesso concetto di fondo è adoperato nei più robusti cifrari computerizzati. Saranno proprio loro l'oggetto della nostra prossima tappa nel mondo della crittografia classica.

Saggio pubblicato su Tangram, rivista di cultura ludica, anno VI n° 16 (aprile 2007)
Copyright © 2007, Corrado Giustozzi. Tutti i diritti riservati.

Ultima modifica: 10 gennaio 2011
Visitatori dal 23 ottobre 2005: 71,515

Torna alla Pagina dei saggi pubblicati su Tangram
Vai alla Pagina dei Commenti

Copyright © 1995-2012 Corrado Giustozzi