La civiltà islamica: condizioni materiali e intellettuali. Criptologia e criptoanalisi

Storia della Scienza (2002)

La civilta islamica: condizioni materiali e intellettuali. Criptologia e criptoanalisi

Mohamad Mrayati

Criptologia e criptoanalisi

La criptologia è una disciplina cui afferiscono tre branche principali: la criptografia (in arabo al-ta῾miyya, rendere completamente invisibile, oscuro), la criptoanalisi o decodificazione (in arabo istiḫrāǧ al-mu῾ammā, lett. far uscire ciò che è stato oscurato) e la steganografia (in arabo al-iḫfā᾽, lett. nascondere). Agli albori del IX sec. con al-Kindī (m. 866 ca.) nacque una vera e propria scuola di criptologia che continuò a svilupparsi fino al XV sec., quando al-Qalqašandī (1355-1418) scrisse la sua enciclopedia Ṣubḥ al-a῾šā fī ṣinā῾at al-inšā᾽ (L'alba del nictalope sull'arte della cancelleria). Uno studio recente ha dimostrato come in questa scuola, oltre a venire sviluppati studi analitici in criptografia, fu inventata la scienza della criptoanalisi o decodificazione; così ha infatti sostenuto David Kahn (1983): "I musulmani svilupparono un'eccezionale conoscenza teorica della criptoanalisi. Una conoscenza che riflette la loro profonda esperienza pratica in fatto di intercettazione e criptoanalisi" (p. 284). La scuola di al-Kindī stabilì teorie originali e principî validi e utili ancora adesso. A portare all'invenzione della criptologia quale scienza furono ragioni specifiche: una di queste fu lo sviluppo che si era ormai raggiunto nella linguistica, nell'aritmetica e nel calcolo degli algoritmi.

Saranno necessarie comunque ulteriori ricerche per studiare gli archivi dei documenti storici del mondo arabo, e in generale di quello islamico, e potere quindi analizzare casi determinati di uso della criptografia e della criptoanalisi.

I principî di criptologia menzionati nei manoscritti arabi

La criptologia è, da una parte, una scienza che studia i modi utilizzati o utilizzabili per occultare informazioni, ed è allora chiamata criptografia o steganografia e, dall'altra parte, una scienza che studia le contromisure adottabili per scoprire informazioni occultate, e si chiama allora criptoanalisi o decodificazione.

La criptografia si occupa invece di trasformare un testo piano e con informazioni chiare in un testo cifrato o criptogramma in modo tale che esso risulti del tutto incomprensibile. L'occultamento del testo originale è ottenuto grazie all'utilizzazione di determinati metodi di trattamento dei caratteri che si servono di una 'chiave', laddove l'obiettivo di una tale operazione è quello di trasmettere un'informazione tra due parti che conoscono la 'chiave' e al tempo stesso di impedire a chiunque non ne sia in possesso di comprendere il testo cifrato.

Nella sua Risāla fī istiḫrāǧ al-mu῾ammā (Epistola sulla decodificazione), ancora manoscritta, al-Kindī distingue i seguenti principî di criptografia e per ciascun principio menziona un certo numero di metodi:

1) cifratura semplice;

trasposizione;

sostituzione;

aggiunta di caratteri a scelta od omissione di lettere;

2) cifratura composita: realizzata adoperando contemporaneamente due o più metodi semplici e fra loro compatibili.

Un semplice esempio è utilizzato in più di un manoscritto arabo per mostrare lo sviluppo di tali metodi:

β Il testo piano è Muḥammad e ῾Alī.

β Il testo cifrato con il metodo della trasposizione delle lettere, laddove la chiave sta nell'invertire l'ordine delle lettere all'interno di ogni parola, sarà dammaḥum e ila.

β Il testo cifrato con il metodo della cifratura composita e l'applicazione della sostituzione, laddove la chiave è data dal fatto che ogni lettera deve essere sostituita dalla forma di quella che le è immediatamente seguente nell'ordine alfabetico ‒ cosicché, per esempio, prendendo l'alfabeto latino, d divenga e, a divenga b, m divenga n, h divenga i, o divenga p, i divenga j, l divenga m e così via, si ottiene come risultato la frase: ebnnbizn f jmb.

Infine, se aggiungiamo caratteri a scelta, per esempio una s ogni tre lettere, considerando lo spazio tra le parole come una lettera, il testo cifrato in modo composito sarà: ebnsnbiszn fs jmbs.

Riassumendo le tre fasi precedentemente spiegate possiamo dunque scrivere:

testo piano: Muḥammad e ῾Alī

testo cifrato (per trasposizione): dammaḥum e ila

+ testo cifrato (per sostituzione): ebnnbizn f jmb

+ testo cifrato (per aggiunta di caratteri a scelta): ebnsnbiszn fs jmbs.

Il ricevente di un tale messaggio, conoscendo le tre chiavi, lavorerà il testo invertendo le tre fasi ossia comincerà dall'ultima fase per terminare con la prima.

L'utilizzazione di un codice è invece un metodo della criptografia secondo il quale una parola o una frase è sostituita da una parola, un numero o un simbolo. La lista che fornisce tutte le equivalenze forma così una sorta di dizionario che è chiamato testo del codice. Gli Arabi usarono il codice per cifrare informazioni; ne sono due esempi gli scritti degli alchimisti e dei sufi.

La criptoanalisi è la scienza con la quale ci si propone di reperire il testo piano a partire dal criptogramma senza conoscerne la chiave o le chiavi. Essa è chiamata talvolta decodificazione e si può considerarne il fondatore al-Kindī; a lui si deve, infatti, la classificazione in tre tipi degli algoritmi utilizzati per decifrare un testo cifrato (per sostituzione): dei metodi quantitativi, dei metodi qualitativi e quello cosiddetto della 'parola probabile'.

