I saggi pubblicati su Tangram

I cifrari a trasposizione

Tangram, anno VII n° 19 (giugno 2008)

Jessica si spostò lungo la parete di vetro, continuando ad esplorare la stanza. Una superficie metallica comparve accanto alla fontana, all'altezza di un tavolo, e sopra di essa un taccuino e uno stilo, parzialmente nascosti da un'ampia foglia che vi pendeva sopra. Si avvicinò (…) e lesse il messaggio scritto sul foglio. (…) Il messaggio contenuto in quelle parole richiedeva tutta la sua attenzione: le parole erano state vergate in modo da far capire che erano state scritte da un'altra Bene Gesserit. (…) Jessica si piegò sulla superficie metallica cercando l'altro messaggio, quello nascosto. Doveva essercene uno. (…) Sfiorò la superficie del taccuino, cercando perforazioni in codice. Niente. Ispezionò l'orlo delle pagine con le dita. Niente ancora. (…) Guardò la foglia sopra le pagine. La foglia! Strofinò le dita sulla superficie vellutata, lungo l'orlo, il picciolo… Era lì! Le sue dita sfiorarono i sottili punti in codice e il messaggio fu subito chiaro.

Frank Herbert, "Dune"

Il nostro viaggio nella storia delle scritture segrete ci porta questo mese ad incontrare i cifrari a trasposizione, antichissima controparte dei sistemi a sostituzione di cui abbiamo parlato in passato.

Essendo idonei all'utilizzo mediante semplici procedimenti meccanici, e non richiedendo all'operatore particolari abilità per la loro applicazione, questi cifrari si sono originariamente sviluppati soprattutto nelle culture più primitive o in ambiti operativi caratterizzati da esigenze poco sofisticate. Ciò nonostante non si tratta di cifrari giocattolo: una loro applicazione metodica consente infatti di ottenere ragionevoli garanzie di segretezza pur mantenendo una notevole facilità di utilizzo anche nell'uso mediante carta e matita.

Il principo della trasposizione

Con "trasposizione" si intende il fatto che le lettere costituenti il testo da cifrare vengono semplicemente "rimescolate" in modo talmente complesso da risultare in apparenza caotico; solo chi è a conoscenza della regola con cui è stato effettuato tale rimescolamento è in grado di riportare le lettere nelle posizioni originarie e dunque di leggere il messaggio. In pratica il testo cifrato con un meccanismo a trasposizione non è altro che un gigantesco anagramma del testo chiaro, e la chiave consiste nella conoscenza dei passi con cui ripristinare la successione originaria delle lettere. Nel cifrato prodotto da un sistema a trasposizione non compaiono dunque lettere diverse da quelle presenti nel testo chiaro: solo il loro ordine relativo è mutato.

Usati nel modo più semplice e diretto possibile i cifrari a trasposizione non offrono sufficienti garanzie di sicurezza: il messaggio segreto può infatti essere forzato con grande facilità da un analista mediamente esperto. Varianti più complesse sono state sviluppate nel corso dei secoli per ovviare alle intrinseche debolezze del metodo, ottenendo così sistemi piuttosto robusti ma ancora facili e veloci da usare. Ancora oggi, ad esempio, si ritiene che la cifratura più efficace possibile, tra quelle realizzabili velocemente a mano con il solo ausilio di carta e matita, sia quella ottenuta mediante applicazione successiva di due differenti trasposizioni con chiave.

Oltre a ciò i sistemi a trasposizione hanno giocato un ruolo importante nella storia recente come valido supporto ai loro cugini a sostituzione, essendo spesso applicati per quella che i militari chiamano sopracifratura: ossia una seconda operazione di cifratura, applicata ad un testo già cifrato adottando un metodo differente, allo scopo di aumentare la robustezza complessiva del segreto. L'applicazione successiva di un cifrario a sostituzione e di uno a trasposizione produce infatti un sistema piuttosto difficile da crittanalizzare: tanto che questa combinazione, pur con le ovvie varianti dovute all'evoluzione tecnica, è essenzialmente alla base anche dei moderni algoritmi crittografici computerizzati che usiamo al giorno d'oggi per proteggere le comunicazioni su Internet.

La scytala spartana

Uno dei più antichi sistemi crittografici di cui ci sia giunta una attendibile descrizione storica, ossia la famosa scytala usata abitualmente in Grecia ed in particolare a Sparta sin da prima dell'ottavo secolo avanti Cristo, altro non era che un cifrario a trasposizione realizzato mediante un espediente meccanico tanto semplice quanto astuto.

