-
Una codifica è robusta se camuffa l'impronta dell'autore
-
e genera un'impronta meno riconoscibile
-
Il modo è di appiattire la distribuzione di frequenza delle lettere
-
Verso la metà del 15-esimo secolo
-
la crittografia polialfabetica aveva raggiunto
-
tale traguardo
-
Immaginiamo che Alice e bob condividano una parola segreta di traslazione
-
Alice dapprima converte le parole in numeri
-
secondo la posizione delle lettere nell'alfabeto
-
Quindi questa sequenza di numeri è ripetuta nel messaggio
-
Poi ogni lettera del messaggio viene criptata
-
traslandola della quantità numerica scritta al di sotto
-
Ora, usa traslazioni differenti invece di un'unica
-
per l'intero messaggio, come nel caso del codice di Cesare
-
Il messaggio così criptato è inviato "in chiaro" a Bob
-
Bob decifra il messaggio sottraendo le traslazioni
-
secondo la parola segreta di cui possiede copia
-
Immaginiamo ora un nemico che cerchi di decodificare
-
una serie di messaggi che è riuscito ad intercettare
-
calcola la frequenza d'occorrenza delle differenti lettere
-
e trova una distribuzione piatta o un'impronta più leggera
-
come può decodificare i messaggi?
-
Riflettete: per decodificare un messaggio si cerca una dispersione d'informazione
-
che è equivalente a cercare un'impronta
-
Ogni volta che c'è una differenza nella frequenza delle lettere
-
c'è una traccia, dell'informazione trapela
-
La differenza è il risultato di una ripetizione nel messaggio criptato
-
In questo caso, il messaggio di Alice contiene una parola-codice che si ripete
-
Per svelare la codifica, Eva deve dapprima determinare
-
la lunghezza della parola usata per traslare le altre, ma non la parola stessa.
-
Deve analizzare
-
la distribuzione delle frequenze dei diversi intervalli
-
Nel controllare la distribuzione di frequenza di ogni quinta lettera
-
troverà la traccia che cerca
-
Il problema è diventato quello di decifrare un codice di Cesare a cinque cifre
-
organizzate in una sequenza che si ripete.
-
Il singolo compito, individualmente preso, è triviale
-
come abbiamo visto
-
la robustezza aggiuntiva del codice è data dal tempo occorrente
-
per determinare la lunghezza della parola usata per calcolare la traslazione dei caratteri individuali nel messaggio
-
Più lunga è la parola usata per la codifica, più robusta sarà la codifica.