1) I metodi quantitativi consistono nel lavorare il testo cifrato utilizzando l'analisi della frequenza delle lettere. Al-Kindī calcolò la frequenza con cui i vari caratteri arabi occorrono in genere in un testo, spiegando al tempo stesso le ragioni che stavano dietro al fenomeno della maggiore o minore occorrenza di una lettera. In tal senso, per decodificare il messaggio il decodificatore deve, secondo al-Kindī, contare la frequenza delle occorrenze dei simboli nel testo cifrato e comparare poi l'ordine delle lettere di più alta frequenza con quello delle lettere di più alta frequenza dell'alfabeto arabo. In virtù di tale comparazione, chi decodifica il messaggio cerca poi ripetutamente di trovare l'esatta corrispondenza tra le due liste procedendo per tentativi, in relazione al successo che egli ottiene a mano a mano nel decifrare il testo chiaro e corretto.

È molto importante sottolineare che già per al-Kindī l'analisi statistica può essere applicata a un testo sufficientemente lungo, per il quale valgono le leggi statistiche, così, se il testo non è lungo a sufficienza, devono essere applicati i metodi qualitativi. È questa, probabilmente, la prima volta nella storia in cui viene menzionata la legge della necessità in statistica di ampi numeri.

2) I metodi qualitativi sono quelli basati sulle teorie linguistiche e sulla conoscenza. Già all'epoca di al-Kindī le conoscenze linguistiche avevano raggiunto un alto livello nel mondo islamico. La criptologia quale scienza non avrebbe del resto potuto essere sviluppata senza i passi avanti della linguistica. Un chiaro esempio, questo, di come il progresso delle 'scienze sociali' abbia giocato un ruolo nello stimolare lo sviluppo delle scienze esatte: quando al-Kindī spiegava come le possibili combinazioni e non-combinazioni di consonanti potessero essere utilizzate per decodificare (ossia 'rompere') un testo cifrato, Ḫalīl ibn Aḥmad (m. 175/790 ca.) aveva già elaborato il suo ben noto dizionario, il Kitāb al-῾Ayn (Libro della lettera ῾ayn), Ibn ǧinnī (m. nel 1002 ca.) aveva già composto la sua opera di fonetica e fonologia ‒ al-Ḫaṣā᾽iṣ (Le particolarità) e Sībawayh (765-796) aveva scritto in modo esteso di sintassi nel suo ben noto Kitāb (Libro).

Per mostrare la regola delle varie combinazioni, al-Kindī elaborò tavole di tutte le varie consonanti arabe calcolando il numero esatto delle combinazioni delle consonanti che risultavano impossibili, sia da un lato della lettera sia dall'altro (ossia secondo i vari modi di successione delle consonati, per es., s-t o t-s, laddove s-t è una combinazione possibile in arabo, mentre t-s non lo è). Come metodo di calcolo al-Kindī utilizzò anche la stretta affiliazione esistente tra determinate lettere quali, per esempio, la a e la l che costituiscono l'articolo arabo al ossia la combinazione di due lettere o digramma più frequente della lingua araba (vedi il the inglese, anch'esso invariabile, che analogamente costituisce una combinazione frequente della lingua inglese). Al-Kindī riferì inoltre l'importanza di considerare le parole (in arabo le 'particelle') di due o tre lettere con un'alta frequenza di occorrenza (come in italiano, per esempio, in, su, per, il, ecc.).

3) Il terzo principio della criptoanalisi menzionato da al-Kindī è l'uso della 'parola probabile', ossia della parola che presumibilmente si trova nel testo specialmente all'inizio e alla fine dei messaggi dove di solito venivano utilizzate parole di protocollo.

La steganografia o scrittura di copertura consiste nell'occultare o celare informazioni (per esempio un messaggio militare) con un supporto di carattere diverso come, per esempio, un'ordinaria lettera d'amore. Gli studiosi arabi menzionano diversi metodi per occultare un testo in questo modo; si poteva, per esempio, cifrare un testo con numeri ordinati in una lista, come se si trattasse di una serie di conti, oppure con numeri inseriti in un problema matematico. Un altro metodo consisteva nel celare il messaggio quale primo carattere dei nomi in una lettera ordinaria ma vengono spiegati anche altri sofisticati metodi di occultamento.

Fattori di stimolo per la nascita della criptologia

Tenteremo ora di mostrare brevemente quali fattori vanno considerati come tra i più importanti per la nascita e lo sviluppo della criptologia araba.

1) Il primo fattore di stimolo fu senz'altro la traduzione di un sostanziale gruppo di opere del patrimonio antico. I traduttori furono spinti a decifrare ciò che era stato scritto in maniera cifrata su specifici argomenti, specialmente in alchimia, botanica, farmacia, magia, religione e metafisica. Ciò li portò a studiare anche lingue ormai morte così da decifrarne i criptogrammi, o almeno da tentare di farlo. Al-Ǧildakī scriveva:

[...] Questo è uno dei dodici capitoli più interessanti che costituiscono questo libro. È la sostanza e il fulcro del nostro obiettivo che sta nel risolvere le ambiguità di ciò che gli Antichi hanno occultato in tutte le lingue e in tutti i tempi. Ho fatto di questo capitolo una chiave dei loro tesori e un interprete dei loro simboli. Vi si decifra ogni cifra, forma, talismano o lettera, e ogni tipo di simbolo o mistero; tutti gli antichi manoscritti, i termini e tutto ciò che fu inciso nella pietra o scritto sul papiro (si tratti di divinazioni, magia, medicina, o filosofia) e tutto ciò che gli Antichi lasciarono nelle loro tombe in fatto di scrittura scientifica e antiche calligrafie o alfabeti. (Kanz al-iḫtiṣāṣ, ed. Merza, p. 339)