Del suo utilizzo ci parlano diversi autori dell'antichità: i primi riferimenti al suo uso ci vengono dal poeta Archiloco (VII secolo a. C.), che la menziona nei suoi lavori pur senza descriverla in dettaglio; Apollonio da Rodi (III sec. A. C.) la cita esplicitamente come dispositivo crittografico; e Plutarco (I sec. D. C.) , nelle sue famose Vite, ce ne fornisce una descrizione piuttosto precisa.

La scytala (dal termine greco che significa "bastone", "testimone") è costituita da una coppia di cilindri di legno lunghi e relativamente sottili, caratterizzati dall'avere diametri e lunghezza identici: ciascuno dei due corrispondenti ne tiene uno per sé. Sono anche state realizzate versioni più sofisticate che, al posto di bastoni cilindrici, utilizzano bastoni a sezione poligonale ossia prismi (solitamente a base esagonale od ottagonale) che ne rendono l'uso più semplice; il principio di funzionamento tuttavia non cambia.

Per utilizzarla occorre per prima cosa disporre di una strisciolina lunga e sottile di materiale sul quale si possa scrivere, quale pelle, papiro, carta e via dicendo. Questa strisciolina va avvolta strettamente a spirale sul bastone in modo che i suoi bordi non si sovrappongano bensì rimangano adiacenti, affiancando tra loro le varie spire con regolarità sino a ricoprire il bastone per la sua intera lunghezza. A questo punto si può scrivere il messaggio direttamente sulla strisciolina, procedendo tuttavia non nel verso della lunghezza della striscia ma in quello della lunghezza del bastone, ossia trasversalmente alla disposizione della striscia stessa ed in modo che ad ogni spira corrisponda una lettera, come si vede in Figura 1.

Al termine della scrittura basta sciogliere la striscia dal bastone ed inviarla al proprio corrispondente. Le lettere sulla strisciolina saranno infatti tutte disordinate, in modo strettamente dipendente dal diametro del bastone utilizzato per arrotolarla. Solo chi dispone di un bastone identico potrà agevolmente ricostruire il messaggio: a lui basterà infatti riarrotolare la striscia sulla propria scytala per poter ricreare la disposizione iniziale e leggere così semplicemente il testo che si verrà a formare, automaticamente riordinato, sotto ai suoi occhi. A chiunque altro, invece, il testo apparirà oscuro e misterioso… soprattutto se si tratta di un barbaro analfabeta!

È chiaro infatti che il segreto creato dalla scytala è poco più che apparente: le lettere del testo chiaro vengono ovviamente rimescolate in un modo molto semplice e soprattutto regolare, ossia mediante uno schema fortemente ordinato, e ciò consente di risolvere l'enigma con grande facilità. Come se non bastasse, è anche facile giungere alla decrittazione per tentativi: basta provare a prendere le lettere del crittogramma ad intervalli regolari (ossia: tutte le seconde lettere, oppure tutte le terze, le quarte, e così via) e prima o poi si troverà il "passo" giusto, corrispondente cioè al diametro del bastoncino usato, che è quello che produrrà un testo di significato compiuto.

Come già sottolineato in precedenza per il cifrario di Cesare, comunque, non dobbiamo deridere e sottovalutare questo metodo che ha dimostrato di funzionare egregiamente per secoli: dato il contesto nel quale era utilizzato, infatti, il pur lieve segreto conferito dal rimescolamento letterale operato dalla scytala doveva apparire realmente impenetrabile alle rozze e semplici menti dei soldati dell'epoca, e soprattutto a quelle dei loro nemici.

Le griglie di Cardano

Un altro sistema di permutazione meccanica delle lettere di un testo chiaro fu inventato nel 1550 nientemeno che da Girolamo Cardano, poliedrica figura del Rinascimento italiano che nella sua lunga e rocambolesca vita fu matematico, medico e astrologo.

