771 likes | 1.09k Views
Codici e segreti storie e matematica intorno alla crittografia. 21 dicembre 2010 Prof. Fabio Bonoli. Introduzione.
E N D
Codici e segretistorie e matematica intorno alla crittografia 21 dicembre 2010 Prof. Fabio Bonoli
Introduzione Negli anni Sessanta e Settanta dello scorso secolo, in pieno sviluppo informatico, le vecchie macchine cifranti elettromeccaniche usate per scopi di crittografia – vale a dire per trasmettere messaggi al riparo da possibili, indesiderate, intercettazioni – vennero progressivamente sostituite da dispositivi elettronici che, oltretutto, garantivano maggiore velocità, maggiore sicurezza e risparmio economico.
Introduzione Allo stesso tempo, il grande pubblico venne a conoscenza di alcuni successi crittografici di notevole rilievo che, fino ad allora, erano ancora sotto segreto. L’immaginazione fu colpita soprattutto da vicende belliche relative alla Seconda Guerra Mondiale, nella quale si intrecciano spionaggio, cultura meccanica e capacità di addentrarsi nelle strutture logiche e combinatorie più intricate, come nel caso della macchina Enigma, da parte delle forze alleate in Europa.
Introduzione Fu in questo contesto particolare che, nel 1976, due scienziati americani, Whitfield Diffie e Martin Hellman diedero vita al nuovo settore della crittografia a chiave pubblica. Questa idea, solo due anni più tardi ricevette una concreta implementazione nel sistema detto RSA dal nome dei suoi ideatori: Ronald Rivest, Adi Shamir e Leonard Adleman.
Introduzione La chiave pubblica ha trasformato la crittografia da un’antica ‘arte’ in una scienza moderna. Ciò è avvenuto grazie all’incontro della pratica millenaria della crittografia, dotata soprattutto di regole empiriche, con una scienza formale rigorosa – la teoria dei numeri – che, nella concezione di Gauss è la “regina della matematica” (che a sua volta, sempre nella sua concezione, è la “regina della scienza”).
Vi racconto 3 storie • Gennaio 1917: prima guerra mondiale, U-boot e un certo ministro Zimmermann… • Ottobre 1586: Maria Stuarda sta per essere giustiziata… • 1820: i crittogrammi Beale e una caccia al tesoro non ancora conclusa…
Prima guerra mondiale • Il presidente USA Wilson non vuole mandare truppe in Europa, nonostante le forti pressioni britanniche. • 1916: Berlino, viene nominato ministro degli Esteri Arthur Zimmermann • 1915: un U-Boot tedesco aveva affondato il transatlantico Louisiana, causando più di 1500 morti. Gli Usa non intervengono, la Germania assicura di far emergere i sottomarini, prima di attaccare.
Prima guerra mondiale • 1917: Zimmermann decide di intensificare la guerra navale, sperando in una fine rapida della guerra… e gli Stati Uniti? Ecco il piano Zimmermann: alleanza con il Messico, che avrebbe dovuto invadere gli USA reclamando vecchi territori; il presidente messicano doveva poi mediare per convincere il Giappone ad attaccare gli Stati Uniti.
Prima guerra mondiale Intendiamo iniziare una guerra sottomarina senza restrizioni a partire dal primo febbraio. Tenteremo, nonostante ciò, di far restare neutrali gli Stati Uniti. Qualora risultasse impossibile, intendiamo rivolgere al Messico una proposta di alleanza sulle basi seguenti: muovere guerra insieme, ottenere la pace insieme, generoso sostegno finanziario e nostro assenso alla riconquista da parte del Messico dei territori perduti in Texas, Nuovo Messico e Arizona. A lei la definizione dei particolari. Informerete il Presidente (della Repubblica Messicana) di quanto sopra, nella massima segretezza, non appena lo scoppio della guerra con gli Stati Uniti sia certo, aggiungendo il suggerimento che egli, di sua iniziativa, inviti il Giappone ad aderire immediatamente, e nel contempo funga da intermediario tra noi e il Giappone. Vi prego di richiamare l'attenzione del Presidente sul fatto che l'impiego senza restrizioni dei nostri sottomarini schiude la possibilità di costringere l'Inghilterra alla pace entro pochi mesi. Accusare ricevuta. Zimmermann
Prima guerra mondiale Gli inglesi intercettano e decifrano il messaggio, che giunse così agli americani, ma non in modo diretto. Gli inglesi non volevano far capire di essere in grado di decifrare i messaggi tedeschi. Con l’aiuto dei servizi segreti riuscirono ad intercettare la copia del telegramma giunta in Messico. Wilson chiede al congresso degli Stati Uniti d’America di considerare il telegramma come un atto di guerra.
La corrispondenza segreta di Maria Stuarda 15 ottobre 1586: Maria Stuarda entra nell’affollata aula di giustizia del castello di Fotheringhay. Maria, regina degli scozzesi, è accusata di tradimento: avrebbe partecipato ad un complotto mirante ad uccidere la regina Elisabetta. Sir Francis Walshingham intende dimostrare che la Stuarda merita la morte perché partecipe alla congiura. Solo così Elisabetta firmerà la sua condanna.
La corrispondenza segreta di Maria Stuarda Gradirei sapere i nomi e i meriti dei sei gentiluomini che devono attuare il disegno; potrei infatti, conoscendo le parti interessate, dare al riguardo ulteriori consigli cui sarà necessario attenersi, e indicazioni su come procedere in taluni frangenti: e appena potete, per la stessa ragione [fatemi sapere] chi sia già stato, e in che misura, messo a parte di ciò. La corrispondenza cifrata di Maria di Scozia dimostra che crittare in modo debole può esser peggio che non crittare. Infatti la regina e Babington si espressero senza perifrasi perché contavano sulla cifratura; se i biglietti fossero stati in inglese ordinario, avrebbero alluso ai loro piani con maggiore discrezione.
La caccia al tesoro Beale Tra la gente comune il secondo Ottocento vide un grande aumento della curiosità per le scritture segrete. La nascita del telegrafo aveva aumentato l'interesse commerciale per la crittografia. Anche i privati cittadini presero coscienza della necessità di proteggere i loro messaggi, quando riguardavano questioni delicate e strettamente personali. Per farlo erano disposti a crittarli, anche a costo di pagare una tariffa più elevata.
La caccia al tesoro Beale Per esempio, nell'Inghilterra vittoriana i giovani innamorati spesso non erano liberi di manifestare i loro sentimenti. Così finirono per ricorrere agli spazi a pagamento dei quotidiani, ai quali inviavano romantici messaggi cifrati dopo aver concordato la chiave con l'anima gemella. Queste «colonne dei sospiri» <agony columns>, diventarono una ghiotta riserva di caccia per i crittoanalisti, che le sottoponevano ad analisi statistica e cercavano di ricostruirne il contenuto.
La caccia al tesoro Beale II crescente interesse della gente comune per la crittografia fece sì che codici trovassero posto nella letteratura del secondo Ottocento. Nel Viaggio al centro della Terra, di Jules Verne, vi è la decifrazione di una pergamena coperta di caratteri misteriosi. In Gran Bretagna Sherlock Holmes era esperto di crittografia. Sull'altra sponda dell'Atlantico, Edgar Allan Poe si occupò anch'egli di crittoanalisi. Scrivendo per l’Alexander Weekly Messenger di Philadelphia, il celebre autore sfidò i lettori a sottoporgli qualunque tipo di cifratura. I crittogrammi inviati alla rivista furono centinaia, ed egli li tradusse tutti.
La caccia al tesoro Beale Nel 1843, Poe scrisse un racconto sui codici segreti che per parere dei crittografi professionisti è la miglior opera letteraria sull'argomento. Lo scarabeo d'oro narra l'immaginaria avventura di William Legrande, che s'imbatte in uno strano coleottero - uno scarabeo di colore dorato - e lo raccoglie con un foglio di carta trovato nei pressi. La sera stessa Legrande usa il foglio per tracciare uno schizzo dell'insetto; ma quando lo avvicina al focolare, il calore fa comparire una serie di segni, invisibili fino a quel momento perché tracciati con l'inchiostro simpatico. Studiando i segni Legrande si convince di essere di fronte a un crittogramma, che custodisce l'ubicazione del tesoro del capitano Kidd.
La caccia al tesoro Beale Il racconto di Poe è pura invenzione, ma c'è una storia vera del XIX secolo che lo ricorda da vicino. Il caso dei crittogrammi Beale ha per protagonisti avventurieri del selvaggio West, un cowboy che aveva accumulato un'ingente fortuna, un tesoro sepolto del valore di 20 milioni di dollari, e una serie di fogli coperti di simboli crittografici. Molto di quanto sappiamo della vicenda, crittogrammi compresi, è esposto in un libretto edito nel 1885 nella cittadina di Lynchburg, in Virginia. Solo 23 pagine che hanno frustrato generazioni di crittoanalisti e sedotto molti cacciatori di tesori.
La caccia al tesoro Beale: i fatti Nel gennaio del 1823, un forestiero di nome Thomas J. Beale arrivò a Lynchburg e varcò il portone dell'Hotel Washington. Uomo dagli occhi neri e capelli corvini, più lunghi di quanto si usasse a quel tempo. Era robusto e in eccellente forma fisica. Tuttavia, spiccava la sua carnagione scura, come se avesse passato molto tempo esposto al sole. Beale passò il resto dell'inverno da Morriss, e sebbene la sua compagnia fosse “gradita a tutti, e in special modo alle signore", egli non parlò mai del suo passato, della sua famiglia o della ragione che l'aveva condotto lì. Poi, alla fine di marzo, se ne andò. La sua partenza fu improvvisa e inspiegata come il suo arrivo.
La caccia al tesoro Beale: i fatti Due anni dopo, nel gennaio 1825, Beale tornò all'Hotel Washington "più corvino e abbronzato che mai». Di nuovo passò l'inverno a Lynchburg e scomparve in primavera; non prima, però, di aver affidato a Morriss una scatola metallica chiusa a chiave. L'albergatore mise la scatola in cassaforte e non vi pensò più, finché ricevette una lettera dal misterioso cliente. Bealesvelò la vera funzione della scatola metallica. Contiene carte di importanza vitale per le mie fortune e per quelle di diverse persone con cui sono in affari, e nell'eventualità della mia morte la sua perdita sarebbe irreparabile. Comprenderete, quindi, la necessità di fare ogni sforzo perché un simile disastro non si verifichi...
La caccia al tesoro Beale: i fatti Morriss custodì la scatola con zelo, aspettando che il proprietario venisse a recuperarla, ma Beale non tornò mai più a Lynchburg. Alla fine, nel 1845, la curiosità ebbe la meglio e la serratura fu forzata. Nella scatola c'erano 3 fogli coperti di numeri, e un biglietto scritto a mano da Beale, che spiegava parecchie cose. Nel 1817, Beale aveva iniziato un viaggio attraverso l'America con altre persone. La brigata,inseguendo mandrie di bufali, un giorno si accampò in un burrone, 400-500 Km a nord di Santa Fé. Scoprirono in una fenditura della roccia qualcosa che a un primo sguardo sembrava oro. Nei successivi diciotto mesi Beale e i suoi uomini sfruttarono il giacimento e accumularono un'ingente quantità di oro.
La caccia al tesoro Beale: i fatti Nel 1823 Beale raggiunse Lynchburg con l'oro e l'argento, e lo seppellì. Fu in quell'occasione che prese alloggio all'Hotel Washington e conobbe Morriss. Quando, alla fine dell'inverno, aveva lasciato l'albergo, Beale aveva raggiunto i suoi amici, che durante la sua assenza avevano continuato a sfruttare la miniera. Dopo un anno e mezzo Beale tornò a Lynchburg, con un ulteriore carico da aggiungere al tesoro. Questa volta, però, la sua permanenza in città aveva anche un altro scopo: Beale, convinto che Morriss fosse un uomo onesto decise di affidare a lui la scatola di metallo coi 3 documenti cifrati, i cosiddetti crittogrammi Beale.
La caccia al tesoro Beale: i fatti Ogni crittogramma consisteva in una serie di numeri. Il primo foglio chiariva l'ubicazione del tesoro; il secondo descriveva il tesoro stesso; il terzo indicava gli eredi degli uomini che l'avevano accumulato. Nel 1862, Morriss vecchio si confida ad un amico. Sappiamo solo che fu questo amico a pubblicare, nel 1885, il famoso libretto usando uno pseudonimo. Tutto quello che conosciamo di questa storia singolare deriva dal libretto; esso è l'unica fonte sia dei crittogrammi sia degli antefatti che Morriss avrebbe narrato. Inoltre, è da attribuire all'autore la decifrazione del secondo crittogramma.
La caccia al tesoro Beale 71, 194,38,1701,89,76,11,83, 1629,48,94,63, 132, 16, 11 Ì, 95, 84, 34Ì, 975, 14,40,64,27,81, 139,213.63,90, 1120,8, 15,3, 126,2018,40,74,758,485, 604,230,436,664,582,150,251,284,308,231,124, 211, 486, 225, 401,370, 11, 101,305, 139, 189,17,33,88,208,193, Ì45, 1,94,73,416,918,263,28,500, 538, 356, 117, 136. 219, 27, 176, 130, 10, 460, 25, 485, 18, 436, 65, 84. 200, 283, 118,320,138,36,416,280, 15,71,224,961,44, 16,401,39,88,61,304, 12,21, 24, 283, 134, 92, 63, 246, 486,682,7, 219. 184, 360, 780, 18, 64,463,474,131, 160,79,73,440,95, 18,64,581,34,69, 128,367,460, 17,81, 12, 103,820,62, 116, 97, 103, 862, 70, 60, 1317, 471, 540, 208, 121, 890, 346, 36, 150, 59, 568, 614,13, 120,63,219,812,2160, 1780,99.35,18,21,136,872,15,28,170,88,4, 30,44, 112,18, 147,436, 195,320,37, 122, 113,6,140,8, 120,305,42,58,461, 44, 106,301, 13,408,680,93,86, 116,530,82,568,9, 102,38,416.89,71,216, 728,965,818,2,38, 121, 195, 14,326, 148,234,18,55, 131,234,361,824,5, 81,623,48.961,19,26,33,10,1101,365,92,88,181,275,346,201,206,86, 36, 219, 324, 829, 840, 64,326,19, 48, 122, 85, 216, 284, 919, 861, 326, 985, 233, 64, 68, 232, 431, 960,50,29,81, 216, 321, 603,14, 612, 81, 360, 36, 51, 62, 194,78,60,200,314,676, 112,4,28, 18,61, 136,247,819,921, 1060,464,895, 10,6,66, 119,38,41,49,602,423,962,302,294,875,78, 14,23, 111, 109,62, 31,501,823,216,280,34,24,150, 1000,162,286, 19,21, 17,340, 19,242.31, 86,234, 140,607, 115,33, 191,67,104,86,52,88,16,80, 121,67,95, 122,216, 548,96, 11 ,201,77,364,218,65,667,890,236, 154,211, 10,98,34, 119,56, 216, 119,71,218,1164,1496,1817,51,39,210,36,3,19,540,232,22,141,617, 84, 290, 80, 46, 207, 411, 150, 29, 38, 46, 172, 85, 194, 39, 261, 543, 897, 624, 18, 212,416, 127,931, 19,4,63,96. 12, 101.418, 16. 140,230,460,538, 19,27,88, 612, 1431,90,716.275,74,83, 11,426,89,72,84, 1300, 1706,814,221,132, 40, 102, 34, 868,975, 1101, 84,16,79, 23, 16, 61, 122, 324, 403,912,227, 936, 447, 55, 86, 34, 43, 212. 107, 96, 314, 264, 1065, 323, 428, 601, 203, 124, 95, 216, 814, 2906, 654, 820, 2, 301, 112, 176, 215, 71, 87, 96, 202, 35, 10, 2, 41,17, 64, 221,736,820,214, 11,60,760. il primo crittogramma Beale.
La caccia al tesoro Beale 115, 75, 24, 807, 37, 52/ 49, T 7, 31, 62, 647, 22, 7, 15, 1 40, 47, 29, ] 07, 79, 84, 56, 239, 10, 26, 8] 1,5, 196,308,85,52, 160, 136, 59, 211, 36, 9, 46, 316, 554, 122, 106,95,53,58,2,42,7,35, 122,53,31,82, 77.250, 196,56,96, 118,71, 140, 287, 28, 353, 37, 1005, 65, 147, 807, 24, 3, 8, 12, 47, 43, 59, 807, 45, 316, 101, 41, 78, 154, 1005,122, 138,191,16,77, 49, 102,57, 72, 34, 73, 85, 35,37),59,196, 81, 92, 191, 106, 273, 60, 394, 620, 270, 220, 106, 388, 287, 63, 3, 6, 191, 122, 43, 234, 400, 106, 290, 314, 47, 48, 81, 96, 26, 115. 92, 158, 191, 110, 77, 85, 197, 46, 10, 113, 140,353,48, 120, 106, 2, 607, 61,420,811, 29, 125, 14.20,37, 105, 28, 248, 16, 159,7,35, 19,301, 125, 110,486,287,98, 117,511,62,51,220,37, 113, 140, 807, 138, 540, 8, 44, 287, 388, 117, 18, 79, 344, 34, 20, 59, 511, 548,107, 603, 220,7, 66, 154, 41, 20, 50, 6,575, 122, 154, 248, 110, 61, 52, 33, 30, 5, 38, 8, 14,84,57,540,217, 115,71,29,84,63,43, 131,29, 138,47, 73,239,540,52,53, 79, 118,51,44,65, 196, 12,239, 112,3,49,79,353, 105,56,371,557,211,515, 125.360, 133, 143, 101, 15,284,540,252, 14,205, 140,344,26,811, 138, 115, 48, 73, 34, 205, 316, 607, 63, 220, 7, 52, 150, 44, 52, 16, 40, 37, 158, 807, 37, 121, 12,95, 10, 15,35, 12, 131,62, 115, 102,807,49.53, 135, 138,30,31,62,67,41, 85, 63, 10, 106, 807, 138, 8, 113, 20, 32, 33, 37, 353, 287, 140, 47, 85, 50, 37, 49. 47, 64,6,7, 71, 33, 4, 43, 47, 63, 1,27, 600, 208,230, 15, 191, 246, 85,94,511,2, 270,20. 39, 7, 33, 44, 22, 40, 7, 10, 3, 811, 106, 44, 486, 230, 353, 211, 200, 31, 10, 38, 140,297, 61, 603, 320, 302, 666,287, 2, 44, 33, 32, 511, 548, 10, 6, 250, 557, 246, 53, 37, 52, 83, 47, 320, 38, 33, 807, 7, 44, 30, 31, 250, 10, 15, 35, 106, 160, 113,31, 102,406,230,540,320,29,66,33, 101,807, 138,301,316,353, 320, 220, 37, 52, 28, 540, 320, 33, 8, 48, 107, 50, 811, 7, 2, 113, 73, 16, 125, 11, 110, 67, 102, 807, 33, 59, 81, 158, 38, 43, 581, 138, 19, 85, 400, 38, 43, 77, 14, 27, 8, 47, 138,63, 140, 44, 35,22, 177, 106, 250,314,217, 2, 10,7, 1005, 4, 20, 25, 44,48,7,26,46, 110,230,807, 191,34, 112, 147,44, 110, 121, 125,96,41,51, 50, 140, 56. 47, 152, 540, 63,807, 28, 42, 250, 138, 582, 98, 643,32,107, 140, 112, 26,85, 138, 540,53, 20, 125, 371, 38, 36, 10, 52, 118, 136, 102, 420, 150, 112,71, 14,20.7,24, 18, 12,807,37,67, 110,62,33,21,95,220,511, 102,811, 30, 83. 84, 305, 620, 15,2,108, 220,106,353,105,106, 60, 275, 72, 8, 50, 205, 185, 112,125, 540. 65.106, 807, 188, 96,110, 16, 73, 33, 807, 150, 409, 400, 50, 154,285,96, 106,316,270,205, 101,811,400,8,44,37,52,40,241,34,205, 38, 16, 46,47, 85, 24, 44, 15. 64, 73, 138,807, 85, 78, 110, 33, 420,505,53,37, 38, 22,31, 10, 110, 106, 101, 140, 15,38,3, 5,44, 7,98,287, 135, 150,96, 33,84, 125,807, 191,96,511, 118,440,370,643,466, 106,41, 107,603,220,275,30, 150, 105,49,53,287,250,208, 134, 7, 53, 12,47,85,63, 138, 110,21, 112, 140, 485, 486, 505,14,73, 84, 575, 1005,150, 200, 16, 42, 5, 4, 25, 42,8, 16, 811, 125, 160, 32, 205, 603,807, 81, 96, 405, 41, 600, 136, 14, 20, 28, 26, 353, 302, 246,8, 131, 160, 140,84,440,42, 16,8)1,40,67, 10), 102, 194, ) 38, 205, 51, 63, 241, 540, 122, 8, 10, 63, 140, 47,48, 140, 288. il secondo crittogramma Beale.
La caccia al tesoro Beale Per esempio, se mittente e destinatario convengono che questa frase sia il testo chiave, ogni parola viene contrassegnata numericamente come mostrato. Dopo di che si compila un elenco, che associa il numero alla lettera iniziale della parola corrispondente. 1=p 8=c 15=o 2=e 9=q 16=p 3=s 10=f 17=v 4=m 11 =s 18=c 5= e 12=i 19 =n 6=d 13 = t 20 = c 7=c 14=c 21 =m A questo punto, cifrare un messaggio sostituendo alle lettere del testo chiaro i numeri corrispondenti dell'elenco. P corrisponderebbe ai numeri 1 e 16, e ai numeri 2 e 5, mentre f potrebbe essere sostituita solo dai numero 10.
La caccia al tesoro Beale Poiché il testo chiave è breve, molte lettere dell'alfabeto non vi compaiono, e sono prive dì numeri corrispondenti. Per cifrare l'intero alfabeto, basterebbe ricorrere a una chiave più lunga. Il destinatario, che dovrebbe aver accesso a una copia del testo-chiave, decifrerà il crittogramma con facilità. Ma una terza parte che avesse intercettato il messaggio, per decrittarlo dovrebbe scoprire quale testo abbia fatto da chiave. Fu la Dichiarazione di Indipendenza che permise di decifrare il secondo dei crittogrammi Beale.
Le prime scritture nascoste Il modo più istintivo è quello di nascondere il messaggio: in questo caso si parla propriamente di steganografia. Mentre quando non si nasconde il messaggio, bensì il suo contenuto allora si ha a che fare con la crittografia, termine usato per la prima volta, a quanto sembra, nel 1641 da John Wilkins, uno dei fondatori della Royal Society, ma pratica antica quanto l’uomo.
Le prime scritture nascoste Uno dei primi esempi documentati di messaggio cifrato viene fatto risalire a Giulio Cesare, che era solito ricorrervi nella guerra contro i Galli. Il sistema cifrante consisteva nel “traslare circolarmente” l’alfabeto, sostituendo di conseguenza tutte le lettere del messaggio in chiaro. Ad esempio, con una traslazione di 2 unità dall’alfabeto in chiaro (riga superiore) si ottiene quello cifrato (riga inferiore): A B C D E F G H I L M N O P Q R S T U V Z C D E F G H I L M N O P Q R S T U V Z A B Metodi di questo genere sono noti come cifrari di Cesare.
Le prime scritture nascoste Si hanno a disposizione solo 20 cifrari distinti di questo tipo, e la chiave cifrante, il segreto speciale, è il numero n (compreso fra 1 e 20) che specifica di quanto è necessario traslare l’alfabeto in chiaro per ottenere quello cifrato. Un numero molto esiguo di cifrari che si presta ad essere eluso con pochi tentativi. Una variazione che aumenta enormemente il numero di cifrari distinti consisterebbe nell’assumere una qualunque permutazione delle 21 lettere dell’alfabeto in chiaro invece di eseguire una semplice traslazione. I cifrari distinti diventano in questo caso 21! – un numero altissimo, dell’ordine di 1018 .
Le prime scritture nascoste Un possibile compromesso allo scopo di generare una permutazione con un meccanismo semplice, efficiente e facile da memorizzare: • si può usare una parola chiave che non abbia lettere ripetute, come “liceo”, oppure • eliminare le ripetizioni da un termine scelto (ad esempio “liceorighi” diventa “liceorgh”) • e utilizzare la parola per indicizzare le permutazioni partendo da una posizione convenuta
Le prime scritture nascoste la parola chiave viene usata a partire da quella posizione e, poi, si procede alfabeticamente, saltando ovviamente le lettere già usate. Ad esempio, la permutazione che si ottiene con la parola chiave “liceorgh” a partire dalla posizione 4 è quella che segue: A B C D E F G H I L M N O P Q R S T U V Z U V Z L I C E O R G H A B D F M N P Q S T La memorizzazione della chiave (liceorgh, 4) è agevole per tutti e un cifrario di questo genere sembra al riparo da attacchi basati su tentativi ripetuti. Ma …
Le prime scritture nascoste Il crittoanalista, cioè colui che tenta di infrangere il cifrario, posto di fronte ad un testo cifrato abbastanza lungo, è a conoscenza del fatto che il testo in chiaro è scritto in italiano (o in inglese, o in russo …) e che riguarda affari (o problemi diplomatici, militari,commerciali, sentimentali …) e, soprattutto, conosce il dizionario delle frequenze con cui si ripetono le lettere nei discorsi del dato argomento.
Le prime scritture nascoste Studiando le frequenze con cui compaiono le varie lettere nel testo trasmesso – che deve essere abbastanza lungo e significativo – si possono fare delle ipotesi attendibili riguardo al loro significato in chiaro. Altre informazioni si ottengono ad esempio dalla frequenza delle lettere ripetute, da particolari associazioni o dalla loro mancanza
I cifrari polialfabetici Come rendere uniformi le frequenze nel testo cifrato? L’idea è quella di ricorrere ad un cifrario polialfabetico, vale a dire di associare ad ogni lettera in chiaro un simbolo cifrato in maniera dipendente dal contesto nel quale avviene la cifratura. Ad esempio, visto che in italiano la frequenza della lettera “a” è quasi del 12%, si potrebbero usare 12 simboli diversi X1,X2,…,X12: il primo viene usato la prima volta che compare la lettera “a” nel testo in chiaro, il secondo la seconda volta e così via, circolarmente. È chiaro, che in questo modo, tutti i simboli cifranti ricorrono con la stessa frequenza, ma si tratta di un’idea impraticabile.
I cifrari polialfabetici Uno dei primi esempi è legato al nome di Leon Battista Alberti, nella seconda metà del Quattrocento. L’idea dell’Alberti è quella di usare due dischi concentrici, in grado di ruotare l’uno rispetto all’altro, e contenenti l’alfabeto in chiaro (il disco esterno) e quello in cifra (il disco interno).
I cifrari polialfabetici Dopo la cifratura di una lettera, ottenuta facendo corrispondere le lettere dei due dischi che sono una sopra l’altra, il disco esterno viene ruotato di una tacca,e la corrispondenza fra le lettere cambia e cambia tutto l’alfabeto cifrante, che si ripete dopo un periodo lungo quanto sono le lettere che compaiono nei dischi. È chiaro che il congegno può cadere in mano nemica senza danno: la chiave crittografica in questo caso è data dall’assetto iniziale dei due dischi.
I cifrari polialfabetici Il cifrario che, dal Rinascimento, rimase in uso per molti secoli e che costituì il paradigma di ogni metodo di cifratura polialfabetica è legato al nome del diplomatico francese Blaise de Vigenère (1523-1596). L’idea è quella di utilizzare per ogni lettera un diverso alfabeto cifrante, il quale viene indicizzato da una parola chiave. Non è più necessario che la parola chiave sia priva di lettere ripetute.
I cifrari polialfabetici Nell’esempio seguente riprendiamo la chiave “liceorighi”, senza modifiche. Tutti i possibili 20 cifrari vengono riportati sotto l’alfabeto in chiaro come nello schema che segue:
I cifrari polialfabetici Il testo da cifrare sia “NEL MEZZO DEL CAMMIN DI NOSTRA VITA….”. Per mantenerlo segreto lo cifriamo con la chiave “LICEORIGHI”. Sovrapponiamo la chiave tanto quanto basta: N E L M E Z Z O D E L C A M M I N D I N O S T R A V I T A L I C E O R I G H I L I C E O R I G H I L I C E O R I G H Z O N Q S Q H U M O U…….
I cifrari polialfabetici Z O N Q S Q H U M O U……. Si osserva che le prime due lettere “E” sono cifrate ordinatamente con “O”e “Q”, le due lettere “Z” sono cifrate ordinatamente con “Q”e “H”. Viceversa, due “U” del messaggio cifrato corrispondono rispettivamente ad “O” ed “L”. Ecco in funzione un cifrario polialfabetico!
I cifrari polialfabetici Sembra di essere al riparo degli attacchi statistici. Inizialmente ci furono attacchi sporadici, spesso legati a conoscenze degli autori e dei possibili messaggi. Il primo attacco sistematico venne portato alla lunghezza della chiave, trovata la quale tutto si ripete e si può considerare di lavorare con spezzoni monoalfabetici. Un metodo generale per attaccare i cifrari polialfabetici fu trovato da un ufficiale dell’esercito prussiano, Friedrich W. Kasiski, il quale trovò una regola per determinare la lunghezza della chiave. Intorno all’inizio del Novecento era ormai generalmente accettata la vulnerabilità dei sistemi polialfabetici ed i sistemi à la Vigènere persero di interesse.
I cifrari perfetti Nel contesto dei sistemi meccanici di calcolo, nel Novecento, sorge l’idea che si possa costruire un cifrario perfetto, vale a dire un cifrario che non possa essere infranto. Il messaggio, ormai, è diventato una successione di bit, una stringa numerica binaria, e la chiave è un’altrettanto lunga sequenza di bit generata in modo casuale e custodita in un libro delle chiavi – da usare una sola volta. Il sistema non è decrittabile con metodi statistici, poiché ogni carattere in chiaro può essere rappresentato con la stessa probabilità da un qualunque carattere cifrato, e non esistono più modelli perché la scelta della chiave avviene in modo casuale.
I cifrari perfetti Lo schema è il seguente: Qui, k rappresenta la chiave e le operazioni di somma e sottrazione sulle cifre binarie del messaggio e della chiave sono proprio, almeno nella prima applicazione, le operazioni di somma e sottrazione binarie, con il vantaggio che il meccanismo per cifrare coincide con quello per decifrare.
I cifrari perfetti I due esempi che seguono dimostrano la sostanziale semplicità della cifratura computerizzata. Innanzitutto, supponiamo che il messaggio che vogliamo cifrare sia CESENA, e che intendiamo servirci di una semplice versione computerizzata di una cifratura per trasposizione. Prima di crittarlo, dobbiamo convertire il messaggio in codice ASCII. Testo chiaro: CESENA = 1000011 1000101 1010011 1000101 1001110 1000001
I cifrari perfetti Una delle forme più semplici di cifratura per trasposizione comporta Io scambio della prima e della seconda cifra binaria, poi della terza e della quarta cifra binaria, e cosi via. Testo chiaro 1000001110001011010011100010110011101000001 Testo cifrato 0100001101000111100011010001110011010100010 Il messaggio crittato è una singola stringa di 42 cifre binarie, che può essere trasmessa al destinatario. Quest'ultimo può ripristinare il testo chiaro effettuando di nuovo la trasposizione delle cifre binarie, dividendo la stringa in elementi del codice ASCII da sette bit, e trovando la lettera alfabetica corrispondente.
I cifrari perfetti Supponiamo ora di voler crittare lo stesso messaggio, CESENA, impiegando una semplice versione computerizzata di una cifratura per sostituzione. Di nuovo, prima di crittare il messaggio dovremo convertirlo in codice ASCII. La sostituzione si avvale di una chiave concordata dal mittente e dal destinatario. Es: chiave: SERIEA. Tradotta in codice ASCII, essa si potrà usare sommando ogni elemento del testo chiaro al corrispondente elemento della chiave.
I cifrari perfetti • Messaggio CESENA • Messaggio ASCII100001110001011010011100010110011101000001 • Chiave SERIEA • Chiave ASCII 111001111001011110010110100111001011100001 Testo cifrato 011000001000000100001010110001010110100000 II crittogramma così generato è una singola stringa di 42 cifre binarie, chepuò essere trasmessa al destinatario. Quest'ultimo, usando la chiave per invertire la sostituzione, può ricreare la stringa originaria, e da questa, tramite il codice ASCII, risalire al testo chiaro.
I cifrari perfetti Nei primi anni Settanta negli USA si mise a punto il sistema Lucifer. Lucifer critta i messaggi tramite le seguenti operazioni: • il testo è convertito in una lunga stringa di cifre binarie. • la stringa è divisa in blocchi di 64 bit, ciascuno dei quali sarà crittato separatamente. • si modificano i 64 bit del blocco: nella divisione di quest'ultimo in due mezzi blocchi da 32 bit, chiamati Sinistra0 e Destra0. • I bit di Destra0 sono poi introdotti in una funzione «deformante», che trasforma le cifre binarie tramite un complesso procedimentodi sostituzione.
I cifrari perfetti Il mezzo blocco Destra0 deformato è sommato a Sinistra0 per produrre un nuovo mezzo blocco da 32 bit chiamato Destra1, mentre l'originario Destra0 diventa Sinistra1. Questa serie di operazioni è chiamata «giro». La cifratura completa di un blocco da 64 bit prevede un totale di sedici giri. Il testo in cifra può quindi essere inviato al destinatario,che lo volgerà in chiaro invertendo il processo. I particolari della funzione deformante possono mutare a ogni messaggio, in quanto dipendono dalla chiave concordata dal mittente e dal destinatario.