2) Il secondo fattore è dato dall'interesse attivo che gli Arabi dimostrarono nello studio delle loro lingue e delle scienze, così da raggiungere risultati importanti nei vari aspetti di quella che nella terminologia odierna è la cosiddetta 'linguistica'. In tale contesto, essi intrapresero importanti studi di fonetica sulle consonanti e le vocali ed elaborarono studi quantitativi e statistici sulla frequenza con cui occorrono le lettere in genere in un testo e sulla loro combinazione e non-combinazione. In tal senso, gli Arabi svilupparono ricerche approfondite in morfologia e sintassi, esaminandone le regole, gli schemi e le regolazioni, compirono ricerche anche nelle altre branche della linguistica, come in semantica; gli Arabi erano stati i primi, del resto, a redigere dizionari e, in effetti, il progresso da essi raggiunto in linguistica ebbe un impatto enorme sugli sviluppi della criptologia.

3) Un ulteriore fattore di sviluppo fu determinato poi dai passi avanti compiuti in matematica, grazie ai quali i ricercatori ebbero accesso agli strumenti necessari o a quelli più appropriati allo sviluppo della criptologia.

4) Devono inoltre essere considerate le necessità che si imponevano a un'amministrazione efficace dello stato arabo-musulmano, diffuso ormai su una vasta area geografica, in un modo quasi eccezionale e senza precedenti nella storia umana.

L'amministrazione dello Stato richiedeva studi complessi in grado di coprire i diversi aspetti dell'amministrazione, fra i quali andava contata certamente anche la criptologia. Un rapido sguardo al Ṣubḥ al-a῾šā fī ṣinā῾at al-inšā᾽ di al-Qalqašandī, un lavoro enciclopedico in 14 volumi che, tra le altre cose, contempla una lista di alcune delle discipline dell'epoca utili all'amministrazione, indica il grado di progresso dell'amministrazione del tempo. Non è quindi sorprendente che al-Qalqašandī e altri autori di scienze amministrative menzionino la criptologia nelle loro opere. Forse è il bisogno della criptologia in tempo di guerra che può essere considerato uno dei fattori che portarono alla ripresa di questa scienza. Del resto è ciò che viene praticamente dimostrato dalle diverse e importanti opere di criptografia che furono redatte durante le invasioni dei Mongoli e dei Crociati a Baghdad, a Damasco, ad Aleppo e al Cairo.

5) La proliferazione di 'letture' e 'scritture' nel mondo islamico e la loro associazione con la cultura araba, il Corano e le scienze coraniche furono ugualmente tra i fattori importanti nel progresso della criptologia.

Molti storici della materia confermano indirettamente questa ipotesi quando, tra i fattori preminenti che prevennero la nascita della criptografia e della criptoanalisi nelle antiche civiltà egizia, cinese, indiana e babilonese, considerano il limitato sviluppo di 'letture' e di 'scritture'.

Principali tipi di cifratura e algoritmi per la criptoanalisi menzionati dagli autori arabi

Metodi di cifratura

La maggior parte dei metodi di cifratura noti in tutta la storia di tale disciplina e menzionati dagli studiosi arabi può essere ricondotta a due tipi principali: il primo è quello della cifratura per mezzo del gioco di parole o dell'eufemismo. Sotto questo tipo sono sussumibili l'uso di immagini, di rappresentazioni metonimiche (al-malāhin) e i giochi di parole utilizzati dagli autori preislamici come anche rebus o indovinelli che cominciarono a essere usati a partire da dopo il XV secolo. Tutto ciò concerne comunque più la letteratura che la cifratura di carattere scientifico, la quale riguarda invece il secondo tipo di cifratura fondato sulla manipolazione delle lettere.

Cifratura per mezzo della manipolazione delle lettere

Questo tipo di cifratura si concretizza, secondo quanto stabilito dagli autori arabi, in quattro metodi principali: la cifratura per trasposizione; quella per sostituzione; quella realizzata attraverso l'aggiunta di alcuni caratteri, simboli o l'omissione di lettere e infine quella composita o super-cifratura.

a) La cifratura per trasposizione consiste nell'alterare la posizione delle lettere in un messaggio conformemente a determinate regole, ossia senza che vi sia il coinvolgimento di alcun simbolo o lettera che non facciano già parte del messaggio che si intende cifrare. Vi sono vari approcci a questo metodo, molti dei quali sono menzionati da Ibn al-Durayhim nel suo trattato, il Miftāḥ al-kunūz fī īḍāḥ al-marmūz (La chiave dei tesori nel decifrare i criptogrammi). Un metodo consiste nel realizzare la trasposizione all'interno delle parole del messaggio. In generale, se una parola è composta da n lettere, vi sono n possibilità di trasposizione, inclusa quella originale. Alcuni dei sistemi più comunemente menzionati dagli autori arabi sono:

*scrivere inversamente, trasponendo ogni parola, ossia

testo piano: rose bianche

testo cifrato: esor ehcnaib

*scrivere l'ultima lettera al posto della prima

testo piano: rose bianche

testo cifrato: eros ebianch

*trasporre la prima lettera della parola al posto dell'ultima (e l'ultima al posto della prima)

testo piano: rose bianche

testo cifrato: eosr eianchb

*alternare una lettera iniziale di una parola con la corrispondente lettera terminale, fino a esaurire la parola in tutta la sua lunghezza; si definisce questo metodo trasposizione orizzontale alternata e ascensionale, ossia

testo piano: rose bianche

testo cifrato: reos beihacn.

In termini simbolici lo stesso metodo può essere illustrato come segue:

testo piano: 1234567

testo cifrato: 1726354.

