A metà degli anni 70 il NIST aveva proposto DES come algoritmo di crittazione simmetrica. Ma in parallelo si sviluppò anche la crittografia di tipo asimmetrico , in particolare dai signori Diffie ed Hellman che proposero un nuovo tipo di crittografia basato su chiavi (pubbliche e private).

Un altra proposta fu data da 3 ricercatori Rivest, Shamir e Adleman (RSA) che utilizzava un problema computazionalmente difficile da risolvere , in particolare trovare due numeri primi che moltiplicati danno n.

In particolare la crittografia Asimmetrica fa uso di due tipologie di chiavi , le chiavi pubbliche che sono su dei server pubblici dove posso accedere per recuperarle e le chiavi private che sono le chiavi segrete dei singoli utenti.

Untitled

RSA (Rivest–Shamir–Adleman)

RSA si basa su un problema di Fattorizzazione.

Prendo 2 numeri primi Molto grandi ($p,q$), grandi a seconda di quando il NIST effettua il controllo in questo momento siamo sui 2000 bit.

$$ n = p*q $$

Avendo $n$ non riesco a trovare $p$ e $q$ A meno che di non conoscere un’ informazione detta (Trapdoor)

Oltre a questi due numeri devo scegliere anche un altro numero $e$ tale per cui:

$$ MCD(e,\phi(n)) =1 \\ \text{ossia } e \text{ deve avere inverso mod } \phi(n) \\ 1 <e<\phi(n) $$

Encryption

$m$ è il messaggio che devo cifrare

Elevo $m$ alla $e$ → $m^e$ e ne faccio il modulo $n$ e ottengo :

$$ m^e = C \mod n $$

$C$ è il critto testo che verrà spedito sul canale

Untitled

Decryption

Devo calcolare $d$ ossia inverso moltiplicativo di $e$

$$ d * e \equiv 1 \mod \phi(n) $$

$$ C^d = m \mod n $$

Dove $m$ è il messaggio