Pensato originariamente dal suo autore più come forma di steganografia che di crittografia, il sistema prevede l'uso di un ausilio meccanico costituito da un foglio di cartoncino o di metallo sul quale sono praticati alcuni fori in corrispondenza di determinate posizioni individuate all'interno di un adeguato numero di righi di scrittura. Per cifrare basta appoggiare la griglia su un foglio bianco e scrivere il messaggio attraverso i fori; poi, una volta tolta la griglia, bisogna riempire gli spazi bianchi rimanenti con lettere prive di senso o, se possibile, completare il messaggio con lettere tali da formare un testo di senso compiuto con quelle già inserite (cosa oltremodo più difficile). In ogni caso solo il possessore di una griglia identica può estrarre il testo chiaro dal cifrato.

Il sistema di Cardano, pur difficilmente applicabile in pratica, fu effettivamente utilizzato in varie occasioni nei secoli successivi. Sembra ad esempio che fosse il preferito dal cardinale Richelieu, che lo adoperava sia per la sua corrispondenza privata che per quella diplomatica. Ma dall'idea di Cardano si sviluppò soprattutto il concetto di usare le griglie per creare un vero e proprio meccanismo sistematico di permutazione del testo. Si giunse così verso il '700 a definire un sistema basato su griglie a rotazione assai più semplice ed efficace da usare rispetto a quello originale.

La griglia in questo caso è di forma quadrata, e su di essa è forato un quarto delle caselle disponibili. La disposizione dei fori è tale che, ruotando la griglia di un quarto di giro, le nuove posizioni occupate dai fori non corrispondano a posizioni occupate in precedenza. In pratica ciò significa che, disponendo in successione la griglia nelle quattro posizioni fondamentali (ottenute l'una dall'altra per rotazione di un angolo retto) si mappano tutte le celle senza ripetizioni o scoperture. In figura 2 vediamo ad esempio una delle possibili configurazioni per una griglia di sei celle di lato.

Uno strumento del genere è facilissimo da usare, soprattutto se il numero di lettere del testo che si vuole cifrare è un quadrato perfetto: in questo caso basta infatti costruirsi una griglia costituita dal medesimo numero di celle. Per cifrare, come si vede in Figura 3, non si fa altro che scrivere il testo di seguito nei fori, girando di un quarto di giro la griglia una volta esauriti i fori disponibili e ripetendo l'operazione per tre volte sino ad aver scritto tutto il messaggio. Tolta la griglia dal foglio, apparirà su di esso un quadrato di lettere disposte in modo apparentemente caotico ed incomprensibile: solo chi è in possesso di una griglia identica potrà appoggiarla sul testo e leggere, senza difficoltà, il messaggio che trasparirà dai fori. In caso invece il testo sia costituito da un numero di lettere inferiori a quelle della griglia, le posizioni rimaste vacanti andranno riempite con apposite nulle: ovvero lettere prive di significato e scelte a caso, così da confondere ulteriormente le idee all'eventuale decrittatore.

L'idea della griglia a rotazione gode del vantaggio di essere semplice e di immediata applicazione anche da parte di operatori non particolarmente esperti. Soffre tuttavia di due importanti inconvenienti: in primo luogo la cifratura ottenibile non è particolarmente robusta, ma soprattutto la presenza di un oggetto fisico quale la griglia (che deve oltretutto essere disponibile in due copie identiche) è svantaggiosa perché in caso venga trafugata l'intero sistema deve essere sostituito.

I sistemi colonnari

Dall'antico concetto della scytala, astraendone le modalità di funzionamento in modo da fare a meno dello scomodo bastone, sono derivati i più recenti sistemi a trasposizione colonnare assai utilizzati negli ultimi secoli.

Un esempio famoso, di facilissima applicazione pratica, è tuttora utilizzato dai moderni boy-scout. Esso consiste nello scrivere il testo chiaro in una griglia quadrettata procedendo per righe (ossia nel normale modo della scrittura, da sinistra a destra e dall'alto in basso), andando a capo solo a fine riga (ossia ignorando i punti e gli spazi tra le parole); per cifrare si rileva il contenuto della griglia procedendo invece per colonne (dall'alto al basso e da sinistra a destra). Il risultato è chiaramente equivalente a quello che si sarebbe ottenuto utilizzando una scytala di opportuna circonferenza, corrispondente al numero di colonne della griglia; mentre la chiave è ovviamente costituita dalla dimensione orizzontale della griglia, ossia dal numero fisso di caratteri compresi in ciascuna riga. Vediamo in Figura 4 un semplice esempio di applicazione di questa tecnica.