La trasposizione può essere realizzata anche in un altro modo ossia in termini di trasposizione orizzontale alternata e discensionale: si inizia con la fine del messaggio prendendo alternativamente una lettera dalla fine seguita poi dalla corrispondente lettera presa dall'inizio della parola, fino a che non siano state utilizzate tutte le lettere e tutte le parole. Per esempio:

testo piano: rose bianche

testo cifrato: erso ebhican

e in termini simbolici

testo piano: 1234567

testo cifrato: 7162534.

È ovvio che questo approccio resta valido allo stesso modo anche quando si prendano come unità da cifrare testi continui composti da più parole. Il metodo si basa infatti originariamente sull'idea di prendere la prima lettera, tralasciare un certo numero di lettere e riprendere poi allo stesso modo, fino a che il testo non sia completo; si può dunque prendere la seconda lettera, tralasciando lo stesso numero di lettere, e così fino alla fine del testo; per esempio, un messaggio di venti lettere quale, per esempio, ti si mandano rose rosse può essere manipolato nel modo seguente:

testo piano: ti si mandano rose rosse

testo cifrato (ogni cinque lettere): taorinrosdosiassmnee.

Questo metodo è in effetti equivalente a quello, comunemente usato, in cui il testo piano è scritto in linee di cinque lettere ognuna, il criptogramma viene formato per trasposizione e il testo piano va letto verticalmente. In tal modo l'esempio precedente diventa:

tisim

andan

orose

rosse

(dove il testo piano è letto orizzontalmente, mentre quello cifrato lo è in senso verticale).

Questi sono solo alcuni esempi di metodi di cifratura per trasposizione, ma ve ne sono molti altri. In tutti questi metodi, comunque, la frequenza di occorrenza delle lettere nel testo cifrato resta invariata rispetto al testo piano.

b) Nella cifratura per sostituzione ogni lettera è sostituita da un'altra lettera o da un simbolo che non fa originariamente parte del testo da cifrare, e ciò in accordo a determinate regole. Una tale sostituzione può infatti essere realizzata in molti e diversi modi attraverso quella che viene chiamata 'sostituzione mono-alfabetica' o 'semplice' dove, secondo precise regole, ogni lettera del testo piano è sostituita da un'altra lettera dello stesso alfabeto. Per esempio, se sostituiamo ogni lettera con quella che le è immediatamente successiva nell'ordinamento alfabetico (A con B e B con C, ecc.) o che le è successiva ma dopo alcune lettere (A con C e B con D, ecc.), otteniamo n-1 chiavi possibili dove n è il numero delle lettere dell'alfabeto. Per esempio, poiché nell'alfabeto italiano scolastico vi sono 21 lettere (26 in quello inglese o internazionale) le chiavi possibili saranno 20 (e 25 in quello inglese o internazionale). Se però si sceglie di sostituire le lettere con lettere dell'alfabeto, qualsiasi esse siano, si avranno n!−1 chiavi possibili ossia un numero enorme, pari in inglese a 26!−1 o, approssimativamente, a 4×1026 e in arabo a 28!−1. I seguenti sono solo alcuni dei metodi comunemente usati e stabiliti da Ibn al-Durayhim nel suo Miftāḥ al-kunūz fī īḍāḥ al-marmūz.

* Sostituire sempre una lettera specifica a un'altra secondo uno degli alfabeti cifrati (CAs: 'Cipher Alphabets') conosciuti, quali il Qummī o il Fahlawī. Il Qummī, per esempio, sostituisce la lettera M alla lettera K e viceversa, la lettera W alla A e così via. La chiave, in tali casi, è un verso di poesia in cui sono presenti tutte le lettere dell'alfabeto senza ripetizione.

* Utilizzare l'ordine dell'alfabeto numerico in arabo (ABGaDHaWaZ ...) sostituendo a ogni lettera quella immediatamente successiva; in tal modo la lettera A è sostituita da B e B da G e così via fino all'ultima lettera che viene sostituita dalla prima. Le lettere vengono infatti viste come in un circolo, in una circonferenza o in un disco dove l'ultima lettera può essere rimpiazzata dalla prima. Così, per esempio:

testo piano: rose bianche

testo cifrato: sptf cjbodif.

L'alfabeto piano (ossia quello inglese o quello italiano non scolastico) è infatti:

a b c d e f g h i j k l m n o p q r s t u v w x y z,

l'alfabeto cifrato è:

b c d e f g h i j k l m n o p q r s t u v w x y z a.

Si può inoltre sostituire ogni lettera con la terza lettera che la segue nell'ordinamento alfabetico:

testo piano: rose bianche

testo cifrato: urvh eldqfkh

oppure si può sostituire ogni lettera con la quarta lettera e così via. Questo almeno nei 25 alfabeti cifrati ricostruibili a partire da quello inglese o internazionale.

*Se poi si considera l'alfabeto numerico come composto da paia di lettere, la sostituzione si realizza tra le lettere di ciascuna coppia. Così:

testo piano: rose bianche

testo cifrato: qptf ajmdgf

Le coppie (a-b; c-d; e-f; g-h; i-j; k-l; m-n; o-p; q-r; s-t; u-v; w-x; y-z) sono formate prendendo sistematicamente ogni lettera con quella che le è immediatamente seguente, oppure ogni terza lettera od ogni quarta o quinta lettera, e così via.

In alternativa, è possibile sostituire a una lettera quella che la precede; in questo modo si arriverà a un numero di circa 52 alfabeti cifrati costruibili a partire da quello inglese o internazionale.

