I cifrari visti fino a questo momento conservano l'ordine dei simboli in chiaro e si limitano a trasformarli in modo più o meno complesso. I cifrari che verranno trattati in seguito utilizzano invece una tecnica chiamata trasposizione, in cui le lettere dell'alfabeto non vengono trasformate ma semplicemente ordinate secondo determinati criteri.
Cifrario a trasposizione per colonne
Nel cifrario a trasposizione per colonne è una parola o una frase che non contiene alcuna lettera ripetuta. Lo scopo della chiave è numerare le colonne di una tabella che contiene il testo in chiaro scritto orizzontalmente per righe della lunghezza della chiave. Il testo cifrato deve invece essere letto per colonne, seguendo l'ordine alfabetico proposto dalla chiave. Facciamo l'esempio di dover cifrare il testo
PROVA DI CIFRATURA A TRASPOSIZIONE PER HTML.IT
E di utilizzare la chiave HTML. La tabella che ci permette di creare il nostro testo cifrato è la seguente.
è da sottolineare che in quasi tutti gli algoritmi di crittografia è bene evitare di utilizzare gli spazi perché facilitano di molto il lavoro del crittoanalista.
Tornando al nostro cifrato, il testo sarà quindi il risultato della lettura per colonne seguendo l'ordine alfabetico della chiave (sottolineato da i numeri in rosso):
PAITASINRLVCAAASOEMTOIRRROIPTIRDFUTPZEH
Per analizzare un testo cifrato in questo modo prima di tutto è necessario assicurasi che si tratti di un algoritmo a trasposizione. Per fare ciò quindi si procede controllando che la frequenza delle lettere non corrispondano alla normale frequenza per il testo in chiaro. Il passo successivo consiste nell'ipotizzare il numero di colonne: spesso è facile ipotizzare una parola probabile nel contesto del messaggio e in base ai diagrammi riscontrati di questa parola si può determinare la lunghezza della chiave. A questo punto si tratta solo di determinare l'ordine delle colonne esaminandole singolarmente e procedendo a tentativi.
La macchina Enigma
L'ultimo passo prima della così detta crittografia moderna è costituito dalla costruzione dalla macchina elettromeccanica tedesca ENIGMA usata nella seconda guerra mondiale. Essa era composta da ruote con i caratteri incisi sul bordo, e con contatti elettrici in corrispondenza delle lettere in entrambi i lati. Il testo in chiaro, digitato su una tastiera, veniva riprodotto utilizzando i caratteri della prima ruota, la quale a sua volta costruiva un nuovo alfabeto utilizzando i caratteri della seconda, e poi della terza, e cosi' via ... Tutte le ruote, e potevano essere parecchie, venivano "scalate", in modo che la sostituzione delle lettere fosse ogni volta diversa. La chiave consisteva nel settaggio iniziale delle ruote, che potevano essere posizionate in una quantità di posizioni diverse tanto alta quante più erano le ruote utilizzate. Questo meccanismo è facile da costruire via software e abbastanza sicuro, può tuttavia essere infranto. Fu brillantemente attaccato dal matematico polacco Marin Rejewsky che con il suo lavoro permise di decifrare numerosi messaggi militari tedeschi, un fattore che probabilmente contribuì alla vittoria finale degli alleati.