Ora è chiaro che, così come per la scytala, un crittogramma di tale fatta può essere decrittato molto semplicemente grazie alla grande regolarità che si ritrova nello schema di permutazione delle lettere. Per questo sono stati escogitati nel corso dei secoli espedienti in grado di complicare questa troppo semplice costruzione senza tuttavia rendere troppo più difficile il lavoro dell'operatore.

Un primo modo consiste semplicemente nell'accordarsi su metodi differenti di rilevamento del testo. Ad esempio, nel cifrare si potrebbero leggere prima le colonne pari poi quelle dispari; o meglio si potrebbe procedere lungo le diagonali (come in Figura 5), magari procedendo a zig-zag per complicare ulteriormente le cose. Siamo tuttavia ancora in un tipo di applicazione dilettantesca: se vogliamo metodi più robusti, gli unici realmente utilizzabili in situazioni di impiego realistico, dobbiamo necessariamente ricorrere ad un rilevamento di tipo irregolare.

Un modo molto utilizzato per permutare facilmente l'ordine nel quale vanno considerate successivamente le colonne consiste nell'associare ad esse una parola chiave. Ciò si può fare in diverse maniere, una delle quali è illustrata nell'esempio di Figura 6. Una volta decisa la parola chiave da usare, che deve avere un numero di lettere pari al numero di colonne della nostra griglia, si enumerano le sue lettere associando loro un valore numerico nel seguente modo: a quella che precede tutte le altre nel normale ordinamento alfabetico si assegna il valore 1; a quella che viene subito dopo si associa il valore 2; e così via, sino all'ultima lettera della parola che avrà ovviamente un valore pari al numero di colonne disponibili e dunque di lettere nella parola stessa.

Il testo viene scritto nella griglia come visto in precedenza, ossia per righe ed andando a capo all'ultima colonna. Esso però viene rilevato prendendo le colonne non da sinistra a destra ma seguendo l'ordine numerico ad esse testé assegnato mediante la parola chiave: e dunque prima la colonna segnata col valore 1, poi quella segnata col valore 2 e così via sino all'ultimo valore. Il procedimento è molto più semplice a farsi che a dirsi, ma il risultato è un crittogramma piuttosto difficile da decrittare perché ora le regolarità nella sua struttura è molto meno forte rispetto ai metodi precedenti.

La sopracifratura

I cifrari a trasposizione, benché storicamente fra i primi ad essere scoperti ed usati, non sono molto efficaci se utilizzati in modo diretto ed esclusivo: il loro segreto è infatti piuttosto debole, e può essere scoperto con procedimenti ed induzioni relativamente semplici. Tuttavia essi si rivelano preziosissimi per svolgere il ruolo di sopracifratura, nel quale cioè vengono applicati al risultato di una precedente operazione di cifratura in modo da irrobustire il risultato complessivo.

La cosa più facile da fare è effettuare una doppia trasposizione con chiave, ossia applicare in successione due trasposizioni colonnari, sia adoperando entrambe le volte la medesima chiave sia cambiando la chiave tra un'applicazione e l'altra. Nonostante la semplicità delle operazioni, la combinazione delle due trasposizioni, soprattutto se fatta con due chiavi di lunghezze differenti (e possibilmente prime tra loro) rimescolerà il testo in maniera così caotica e capricciosa da mettere in seria difficoltà il crittanalista. Di fatto, come accennato in precedenza, si ritiene generalmente che questo metodo rappresenti ancora oggi il miglior compromesso tra facilità di esecuzione e robustezza del cifrario risultante quando tutto ciò che può essere utilizzato per la cifratura non è altro che carta e matita. Non a caso sistemi del genere sono stati utilizzati anche in anni recenti da spie e congiurati di tutto il mondo.

Ma i cifrari a trasposizione si sono soprattutto rivelati come i migliori alleati dei cifrari a sostituzione. Si è visto infatti che l'applicazione combinata dei due differenti approcci (sostituzione e trasposizione) confonde la struttura del testo e altera le sue statistiche linguistiche in modo così profondo da rendere sostanzialmente inefficaci tutti i principali approcci crittanalitici, complicando così enormemente la vita a chi deve forzare il messaggio segreto. In questa modalità essi furono usati sistematicamente durante la prima guerra mondiale, e sporadicamente anche durante la seconda, per proteggere comunicazioni tattiche (o "campali") in situazioni nelle quali non si poteva fare ricorso a sistemi più sofisticati e dunque di più lenta e complessa applicazione.

