Crittografia simmetrica e asimmetrica

404 Views 0 Comment

La differenza tra crittografia simmetrica e asimmetrica riguarda due metodi diversi applicati nella codifica e decodifica dei messaggi, in particolare quelli veicolati attraverso il web, in difesa della sicurezza informatica.

Il problema crittografico è molto semplice: il messaggio di partenza è sempre un testo in chiaro, scritto in un linguaggio conosciuto. Esso viene poi elaborato attraverso un algoritmo, il risultato dell’ elaborazione viene chiamato testo cifrato.

Per essere letto, è necessaria la sua decifratura con l’ausilio di una determinata variabile crittografica (chiave).

Il messaggio transita da un trasmettitore a un ricevitore attraverso un mezzo, in modo da non farsi intercettare da colui che è definito come osservatore, qualcuno o qualcosa che può immettersi nel transito del messaggio crittato dal mittente al destinatario.

Algoritmi e chiavi

Per ogni determinato tipo di algoritmo di decodifica esisteranno sempre delle chiavi di cifratura.

Se non si conosce la chiave non si può decodificare il documento o il messaggio. Tutto il sistema della crittografia è basato sulla chiave.

Lo scopo del crittoanalista (il “nemico” da affrontare) è capire il contenuto della chiave, poiché si fa prima a carpire la chiave segreta che a decodificare il messaggio, in relazione al tempo utile.

Esistono due grandi famiglie di codici crittografici: quelli a crittografia simmetrica e quelli a crittografia asimmetrica.

Crittografia simmetrica

La crittografia simmetrica utilizza algoritmi di decodifica a chiave privata (DES, IDEA, 3DES, RC2). Si tratta di algoritmi in cui la funzione di codifica e quella di decodifica usano la stessa chiave privata, o chiavi private diverse ma in diretta relazione tra loro.

Distribuzione delle chiavi

Il trasmittente (mittente) e il ricevente (destinatario) hanno necessità di conoscere e adoperare la stessa chiave, mantenendola rigorosamente segreta e utilizzando un canale di comunicazione sicuro.

Il problema, in questo caso, non è legato tanto alla complessità della chiave e dell’algoritmo utilizzato, ma tanto alla funzionalità logistica; c’è, infatti, il problema della distribuzione delle chiavi.

La validità della chiave segreta sta nel fatto che, nel caso di due utenti, deve poter esistere una e una sola chiave segreta. Ma se abbiamo un numero alto di utenti (pensiamo a un servizio bancario via internet) allora dovranno esistere N chiavi segrete, per garantire la comunicazione codificata. Però generare, ad esempio, un milione di chiavi segrete per un milione di utenti comporta, senza dubbio, tempi e spese.

Crittografia asimmetrica

Il problema della distribuzione delle chiavi viene risolto dalla crittografia asimmetrica, in uso dal 1976, nella quale vengono previste due chiavi differenti:

  • la chiave di cifratura;
  • la chiave di decifratura.

Utilizzo delle chiavi

La chiave di cifratura può essere resa pubblica, quella di decifratura deve essere tenuta rigorosamente privata dal proprietario.

Sostanzialmente ho due chiavi diverse (che non possono venire desunte l’una dall’altra in mancanza di informazioni segrete) e, per poter tornare al messaggio originale, io devo adoperare entrambe. Di per sé, l’algoritmo permette ad esse di scambiarsi di ruolo: tutt’e due, infatti, consentono di codificare e decodificare il messaggio trasformato dall’altra, in questo modo:

  • per cifrare il messaggio → chiave pubblica;
  • per decifrare il messaggio → chiave privata.

Si potrebbe anche fare il contrario, cioè cifrare il messaggio con la chiave privata e decodificare con quella pubblica, ma ciò non ha utilità per la confidenzialità del messaggio. Ha invece utilità per identificare in modo sicuro il mittente(firma digitale):

  • per firmare il messaggio → chiave privata;
  • per verificare la firma del messaggio → chiave pubblica.

In pratica ciò viene usato nei sistemi a doppia chiave, esposto nel seguito.

Decodifica ed autenticazione

Il meccanismo della codifica a doppia chiave ha una sua duplice valenza, oltre a quella di decodifica ha anche quella di autenticazione.

In questo sistema sia Alice che Bob (A e B) hanno ciascuno una chiave pubblica ed una privata.

Infatti, se voglio essere sicuro che sia uno e uno solo a mandarmi quel determinato messaggio faccio in modo di dare a lui solo la chiave per la codifica, e di poterla poi decodificare solo io una volta che mi è stata inviata, e questo viceversa. È uno scambio di chiavi per una doppia codifica.

Due cose fa il meccanismo della doppia chiave: decodifica il messaggio e autentica il mittente, in modo che io sappia con certezza che è stato quel determinato mittente a mandarmi quel determinato messaggio. Utilizzando due volte la simmetria ottengo il doppio meccanismo di decodifica cifrata e autenticazione del ricevente. Il mittente è, dunque, determinato in modo univoco.

doppia crittografia

Alla prossima!


Continua a seguirci su:

Facebook Instagram Telegram Rss