Va inoltre ricordato che Ibn al-Durayhim stabilisce la necessità di assicurarsi che colui che cifra il testo non sia del Maghreb, ossia delle regioni occidentali del mondo arabo (al-maġrib), dato che l'ordine delle lettere nell'alfabeto numerico orientale (al-mašriq: l'Oriente del mondo arabo) differisce da quello del Maghreb.

* Se, poi, invece di adottare l'ordine numerico delle lettere si utilizza quello alfabetico, si possono applicare gli stessi due metodi visti in precedenza ottenendo però degli alfabeti cifrati diversi. Tutti gli alfabeti cifrati che è possibile costruire a partire da questi metodi sono stati calcolati da Ibn al-Durayhim.

c) Il metodo della cifratura per aggiunta di lettere estranee al testo originale (aggiunta di lettere a scelta), o per omissione di lettere, può essere applicato in diverse maniere, alcune delle quali sono menzionate nel trattato di Ibn al-Durayhim. Colui che cifra il testo può infatti:

* ripetere alcune delle lettere del messaggio come quelle rare;

* lasciar cadere una data lettera ogni qual volta essa occorra (causando naturalmente la perdita di informazione nel messaggio);

* scegliere coppie di lettere che abbiano o non abbiano alcune caratteristiche in comune e considerarle per tutto il testo come una singola lettera;

* inserire una lettera estranea al testo originale in un qualche punto all'interno di ogni parola oppure inserire una coppia di lettere simili o dissimili o, ancora, aggiungere una data lettera a una data parola e un'altra lettera alla parola successiva e così fino alla fine del testo, utilizzando o l'ordine alfabetico o quello dell'alfabeto numerico; in tal modo si possono produrre diversi alfabeti cifrati;

* sostituire a una lettera data la forma che essa assume nella pronuncia se presa singolarmente (per es., per Tti o per S ‒ esse; in arabo, per es., per S ‒ sin) o scriverne la forma ma all'inverso (per es., per Tit, o in arabo nis per S, ecc.) oppure alternativamente scrivendone la forma una volta in modo corretto e un'altra volta in modo inverso. Ovviamente si può anche incominciare con la forma inversa per passare poi alternativamente a quella corretta.

d) La super-cifratura o cifratura composita consiste nell'utilizzare contemporaneamente due o più dei metodi già presentati fra quelli principali: quello di trasposizione, quello di sostituzione e quello di aggiunta od omissione di lettere. Cifrare in questo modo comporta la produzione di moltissimi metodi di cifratura, troppi perché se ne possa fare una ricognizione completa, come già stabilì al-Kindī. Ne sceglieremo solo un esempio dimostrativo. Impiegando allo stesso tempo tanto il primo metodo, ossia quello di trasposizione, quanto il secondo, quello di sostituzione, il testo rose bianche diventa ftps fidoblc.

Il risultato è ottenuto innanzitutto trasponendo le lettere in modo da ottenere esor ehcnaib e quindi sostituendo a ogni lettera quella che le è immediatamente successiva. Tale metodo di cifratura composita è il più comunemente usato fino a oggi. I ben noti American Data Encryption Standards (DES) utilizzati oggi sono fondati su questo metodo, sulla base di un sistema binario.

Principî di criptoanalisi

L'esame di una considerevole quantità di testi arabi manoscritti riguardanti la criptologia ha messo in evidenza una differenza tra gli algoritmi utilizzati per decifrare i criptogrammi in prosa e quelli utilizzati per decifrare i criptogrammi in poesia. L'intero insieme di algoritmi può essere ricondotto a tre principî base di decifratura e a tre principî aggiuntivi che riguardano la decifratura della poesia.

a) La prosa. I principî base per decifrare criptogrammi in prosa sono tre: quello delle caratteristiche quantitative delle lettere, quello delle caratteristiche qualitative delle lettere e quello della 'parola probabile'. Si è già avuto modo di considerarli nelle loro grandi linee; tenteremo ora di presentarli in maniera più dettagliata.

1) I metodi basati sulle caratteristiche quantitative delle lettere sono chiamati da al-Kindī gli 'espedienti quantitativi'. Il principio si basa sul fatto che è possibile determinare la frequenza delle lettere in una data lingua e il loro ordine di frequenza che può quindi essere comparato o confrontato con l'ordine di frequenza dei simboli di cifratura in un criptogramma dato. Al-Kindī calcolò la frequenza dell'occorrenza delle lettere della lingua araba (e molto probabilmente anche quella di altre lingue) in base a dati statistici che egli stesso elaborò e che rappresentano probabilmente il primo tentativo del genere nella storia della linguistica computazionale; i risultati così ottenuti furono poi utilizzati da al-Kindī per decifrare un testo specifico. L'algoritmo consiste nel calcolare il numero di frequenza di ogni lettera: la lettera più frequente viene segnata come prima, quella dalla frequenza immediatamente inferiore come seconda, e così via. In un criptogramma che sia abbastanza lungo le lettere ruoteranno comunque almeno tre volte per permettere l'applicazione del loro ordine di frequenza. Il merito di al-Kindī fu anche quello di sottolineare l'importanza della lunghezza del criptogramma, la quale fa sì che l'ordine di frequenza delle lettere possa essere utilizzato in modo soddisfacente. ῾Alī ibn ῾Adlān, che seguì l'insegnamento di al-Kindī, stabilì poi che la lunghezza minima di un criptogramma da decifrare doveva essere di circa novanta lettere.

Altri calcoli statistici del genere furono eseguiti da altre figure notevoli quali Ibn al-Dunaynir, Ibn ῾Adlān, Ibn al-Durayhim; fra di essi Ibn ῾Adlān fu particolarmente attento all'ordine di frequenza delle lettere di occorrenza e dedicò la prima delle venti regole espresse nel suo trattato, al-Mu᾽allaf li-'l-Malik al-Ašraf, a questo tema, dividendo le lettere in base alla loro frequenza in: 'abbondanti' (sette lettere), 'comuni' (undici lettere) e 'scarse' (dieci lettere).

