Aritmetica modulare e cifrari affini

I cifrari affini offrono una maggiore sicurezza di un codice Cesare convenzionale (leggi l’articolo sulla crittografia) aumentando considerevolmente il numero di chiavi di criptazione. Ad esempio per un alfabeto composto da 26 lettere come quello inglese, le possibili chiavi sono 26 x 26 = 656. Questa possibilità è consentita dall’utilizzo di una formula generata dall’aritmetica modulare (anche detta aritmetica dell’orologio), tecnica che trae le sue origini nell’opera del matematico greco Euclide (325-265 a.C.). Essa costituisce una delle basi fondamentali dei sistemi moderni di sicurezza dell’informazione. Naturalmente è sempre possibile trovare la soluzione per tentativi, ma occorreranno più tempo e pazienza. Vediamo ora in breve in cosa consiste l’aritmetica modulare.                   Quando si dice che sono le “ore 18”  si sta dicendo che sono le “6 del pomeriggio”.                 Similmente nella misurazione degli angoli: un angolo di 370° equivale ad uno di 10°. Allora, a quanti gradi equivalgono 750°? Detratti i giri completi pertinenti, si ottiene che un angolo di 750° è equivalente ad un altro di 30°. Usando la notazione scientifica 750 corrisponde a 30 ( mod.360 ) ovvero “750 è congruo a 30 mod. 360“. “A che ora analogica corrispondono le 19 in modulo 12?” in notazione scientifica diventa “Con cosa è congruente 19 in modulo 12?” dividendo 19 per 12 si ottiene quoziente 1 e resto 7, di conseguenza “19 è congruo a 7 mod. 12”. Ora, che relazione sussiste tra l’aritmetica modulare con il cifrario Cesare (che sfrutta un algoritmo di sostituzione in base tre ovvero  ogni lettera del messaggio originale è sostituita con quella che si trova tre posizioni più avanti nell’alfabeto: la lettera A è sostituita con la D, la B con la E e così via)? La formula derivata secondo l’aritmetica modulare è  C(x) = x + 3 (mod. 26)  dove x è il numero corrispondente alla lettera da cifrare; C(x) è la lettera cifrata; quindi come nell’esempio sopra: D = 0 (posiz A nell’alfabeto) + 3 (mod.26) in notazione scientifica “D è congrua a 3  mod 26″. La formula generale diventa C(x)=(x+k) mod.n  dove n=lunghezza dell’alfabeto (26 inglese, 27 spagnolo, ecc..) e k = chiave, in funzione della quale cambierà il massaggio cifrato.