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.