È notevole che l'ordine di frequenza delle lettere vari a seconda della natura del materiale linguistico considerato. L'ordine nella statistica delle lettere del Corano (che precede la statistica dei testi ordinari) è quindi diverso da quello dei testi ordinari.

Bisogna sottolineare, comunque, che l'idea di utilizzare l'ordine di frequenza delle lettere di occorrenza nel decifrare un criptogramma è solo uno dei vari principî di questa scienza in cui gli Arabi furono dei pionieri. E in ogni caso l'attenzione su questo principio non fu richiamata prima del sec. XV, quando Leon Battista Alberti scrisse il primo trattato sulla decifratura.

2) Il metodo basato sulle caratteristiche qualitative delle lettere si fonda sulla conoscenza della struttura o 'tessitura' delle parole e quindi sulla classificazione delle varie lettere in basilari, variabili, affisse, consonanti o vocali. Per l'applicazione di questo metodo è essenziale avere familiarità con il fenomeno della combinazione (o associazione) e non-combinazione (o dissociazione) delle lettere dell'alfabeto, siano esse in posizione anteriore o posteriore nella parola. Il criptoanalista deve conoscere le parole di due lettere (digrammi) e tre lettere (trigrammi) che occorrono più frequentemente e deve conoscere le lettere che più frequentemente costituiscono le lettere iniziali o terminali nelle parole. Egli, inoltre, deve acquistare familiarità con il massimo numero di ripetizioni che possono essere contenute in una parola per ogni lettera dell'alfabeto (in questo caso quello arabo), messe da parte quelle parole che sono 'doppie coppie'; egli deve poi conoscere le lunghezze minima e massima possibili delle parole arabe (nomi, verbi o particelle) e la lunghezza massima possibile dei verbi e dei nomi privi di affissi.

A questa conoscenza si ricorre spesso quando il criptogramma non è abbastanza lungo da coprire tutte le lettere dell'alfabeto, un caso, questo, che rende inutile il ricorso alle caratteristiche quantitative delle lettere. Questo metodo analitico richiede, del resto, da parte del criptoanalista una conoscenza multiforme che sia al tempo stesso matematica, linguistica, lessicale, morfologica e fonetica. Nella Risāla fī istiḫrāǧ al-mu῾ammā al-Kindī ha dimostrato una conoscenza impressionante di tutti questi aspetti, che sono trattati con estrema meticolosità. La sua creatività si manifesta specialmente nella ricerca delle leggi e dei principî fonetici che stanno alla base della combinazione e della non-combinazione delle lettere nei digrammi; egli analizzò inoltre le lettere dell'alfabeto arabo una per una, considerando quelle che non sono fra loro combinabili, sia in posizione anteriore sia in posizione posteriore. Se si fa eccezione per pochi isolati esempi reperibili in alcuni dizionari arabi, si può affermare che una tale vasta prospettiva dell'intera struttura della parola araba sia senza precedenti.

3) Secondo il metodo della 'parola probabile', un criptoanalista deve conoscere bene le formule di apertura e di chiusura usate comunemente in ogni lingua. Tipi di titoli onorari o formule onorarie standard usati in arabo includono, per esempio: nel nome di Dio, il Clemente, il Misericordioso; in Tuo nome, mio Dio di grazia; ogni favore appartiene a Dio, e simili. Fu ancora una volta al-Kindī il primo a sottolineare la necessità per il criptoanalista di conoscere tali formule di apertura che si rivelano uno strumento utile a comprendere l'intero testo cifrato. Egli precisa comunque che le formule di apertura non si applicano a tutti i tipi di messaggi: un messaggio scritto in poesia, per esempio, è normalmente privo di tali formule. Ibn ῾Adlān, che lo seguì, enfatizzò l'importanza delle formule, ne calcolò la reale presenza nei testi e citò diversi esempi di formule familiari al suo tempo. Egli stabilì, inoltre, un'altra regola riguardo all'idea della 'parola probabile' e cioè la necessità per il criptoanalista di cercare di misurare il grado di abilità di chi aveva cifrato il testo. In altre parole, il criptoanalista deve elaborare congetture in relazione al contesto del testo cifrato e all'occasione in cui esso è stato scritto, poiché questi dati possono condurre a decifrare il messaggio. È notevole poi che il principio della 'parola probabile' non fu conosciuto in Occidente prima del sec. XVI, quando Giambattista Della Porta compose il suo trattato sui linguaggi cifrati, ossia ben sette secoli dopo al-Kindī

b) La poesia. Per quanto riguarda la decifratura di criptogrammi in poesia, gli algoritmi di base menzionati dagli autori arabi ruotano attorno a tre principî, che vanno ad aggiungersi ai due precedenti ‒ quello delle proprietà quantitative e quello delle proprietà qualitative (o analitico) ‒ utilizzati in prosa. I tre principî validi esclusivamente per la poesia sono: (1) quello della necessaria familiarità del criptoanalista con le rime e gli schemi di rima, la prosodia, le lettere in rima e gli emistichi; (2) quello della determinazione del numero di lettere in un verso e della sua comparazione con tutti i metri conosciuti; (3) quello della determinazione delle lettere mute (consonanti) e delle vocali (lunghe e diacritiche) che seguono.

Gli Arabi furono molto attenti alla comunicazione per mezzo della poesia e conseguentemente alla sua decifratura, a prescindere dal metodo di cifratura utilizzato, e anche in questo al-Kindī rappresentò una figura guida: egli definì infatti gli algoritmi di decifratura sia per la prosa sia per la poesia. I criptoanalisti che gli succedettero estesero la ricerca sulla stessa via da lui indicata; ῾Alī ibn ῾Adlān, per esempio, in primo luogo spiegò teoricamente gli algoritmi, dedicando a questi due delle venti regole che costituiscono il fulcro del suo trattato, ossia la sedicesima e la diciassettesima regola, e in secondo luogo, in conclusione del suo trattato, portò un esempio pratico di decifratura di un testo poetico. Ibn al-Durayhim, che lo seguì, offrì nel suo trattato un'interessante e minuta analisi di decifratura di un verso portando un paio di esempi pratici cifrati con il metodo della sostituzione e con l'utilizzo di forme o simboli al posto delle lettere.

La criptologia e i suoi rapporti con la matematica

Non vi è dubbio alcuno che i risultati raggiunti in aritmetica e algebra furono di cruciale importanza per alcuni degli strumenti della criptologia. È anzi molto probabile che questa scienza non sarebbe mai fiorita senza l'utilizzazione dei numerali arabi (0,1,2,3,4,5,6,7,8,9), utili all'applicazione di ogni metodo analitico di criptoanalisi: si pensi al metodo con cui si determina la frequenza di occorrenza delle lettere dei digrammi e dei trigrammi o a quello con cui si computano le possibili combinazioni di lettere; tutto ciò sarebbe stato molto difficile e altrettanto laborioso se si fossero usati i numerali romani.

Tra le operazioni matematiche utilizzate in criptoanalisi vi erano le permutazioni e le combinazioni, le moltiplicazioni e le divisioni. Di queste ci si serviva nel calcolare la frequenza di occorrenza delle lettere e nel determinare le possibilità delle combinazioni di lettere in parole di due, tre, quattro o cinque lettere. Ḫalīl ibn Aḥmad concepì dei metodi combinatoriali per la composizione del primo dizionario noto della lingua araba. Al-Kindī descrisse nella sua Risāla il processo statistico per poter determinare la frequenza con cui le lettere occorrono in un dato linguaggio e lo fece analizzando un esempio di prosa di un'adeguata lunghezza in quella data lingua (utilizzò un testo di 3667 lettere); si servì quindi dei risultati statistici così ottenuti per l'analisi dei criptogrammi. Egli cominciò con il calcolare la frequenza dell'occorrenza delle lettere in ogni criptogramma e comparò poi i risultati con quelli ottenuti a partire dal testo preso a esempio. Al-Kindī sottolineò, come si è ricordato in precedenza, l'importanza della lunghezza del criptogramma perché altrimenti le leggi statistiche non possono essere applicate; un concetto, questo, di rilevanza fondamentale in matematica. Si può leggere nella sua Risāla:

Tra gli espedienti che usiamo nell'analizzare un criptogramma se la lingua ci è già nota, vi è quello di considerare un testo piano abbastanza lungo in quella lingua e contare il numero di ciascuna delle sue lettere. Segneremo allora la lettera più frequente come prima, la seconda lettera più frequente come seconda, la seguente come terza e così via, fino ad avere coperto tutte le sue lettere. Torneremo quindi al messaggio che vogliamo analizzare e classificheremo i diversi simboli cercando il simbolo più frequente nel criptogramma che considereremo come se fosse la stessa lettera che abbiamo segnato come prima nel testo piano; passeremo quindi alla seconda lettera più frequente e la considereremo come se fosse la stessa lettera che abbiamo segnato come seconda, la seguente come terza e così via, fino a esaurire tutti i simboli usati nel criptogramma che si intende analizzare.

Può accadere talvolta di trovare criptogrammi brevi, troppo brevi per poter contenere tutti i simboli dell'alfabeto e in cui quindi l'ordine della frequenza delle lettere non può essere applicato. Effettivamente l'ordine della frequenza delle lettere può essere applicato normalmente nei testi lunghi, nei quali la scarsità delle lettere in una parte del testo viene compensata dalla loro abbondanza in un'altra parte. Conseguentemente, se il criptogramma è corto, la correlazione tra l'ordine di frequenza delle lettere in esso e in quello della lingua non può essere più affidabile e devi perciò usare un altro espediente qualitativo nella criptoanalisi delle lettere. (pp. 124-126)

Al-Kindī è inoltre il primo a calcolare la frequenza di occorrenza delle lettere in arabo (e molto probabilmente anche in altre lingue) e a utilizzare i suoi risultati in criptoanalisi. Il suo testo sull'argomento è la più antica opera di criptologia che abbiamo potuto osservare.

Per quanto riguarda Ibn al-Dunaynir, egli menzionò e usò per la prima volta un dato metodo di cifratura e di criptoanalisi. Esso consiste nel sostituire un numero decimale a ogni lettera dell'alfabeto utilizzando l'alfabeto aritmetico o numerico su base decimale, o ḥisāb al-ǧummal. Secondo le sue stesse parole, infatti, criptogrammi cifrati con il ḥisāb al-ǧummal sono molto facili da analizzare. L'algoritmo consiste nel collocare ogni lettera dell'alfabeto accanto a un carattere numerico decimale: si deve aggiungere quindi accanto a ogni carattere numerico decimale il carattere corrispondente indiano che è un numero decimale. Se si pone un circoletto prima dell'1, il numero diventa 10; se il circoletto è collocato prima del 2, diventa 20 e così si arriva al carattere della decina. Se si mettono due circoletti prima dell'1, il numero diventa 100; se questi sono messi prima del 2, il numero è 200, ottenendo in questo modo il carattere delle centinaia. Se si pongono tre circoletti prima dell'1, il numero diventa 1000, se i tre circoletti sono invece posti prima del 2, il numero diventa 2000, ecc.

Ibn al-Dunaynir ci permette di fare quindi un passo avanti dimostrando che il numero che sostituisce ogni lettera dell'alfabeto può essere aumentato due volte, tre volte, o più, accrescendo così la difficoltà della criptoanalisi. Egli scrive: "Un metodo di cifratura composita consiste nel far crescere i numeri che sostituiscono le lettere due, tre o più volte, il che rende il criptogramma sempre più complicato per l'analisi". E si noti che questo metodo di cifratura, basato sulla sostituzione delle lettere con i numerali, laddove i numerali vengono poi riconvertiti nuovamente in lettere, è considerato uno dei principî base della criptologia odierna.

