La crittografia è la scienza che permette di rendere un messaggio incomprensibile a chiunque non sia autorizzato a leggerlo. È l’arte di proteggere le informazioni trasformandole in un formato illeggibile.

I due tipi principali di crittografia

Esistono due modi principali per proteggere i dati, ognuno con uno scopo diverso. Innanzitutto iniziamo con il definire il crittosistema che è una quintupla di elementi con:

  • : plaintexts (testo in chiaro)
  • : cyphertexts (testo cifrato)
  • : insieme delle chiavi
  • : encryption
  • : decryption

Crittografia Simmetrica (La stessa chiave)

È il metodo più antico e veloce. Mittente e destinatario usano la stessa identica chiave sia per chiudere che per aprire il messaggio. Possiamo analizzare questi crittosistemi:

Crittografia Asimmetrica (Chiave pubblica e privata)

Questo sistema risolve il problema dello scambio della chiave simmetrica. L’idea che sta alla base di ciò è la trapdoor function che è una funziona a senso unico con tre caratteristiche principali:

  • Semplice da calcolare
  • Difficile da invertire
  • Se è conosciuta una determinata informazione allora è semplice da invertire.

Esempio della trapdoor function in RSA

L’algoritmo RSA si basa su una asimmetria computazionale: mentre la cifratura del messaggio è un’operazione semplice, la decifrazione senza conoscere la chiave privata è un problema intrattabile. La sicurezza del sistema risiede nella difficoltà di fattorizzare numeri interi molto grandi: senza conoscere i fattori primi e che compongono il modulo , è computazionalmente infattibile calcolare la funzione di Eulero, parametro indispensabile per derivare la chiave privata.

In questa tipologia di crittografia si usano due chiavi diverse ma matematicamente collegate:

  • Chiave Pubblica: La condividiamo con tutti. Chiunque può usarla per criptare un messaggio per noi (chiuderlo).
  • Chiave Privata: La teniamo solo per noi. È l’unica che può decifrare (aprire) i messaggi criptati con la nostra chiave pubblica.

Curva ellittica (richiamo minimo)

Una curva ellittica su un campo finito ​ ha forma: con una legge di gruppo definita sui punti della curva + il punto all’infinito .

Possiamo analizzare questi crittosistemi: