Ragazzi
visto che è stato detto da fonte autorevole che questa sezione è 'poco attiva', oggi avviamo una discorso generale sulla crittografia che ci consentirà, nei limiti del possibile, di maneggiare un poco meglio la materia...
Supponiamo di avere un ‘testo in chiaro’ [plaintext…] costituito da una sequenza di simboli $m_i$, $i=1,2,3,…$ tratti da un ‘dizionario’ che contiene in tutto $M$ possibili simboli. Nel caso di un testo scritto in lingua inglese i simboli possono essere le ventisei lettere dell’alfabeto [in tal caso i ‘numeri’ come li intendiamo comunemente sono rappresentati da gruppi di lettere…] per cui è $M=26$ e ciascuna $m_i$ è rappresentabile con un numero non negativo e non superiore a $25$, ossia ‘modulo $26$’. Supponiamo di doverlo a tutti i costi trasmettere e di essere nella necessità di evitare in ogni modo che il suo contenuto sia conosciuto da altri che non sia il ‘legittimo destinatario’. In tal caso è possibile proteggere il contenuto del testo in chiaro ‘aggiungendogli’ una sequenza opportuna di simboli $M$-dari $k_i$ , $i=1,2,3,…$ chiamata ‘chiave di cifratura’ [keystream…], nota solo a noi e al destinatario. Otteniamo così il ‘testo in cifra’ [ciphertext…], rappresentato dalla sequenza…
$c_i=m_i+k_i$, $i=1,2,3,…$ (1)
… ove l’operazione di somma è da intendersi ‘in modulo $M$’. Il testo cifrato è ottenuto sommando al testo in chiaro la chiave di cifratura. L’operazione di sottrazione della chiave consente di ricavare dal testo in cifra il testo in chiaro. Le due operazioni di cifratura e decifratura sono illustrate schematicamente in figura…
Tale forma di cifratura del resto è una delle più antiche che si conoscano. Utilizzando l’alfabeto standard di 26 lettere, ad ogni lettera è possibile associare un numero secondo la tabella seguente…
a:0
b:1
c:2
d:3
e:4
f:5
g:6
h:7
i:8
j:9
k:10
l:11
m:12
n:13
o:14
p:15
q:16
r:17
s:18
t:19
u:20
v:21
w:22
x:23
y:24
z:25
L’operazione di cifratura consiste in questo caso nel ‘sostituire’ una lettera di indice $i$ con la lettera da essa distante $k_i$ posizioni. Per agevolare questa operazione in passato si usavano speciali dispositivi, come ad esempio il ‘disco cifrante’, di cui qui sotto potete vedere un modello usato dall’esercito confederato al tempo della guerra civile americana…
[img]http://digilander.libero.it/luposabatini/Enigma[1].jpg[/img]
La forma più semplice di una cifratura di questo tipo si ha quando la chiave $k_i$ è costante. La prima forma di cifratura a chiave costante di cui si ha notizia è descritta nella Vita dei Cesari di Svetonio ed è da lui attribuita a Giulio Cesare, così che ancora oggi è chiamata ‘Cifratura di Cesare’. Svetonio menziona solo lo spostamento di tre lettere, anche se si deve supporre che Cesare sia ricorso anche ad altre chiavi. Con $k=3$ ed alfabeto di 21 lettere un esempio di messaggio cifrato potrebbe essere il seguente…
Testo in chiaro: veni vidi vici
Testo in cifra:bhqn bngn bnfn
Tale forma di cifratura ha ‘resistito’ per alcuni secoli fino a quando i gli arabi non hanno introdotto un potente strumento di crittoanalisi che ha messo in crisi la cifratura di Cesare, detta anche monoalfabetica. Prima di proseguire però facciamo la conoscenza con tre personaggi che incontreremo spesso in futuro: Alice, Bob ed Eva. Alice e Bob sono amanti e si tengono in contatto epistolare sia per rafforzare la loro unione, sia soprattutto per stabilire dove incontrarsi ‘furtivamente’. Sfortuna vuole che Bob sia sposato con una certa Eva, la quale è per natura assai ‘sospettosa’ ed ha l’abitudine di ‘controllare’ Bob in ogni possibile modo. Possiamo dunque immaginare che cosa accadrebbe se Eva dovesse ‘intercettare’ un messaggio di Alice diretto a Bob e questo fosse ‘in chiaro’. Da qui la necessità per Alice e Bob di comunicare tra loro esclusivamente in cifra. Ipotizziamo ora che Alice voglia comunicare a Bob che lo aspetta a mezzanotte alla ‘casa dei cipressi’, un luogo che entrambi conoscono bene. Alice e Bob hanno preventivamente concordato di utilizzare la cifratura monoalfabetica con alfabeto di $26$ lettere e abbiano scelto una chiave costante $k=10$. Ecco quindi come potrebbe essere il messaggio…
Testo in chiaro: amor mio a mezzanotte casa dei cipressi
Testo in cifra: kwyb wsy k wojjkxyddo mkck nos mszcoccs
Dopo aver cifrato il messaggio, Alice lo invia a Bob e fiduciosa attende che si faccia buio per dirigersi non vista alla casa dei cipressi. Il diavolo però ci mette la coda ed Eva riesce ad intercettare il messaggio diretto a Bob senza che questi lo sappia. Aperto il messaggio Eva capisce che è scritto ‘in codice’ e questo non fa che accrescere la sua voglia si smascherare le malefatte del marito. Quali strumenti ha Eva per ricostruire il testo in chiaro?… Di primo acchito si potrebbe supporre che, essendo il ‘meccanismo’ di cifratura noto solo ad Alice e Bob il compito di Eva sia senza speranza. Questo ragionamento però non tiene in conto che in realtà il meccanismo utilizzato da Alice è in realtà composto da due parti, algoritmo e chiave. Se Alice e Bob vogliono continuare anche in futuro a comunicare e per sicurezza non vogliono usare sempre la stessa identica maniera la cosa più semplice è usare sempre la stessa tecnica e cambiare ogni tanto la chiave $k$. Diciamo quindi che Eva potrebbe essere arrivata col tempo alla capire la tecnica e quindi l’unica ‘variabile’ che lei ignora del messaggio sia in realtà la chiave $k$. A questo punto per lei si aprono due possibili strade. La prima consiste nel ‘provare’ tutte le possibili chiavi con cui il messaggio è stato crittato fino a trovare un testo in chiaro che ha ‘un qualche significato’. Questo approccio è chiamato ‘Attacco a bruta forza’ [Brute force attack…]. In questo caso il compito di Eva non è dei più difficili. Tutto ciò che deve fare è verificare $25$ possibili chiavi [$k=0$ renderebbe il testo in cifra identico al testo in chiaro…] e quando arriverà a verificare $k=10$ il destino di Bob sarà segnato …
Evidentemente la tecnica scelta da Alice e Bob, se poteva andare bene a Cesare nei confronti di un Vercingetorige il quale a stento scriveva il proprio nome e forse neppure quello, non è la più indicata nel caso di Eva, la quale dispone di tutto il bagaglio scientifico possibile e immaginabile. Quale può essere un miglioramento per continuare a scriversi?… Mah… fermo restando il concetto di cifratura alfabetica si può pensare di utilizzare una chiave diversa per le diverse lettere del messaggio… per esempio si può usare una chiave per le lettere pari e un’altra chiave per le lettere dispari … Proviamo così ad utilizzare $k=10$ per le lettere pari e $k=12$ per le lettere dispari. Esprimendosi in termini di numeri si potrebbe dire che il luogo di usare la chiave $10,10,10,10,…$ si usa la chiave $10,12,10,12,…$. I due testi, in chiaro e in cifra, in questo caso divengono…
Testo in chiaro: amor mio a mezzanotte casa dei cipressi
Testo in cifra: kyyd wuy m wqjlkzyfdq mmcm nqs osbcqces
Domanda: in tal caso Alice e Bob potrebbero dire di aver risolto il problema della sicurezza delle loro comunicazioni. Fino a che Eva è all’oscuro del miglioramento da loro operato certamente sì. Se però Eva si impossessa di un loro messaggio e un primo attacco brute force basato sull’ipotesi di chiave monoalfabetica va a vuoto, ella si ingegnerebbe e finirebbe per prendere in considerazione l’ipotesi si sia usata una cifratura plurialfabetica, basata cioè su una chiave cambiata periodicamente. Nell’ipotesi che tale chiave abbia periodicità uguale a $2$, Eva si metterà a provare brute force tutte le possibili chiavi che in questo caso sono pari a $25^2=625$ e quando arriva alla coppia $10,12$ il gioco è fatto! … Tutto quello che si è ottenuto è stato creare ad Eva più lavoro… Che succede se aumentiamo ancora di più la periodicità?… Per esempio $k=5$?… In tal caso la ricerca brute force costringerà Eva a controllare un numero di chiavi pari a $25^5=9.765.625$ … Basterà oppure occorre andare oltre?…
Alla domanda non è possibile ancora rispondere con certezza. Per il momento ci fermiamo e riassumiamo bevente i concetti messi a fuoco oggi…
a) un ‘buon metodo’ di cifratura deve possedere una chiave di periodicità ‘la più elevata possibile’, in grado di resistere a qualunque attacco brute force immaginabile
b) un ‘buon metodo’ di cifratura deve essere ‘attaccabile’ unicamente brute force, da cui ci si può ‘difendere’ accrescendo il più possibile il numero di chiavi
cordiali saluti
lupo grigio
An old wolf may lose his teeth, but never his nature