Anche ῾Alī ibn ῾Adlān calcolò la frequenza dell'occorrenza delle lettere in arabo, sulla scia del metodo considerato da al-Kindī, e aggiunse al lavoro del suo predecessore una regola riguardante la lunghezza minima del criptogramma, una regola che deve essere seguita per realizzare la criptoanalisi di un criptogramma quando si usa il metodo della frequenza di occorrenza delle lettere. Così egli scriveva: "la lunghezza del testo che deve essere analizzato deve approssimarsi almeno alle 90 lettere, e ciò in base all'esperienza; in tal modo le lettere possono subire tre rotazioni, anche se il numero di lettere può essere minore in alcuni casi" (questi numeri sono stati successivamente corretti in relazione alle citazioni di al-Kindī nei testi di Ibn al-Dunaynir e di Ibn ῾Adlān; Mrayati 1987, p. 276).

Questa affermazione di Ibn ῾Adlān dimostra in modo indubitabile che egli si rese conto ben presto dell'importanza della lunghezza del testo d'esempio e del fatto che la lunghezza minima richiesta per completare la distribuzione delle lettere nel testo deve approssimarsi alla distribuzione delle lettere nella lingua. Egli espresse poi lo stesso concetto nella dodicesima delle sue regole, dicendo: "[...] io ho detto che il criptogramma deve essere sufficientemente lungo, dato che in un criptogramma breve l'ordine di frequenza delle lettere non sarà più applicabile" (ibidem, p. 290). Ibn al-Durayhim allude alla cifratura realizzata attraverso l'alfabeto numerico decimale in una maniera non dissimile da quella di Ibn al-Dunaynir; egli afferma, infatti, nel suo Miftāḥ al-kunūz fī īḍāḥ al-marmūz:

alcuni sostituiscono l'alfabeto numerico decimale alle lettere in quattro diverse maniere: scrivendo i numeri in parole così come se fossero pronunciati, o con i movimenti delle dita utilizzando le dita per comunicare il messaggio visivamente a un ricevente, oppure scrivendo i numeri come dei numerali, come nello scrivere (per es. quaranta, otto, quaranta, quattro) o ancora dando al criptogramma la sembianza di una pagina di registro finanziario. [...] Alcuni riconvertono i numerali del criptogramma in un certo numero di lettere: un metodo di cifratura che comporta una maggiore sofisticazione. [...] Alcuni poi moltiplicano il numero sostituendo la lettera con due [lettere] o moltiplicandolo per tre. I numeri possono del resto essere moltiplicati anche per quattro o cinque. (pp. 331-332)

La cifratura in questo metodo è affidata alla conversione delle lettere in valori numerici e quindi alla manipolazione dei numeri effettuata grazie a calcoli matematici quali, per esempio, l'analisi di ogni numero in un insieme di numeri o la sua moltiplicazione o una qualche altra operazione realizzata per poi riconvertire nuovamente il valore numerico così ottenuto in lettere.

In conclusione, il progresso dell'aritmetica che si deve agli Arabi e l'uso di quelli che ora chiamiamo 'numerali arabi' hanno portato enorme beneficio ai criptologisti ed è persino possibile affermare ‒ come si è già sostenuto ‒ che senza tali progressi la criptoanalisi non sarebbe esistita. D'altro canto, i criptologisti a loro volta contribuirono e presero parte ai progressi dell'aritmetica.

Bibliografia

Doblhofer 1959: Doblhofer, Ernest, Le déchiffrement des écritures, Paris, Arthaud, 1959 (ed. orig.: Zeichen und Wunder. Die Entzifferung verschollener Schriften und Sprachen, Wien, Neff, 1957).

al-Kadi᾽ 1992: al-Kadi᾽, Ibrahim A., Origins of cryptology: the Arab contributions, "Cryptologia", 16, 1992.

Kahn 1976: Kahn, David, The code breakers. The story of secret writing, New York, Macmillan, 1976 (1. ed.: 1966).

‒ 1983: Kahn, David, Kahn on codes. Secrets of the new cryptology, New York, Macmillan, 1983.

Khalidi 1994: Khalidi, Tarif, Arabic historical thought in the classical period, Cambridge-New York, Cambridge University Press, 1994 (rist.: 1996).

Kruh 1993: Kruh, Louis, Arab origins of cryptology, "Cryptologia", 17, 1993.

Lange 1981: Lange, André - Soudart, Émile A., Treatise on cryptography, Laguna Hills (Cal.), Aegean Park, 1981 (ed. orig.: 1925).

‒ 1982: Lange, André, Cryptography: a study on secret writings, Laguna Hills (Cal.), Aegean Park, 1982.

Mrayati 1987: Mrayātī, Muḥammad Yaḥyā Mīr ῾Alam, Ḥassān al-Ṭayyān, Origins of Arab cryptography and cryptanalysis, v. I: Analysis and editing of three Arabic manuscripts: Al-Kindī, Ibn ῾Adlān, Ibn al-Durayhim, Damasco, The Arab Academy, 1987.

‒ 1997: Mrayātī, Muḥammad Yaḥyā Mīr ῾Alam, Ḥassān al-Ṭayyān, Origins of Arab cryptography and cryptanalysis, v. II: Analysis and editing of eight Arabic manuscripts, Damasco, The Arab Academy, 1997.

Singh 1999: Singh, Simon, The Code Book, the science of secrecy from ancient Egypt to quantum cryptography, London, Fourth Estate, 1999.

CATEGORIE