Uno dei più antichi cifrari di cui sia rimasta traccia è il cifrario di Giulio Cesare; grazie allo storico Svetonio è giunto fino a noi il racconto di come Giulio Cesare comunicasse con le sue truppe; ovvero con un cifrario a sostituzione monoalfabetica che consisteva nello spostare di 3 posizioni ogni lettera, mandando le ultime lettere dell’alfabeto nelle prime. Si sa che anche Augusto usava questo metodo però leggermente modificato; infatti ogni lettera era spostata di 1 sola posizione ed alla lettera X corrispondeva AA; facciamo quindi vedere lo schema di questi due metodi di cifratura e diamo un esempio di trasformazione da testo in chiaro a testo cifrato:
testo in chiaro | a | b | c | d | e | f | g | h | i | k | l | m | n | o | p | q | r | s | t | u | x |
testo cifrato (Cesare) | d | e | f | g | h | i | k | l | m | n | o | p | q | r | s | t | u | x | a | b | c |
testo cifrato (Augusto) | b | c | d | e | f | g | h | i | k | l | m | n | o | p | q | r | s | t | u | x | aa |
Questo cifrario può facilmente essere attaccato con un attacco
a forza bruta; supponiamo infatti di possedere soltanto il testo
cifrato, allora basterà semplicemente provare tutti i valori di
che
sappiamo essere 26 e si otterrà praticamente sempre un solo messaggio di senso
compiuto. Un’altra tecnica (avendo un messaggio non troppo corto) può essere
quella di sfruttare la frequenza delle lettere; esistono tabelle di frequenza delle
lettere di ogni lingua, basterà allora cercare la lettera più frequente in questa
tabella e vedere la lettera più frequente nel testo cifrato, se ne potrà così
ricavare la chiave.
Questo è un esempio di cifrario a sostituzione (cioè
un cifrario in cui ad ogni lettera viene applicata sempre la stessa fissata
permutazione dell’alfabeto); in contrapposizione ai cifrari a permutazione,
in cui il testo viene diviso in blocchi e vengono applicate permutazioni
degli elementi di ogni blocco, che cambiano solo l’ordine dei caratteri.