Un altro campo importante di applicazione della crittografia è quello militare, anzi si dice persino che i primi codici siano dovuti a Giulio Cesare...

I codici di Cesare:

Consideriamo l'alfabeto (inglese con 26 lettere):

A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z

Possiamo numerare gli elementi di questa lista, così ad ogni lettera corrisponde un numero:       A ->1, B->2, ..., Y-> 25, Z->26.

Adesso prendiamo un numero n, per esempio n=3, e spostiamo ogni lettera di n=3 posizioni (verso destra) nella lista. Per esempio A che era nella prima posizione si ritrova nella quarta posizione (1+3 = 4).

Ovviamente c'è un piccolo problema per le ultime tre lettere (a priori vanno a finire fuori), però siccome si sono liberati i primi posti, le mettiamo lì. Perm2.gif (5817 bytes)

 

 

Questo equivale a pensare alla nostra lista come a una lista circolare.

 

 

 

Con i numeri funziona così: per esempio X-> 24; 24 + 3 = 27 e 27 - 26 = 1, quindi X si ritrova alla prima posizione. Nello stesso modo 25 + 3 = 28, 28 -26 = 2 e Y si ritrova nella seconda posizione. Abbiamo quindi:

X, Y, Z, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W

Quindi la A è diventata X; la B, Y ecc...

Il messaggio: "Mandare i rinforzi domani sera" viene cifrato in "Jxkaxob f ofkclowf aljxkf pbox". Chi riceve il messaggio, per decifrarlo, deve conoscere: il procedimento usato e la chiave, cioè il numero n (n=3 nell'esempio). Un tale procedimento è detto a chiave simmetrica. Infatti il cifratore (chi srive) e il decifratore (chi legge) compiono  la stessa operazione. Per esempio, per decifrare, basta aggiungere tre: nell'alfabeto normale J-> 10, 10+3 = 13 -> M, quindi la prima lettera è una M, ecc... 

Un tale codice NON è sicuro:

Si cercherà pertanto di costruire codici più complicatiavanti02.gif (9574 bytes)

fleche_retour.gif (1377 bytes)