7 7 7 7 7

RSA


RSA, niente meno che l' acronimo di Ronald, Shamir e Adleman.I tre matematici che negli anni 70 scoprirono un sistema crittografico assimmetrico a due chiavi, una pubblica e una privata.L'RSA è un sistema molto efficiente per lo scambio dei dati, senza utilizzare un canale dedicato alla trasmissione.  Questo cripta il codice(messaggio) spedito con una funzione particolare. La quale una volta in mano agli sniffer - intrusi nella  connessione - non possono ricavare la funzione inversa.Ovvero: F(m) = m' , allo sniffer arriva m' , ma coi dati che ha non può fare l'inverso della funzione anche se questa è ovviamente biunivoca. Poichè si ritrova in mano con un m' senza una chiave di lettura. m' arriva anche al destinatario che avendo la chiave privata decodifica il messaggio potendo fare così F^-1 ( m' ) = m. Il motivo per cui è così difficile ottenere la chiave privata è il seguente.L'RSA si basa sull'algebra modulare es. 5 (MOD 3 ) = 2Per pianificare i dati si deve stabilire un modulo m, e due chiaviw e v.m = p * q, w è valida se MCD( (p-1) * (q-1), w) = 1v deve essere l' inverso moltiplicativo in N. Sappiamo che l'inverso moltiplicativo lo si ha in Q, con 2 * 0,5 = 1, ma in N? Ecco che rientra l'algebra orologio w * v (MOD [p-1*q-1] ) = 1ma allora vi la decidiamo con l algoritmo di EuclideMCD(a,b)=d , allora d è combinazione lineare di a e b.Quindi sarà (p-1)*(q-1) = b -il modulo diminuito- e a sarà la chiave pubblicaprendendo ovviamente tra a e b : w e q-1*p-1,b = a * q + r esplicito il resto r = b - a * qa = r * q + r1 esplicito il resto r1= a - r*qr = r1 * q + r2 esplicito il resto r2= r - r1 * q(cfr. algoritmo di Euclide avendo b / a = Quoziente + Resto)ora esplicito r2 = (b - a*q) - (a - r* q) *qotteniamo r2 = Xa + Yb , X è l inverso moltiplicativo.quindi ho la mi v,la prova del nove sarebbe fare w * X MOD p-1*q-1 = 1,la crittografia invece avviene cosìa è il dato da crittografarefaccio a^w MOD m = bper riavere a faccio b^v MOD m = a.Ora vi chiederete... ma allora una volta decifrata la chiave ad es. dopouna settimana che un dual-core esegue uno script per invertire la funzione potrebbe trovarsi con la chiave in mano,ma  la soluzione per questa evenienza e' gia' mediata in partenzaovvero gli algoritmi sono 2 : uno simmetrico e uno assimmetrico,come gia' detto e' dimostrato l' RSA e' assimmetrico mentre il DES e' simmetrico.quindi si ha Encoder e Decoder 2 algoritmi E k( D k ( m )) = E k ( m' ) = m , se viene rispettato questo requisito i 2 algoritmo sono adatti a lavorare tra loro.Una chiave standard lavora sui 48bit mentre una strong sui 128 bit.(Articolo scritto per Ciao.it)