Benché una sopracifratura mediante trasposizione con chiave sia in grado di rendere sufficientemente robusta anche una semplice cifratura monoalfabetica, che da sola non sarebbe assolutamente sufficiente a garantire la benché minima sicurezza, essa dà il meglio di sé in accoppiata ad un metodo polialfabetico della famiglia dei Vigenère: in tal caso infatti essa sconvolge anche quei piccoli appigli su cui si basa l'analisi di Kasiski, rendendo la vita del decrittatore assai più difficile di quanto già non fosse in partenza.

E poi…

Per questo mese ci fermiamo qui, ma la storia delle scritture segrete non si esaurisce con quanto abbiamo visto sinora. Ci aspettano ancora altri misteri, alcuni dei quali ancora irrisolti dopo secoli di studio. Ma di tutto ciò parleremo la prossima volta.


Figura 1: La ricostruzione moderna di una scytala (da Wikipedia).


           
           
           
           
           
           

Figura 2: Le griglie a rotazione sono semplici strumenti meccanici che consentono di trasporre facilmente i caratteri di un testo scritto all'interno di un reticolo quadrato. Le celle chiare corrispondono a fori nella griglia, in corrispondenza dei quali si possono traguardare i quadretti di un foglio posto al di sotto di essa. Quella qui rappresentata ha un lato di sei caselle, ma se ne possono costruire di un numero qualsiasi di lati. La disposizione dei fori non è fissa ma può essere facilmente variata, e costituisce di fatto la chiave del cifrario.


  L   A   C
        R  
    I      
  T     T  
          O
      L    
  L   A   C
    O   R G
    I I    
A T     T E
    U   N O
  A   L   S
  L C A   C
I   O   R G
  E I I N  
A T   Z T E
  A U   N O
A A N L T S
I L C A C C
I A O   R G
  E I I N  
A T   Z T E
  A U   N O
A A N L T S
I L C A C C
I A O X R G
X E I I N X
A T X Z T E
X A U X N O
A A N L T S

Figura 3: I quattro semplici passaggi mediante i quali si utilizza la griglia di figura 2 per cifrare il solito testo d'esempio: ad ogni passaggio si scrive il testo nei fori e poi si ruota la griglia in senso orario di un quarto di giro. Il messaggio finale è rappresentato nell'ultima griglia, dove le celle rimaste vacanti sono state riempite con delle X (in un'applicazione reale sarebbe stato opportuno inserire lettere a caso).


L A C R I T
T O L O G I
A E U N A S
C I E N Z A
A N T I C A

LTACA AOEIN CLUET RONNI IGAZC TISAA

Figura 4: Un semplice esempio di cifrario a trasposizione: il messaggio in chiaro viene scritto di seguito in una griglia rettangolare, e quindi rilevato per colonne ottenendo così il cifrato mostrato.


LTAAO CCELR AIUOI NENGT TNAII ZSCAA

Figura 5: Questo è il cifrato che si ottiene rilevando il testo della griglia di figura 4 secondo una delle possibili diagonali; in particolare si è partiti dalla L in alto a sinistra e si è proceduto per diagonali successive, muovendosi all'interno di ciascuna di esse dalla cella in basso a sinistra verso quella in alto a destra.


T E S O R I
6 1 5 3 4 2
L A C R I T
T O L O G I
A E U N A S
C I E N Z A
A N T I C A

AOEIN TISAA RONNI IGAZC CLUET LTACA

Figura 6: In una trasposizione con chiave, le colonne vanno rilevate nell'ordine che risulta dall'applicazione di un criterio derivato da una parola chiave convenzionale. In questo caso la parola chiave è "TESORI" (prima riga), e l'ordine di rilevamento delle colonne (seconda riga) è dato dalla posizione relativa nell'alfabeto delle sue lettere: prima la seconda colonna (corrispondente alla lettera E della chiave, in quanto precede alfabeticamente tutte le altre), poi la sesta (corrispondente alla lettera I), e così via. Il risultato è un crittogramma piuttosto difficile da interpretare.

Saggio pubblicato su Tangram, rivista di cultura ludica, anno VII n° 19 (giugno 2008)
Copyright © 2008, Corrado Giustozzi. Tutti i diritti riservati.

Ultima modifica: 10 gennaio 2011
Visitatori dal 23 ottobre 2005: 97,353

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

Copyright © 1995-2012 Corrado Giustozzi