CRITTOGRAFIA La crittografia, ovvero la scienza dei messaggi segreti sicuri, nasce come raccolta di tecniche e sistemi per nascondere messaggi tra regnanti, imperatori, amanti, militari… Gli usi odierni della crittografia sono parecchi, a partire dalla codificazione dei bancomat e delle carte di credito fino a giungere alla criptazione dei segnali televisivi dei canali a pagamento. I modi di crittografare sono antichissimi e si sono costantemente evoluti nel tempo, fino a giungere al codice RSA che si basa sul fatto che, mentre è relativamente semplice moltiplicare due numeri primi anche composti da centinaia di cifre, ben più difficile è farne la fattorizzazione, in quanto non sono stati scoperti algoritmi efficienti e non c’è altro modo se non andare per tentativi.
Quando 2 x 2 = 0 ? Quest’uguaglianza, ovviamente falsa nel campo dei numeri reali, è invece verificata in un’eventualità. Per comprendere in maniera migliore la crittografia dovremo infatti introdurre il concetto di classi di resto. Per definizione la classe di resto modulo n associa ad ogni numero relativo il resto della sua divisione per n. Quando due numeri relativi hanno la stessa classe di resto modulo n, si dice che sono congrui tra di loro modulo n. In altre parole, due numeri sono congrui tra di loro quando la loro differenza è un multiplo dello stesso n. Per esempio, 11 è congruo a 2 modulo 3, in quanto entrambi i numeri divisi per 3 danno resto 2 e parimenti 11-2=9 che è multiplo di 3. 29 è congruo a 5 modulo 12 (29-5=24=12*2); 30 non è congruo a 10 modulo 12 (30-10=20 che non è multiplo di 12 e allo stesso modo 30 diviso 12 dà resto 6 mentre 10 diviso 12 dà resto 10).
Quando 2 x 2 = 0 ? Tra le classi di resto addizione e moltiplicazione si eseguono allo stesso modo, ovvero la congruenza modulo n di a+b è uguale alla congruenza modulo n di a sommata alla congruenza modulo n di b. Parimenti la congruenza modulo n di a*b è il prodotto delle due congruenze. A questo punto si spiega come sia possibile che 2x2=0: nell’insieme delle classi di resto modulo 4, dal momento che valgono le regole di addizione e moltiplicazione, si ha [2] * [2] = [4], ma poiché sia 4 sia 0 divisi per 4 danno resto 0, in questa classe di resto si equivalgono e quindi possiamo scrivere che in Z4 (con Zn si identifica l’insieme delle classi di resto modulo n) [2] * [2] = [0].
(pr) = pr-pr-1 = pr-1*(p-1) LA FUNZIONE DI EULERO La funzione di Eulero (n) associa ad ogni numero intero positivo il numero di interi positivi minori di questo numero tali da essere coprimi con questo numero. Per esempio, (20) è uguale a 8, in quanto coprimi con 20 e minori di questo sono 1,3,7,9,11,13,17,19 (24) è uguale a 8 (1,5,7,11,13,17,19,23) (3) è uguale a 2 (1,2). Per n primo (che chiameremo p) la funzione di Eulero vale n-1. (p) = p-1 Per n potenza di un numero primo la funzione di Eulero vale (si può agilmente dimostrare): (pr) = pr-pr-1 = pr-1*(p-1) dove r è la potenza del numero primo.
Il teorema di Eulero 32782 327=7 mod 10 (10)=4 74=1 mod 10 Serve a trovare le ultime cifre di una potenza La formula è: a(n)=1 mod n Come funziona: Si trova in modulo 10 la classe di resto a cui appartiene la base Si usa la funzione di Eulero per trovare l’esponente che rende la potenza congrua a 1 Si scompone l’esponente di modo che compaia la potenza uguale a 1 e si calcola il resto 32782 327=7 mod 10 (10)=4 74=1 mod 10 782=(74)20*72= =120*49=9 La cifra finale sarà 9
Crittografia Già all’epoca dei romani Giulio Cesare mandava messaggi criptati usando la sostituzione: ovvero a ogni lettera dell’alfabeto ne corrispondeva un’altra traslata di alcune posizioni. Quindi per esempio in chiave 3 alla “D” corrispondeva la “A”, alla “E” la “B” e così via. In seguito questo metodo è stato perfezionato aggiungendo anche un prodotto che rimescoli le lettere. La chiave diventa quindi y=ax+b.
COME FUNZIONANO CELLULARI BANCOMAT E-MAIL? PERCHE’ SONO SICURI?
Codice RSA Il codice RSA si basa su due chiavi, quella pubblica e quella privata. La prima è a disposizione di tutti e serve al mittente per criptare il messaggio. Quella privata invece è conosciuta solo dal destinatario ed è indispensabile per decriptare il messaggio. Questo codice è considerato molto sicuro poiché si basa sulla difficoltà di scomporre un numero, se molto grande, in prodotto di due primi.