Dopo aver visto alcuni esempio di algoritmi di crittografia a chiave simmetrica e a chiave pubblica, vedremo in questo articolo di fare un confronto tra i due sistemi, partendo comunque dal presupposto che queste operano in due ambiti diversi e che la crittografia a chiave pubblica non rappresenta il sostituto di quella a chiave segreta.
Il primo e più evidente vantaggio portato dalla crittografia a chiave asimmetrica riguarda la gestione delle chiavi (scambio e conservazione).
Nella crittografia a chiave simmetrica, la chiave di decodifica coincide (o può essere facilmente ricavata) da quella di codifica, cosicché questa non può essere di pubblico dominio. I due interlocutori quindi devono necessariamente concordare la chiave da utilizzare. Questo implica una fase di scambio delle chiavi, che può avvenire tramite l’incontro dei due interlocutori o attraverso la spedizione su un canale assolutamente sicuro.
Nella crittografia a chiave pubblica, invece, non è necessario la spedizione della chiave in modo sicuro. Ogni utente dovrà solo provvedere a gestire un archivio delle chiavi pubbliche delle persone con cui è solito comunicare. In particolare, non dovrà prendere nessuna precauzione di protezione di questo archivio, in quanto contiene informazioni di dominio pubblico. Inoltre, per quanto riguarda la conservazione delle chiavi, la protezione da parte degli interlocutori della propria chiave deve essere massima sia nel caso di algoritmi a chiave segreta che in quelli a chiave pubblica.
La crittografia a chiave pubblica soddisfa tre fondamentali caratteristiche legate alla sicurezza:
- segretezza: il messaggio è protetto contro letture non autorizzate;
- integrità: l’informazione è protetta contro ogni alterazione derivanti da accessi non autorizzati;
- autenticità (del mittente): il ricevente del messaggio è sicuro dell’identità del mittente e al tempo stesso.
Dopo aver sottolineato gli aspetti positivi della crittografia a chiave pubblica nei confronti quella tradizionale, vediamo invece due aspetti “negativi”.
Innanzitutto gli algoritmi a chiave pubblica sono deboli ad attacchi di tipo chosen plaintext: se C è il testo cifrato del messaggio M, dove M appartiene a un insieme di n possibili messaggi in chiaro, un crittoanalista dovrà fare al massimo n codifiche e confrontare il testo cifrato ottenuto con C. (Questo argomenti di crittoanalisi verrano poi affrontati in dettaglio nel prossimo articolo)
L’altro aspetto riguarda la velocità degli algoritmi: in generale, gli algoritmi a chiave pubblica sono più lenti. Gli algoritmi a chiave simmetrica sono almeno 1000 volte più veloci di quelli a chiave asimmetrica.