La crittografia con chiave pubblica (PKC) è nota anche come crittografia asimmetrica ed è un framework che utilizza una chiave pubblica e una chiave privata, a differenza della chiave singola utilizzata nella crittografia simmetrica. L'uso di coppie di chiavi per PKC conferisce un insieme unico di proprietà e capacità che possono essere utilizzate per affrontare le sfide intrinseche ad altre tecniche crittografiche. Questo tipo di crittografia è diventato un elemento importante della sicurezza informatica moderna, oltre a essere un elemento cruciale nell'ecosistema delle criptovalute emergenti.
Come funziona la crittografia con la chiave pubblica?
Nel sistema di crittografia con chiave pubblica, la chiave pubblica viene utilizzata dal mittente per crittografare le informazioni, mentre la chiave privata viene utilizzata dal destinatario per decrittografarle. Poiché le due chiavi sono completamente diverse tra loro, la chiave pubblica può essere condivisa in modo sicuro senza compromettere la sicurezza della chiave privata. Ogni coppia di chiavi asimmetriche è unica, il che garantisce che il messaggio crittografato con una chiave pubblica possa essere letto solo dalla persona che possiede la chiave privata corrispondente.
Poiché gli algoritmi di crittografia asimmetrica generano coppie di chiavi legate alla matematica, le loro lunghezze chiave sono molto più lunghe rispetto a quelle utilizzate nella crittografia simmetrica. Questa lunghezza varia generalmente tra 1.024 e 2.048 bit, rendendo estremamente difficile calcolare una chiave privata a partire dalla sua controparte pubblica. Uno degli algoritmi più comuni per la crittografia asimmetrica in uso oggi è noto come RSA. Nel sistema RSA, le chiavi vengono create utilizzando un fattore ottenuto moltiplicando due numeri (spesso due numeri primi grandi). In altre parole, lo standard crea due chiavi (una pubblica che può essere condivisa e una privata che deve rimanere segreta). L'algoritmo RSA è stato descritto per la prima volta nel 1977 da Rivest, Shamir e Adleman (di conseguenza, RSA è l'acronimo dei nomi di ciascun partecipante) ed è ancora un componente principale dei sistemi di crittografia a chiave pubblica.
PKC come strumento di crittografia
La crittografia a chiave pubblica risolve uno dei problemi persistenti degli algoritmi simmetrici, ovvero la condivisione della chiave utilizzata sia per la crittografia che per la decrittografia. L'invio di questa chiave attraverso una connessione non sicura la espone a terzi, i quali possono quindi leggere qualsiasi messaggio crittografato con la chiave condivisa. Anche se esistono tecniche di crittografia (come il protocollo di scambio di chiavi Diffie-Hellman-Merkle) per risolvere questo problema, esse sono ancora vulnerabili agli attacchi. Al contrario, nella crittografia a chiave pubblica, la chiave utilizzata per la crittografia può essere condivisa in modo sicuro attraverso qualsiasi connessione. Di conseguenza, gli algoritmi asimmetrici offrono un livello di protezione superiore rispetto a quelli simmetrici.
Il suo utilizzo nella creazione di firme digitali
Un altro applicazione degli algoritmi di crittografia asimmetrica è l'autenticazione dei dati attraverso l'uso di firme digitali. In modo semplice, una firma digitale è un hash creato utilizzando i dati nel messaggio. Quando questo messaggio viene inviato, la firma può essere verificata dal destinatario utilizzando la chiave pubblica del mittente come metodo per autenticare la fonte del messaggio e assicurarsi che non sia stata manomessa. In alcuni casi, le firme digitali e la crittografia vengono applicate insieme, dove l'hash stesso può essere crittografato come parte del messaggio. Tuttavia, non tutti gli schemi di firma digitale utilizzano tecniche di crittografia.
Limitazioni
Sebbene possa essere utilizzato per migliorare la sicurezza informatica e fornire verifica dell'integrità del messaggio, la crittografia con chiave pubblica ha alcune limitazioni. A causa delle operazioni matematiche complesse coinvolte nella crittografia e nella decrittografia, gli algoritmi asimmetrici possono essere piuttosto lenti quando devono gestire grandi volumi di dati. Questo tipo di crittografia dipende anche fortemente dall'assunto che la chiave privata rimanga segreta. Se la chiave privata viene condivisa o esposta accidentalmente, la sicurezza di tutti i messaggi crittografati utilizzando la chiave pubblica corrispondente sarà compromessa. È anche possibile che gli utenti perdano accidentalmente le proprie chiavi private e, in questo caso, diventa impossibile per loro accedere ai dati crittografati.
Applicazioni della crittografia con chiave pubblica.
Questo tipo di crittografia è utilizzato in molti sistemi informatici moderni per fornire sicurezza alle informazioni sensibili. Ad esempio, le email possono essere crittografate utilizzando tecniche di crittografia a chiave pubblica per mantenere riservato il loro contenuto. Inoltre, il protocollo Secure Sockets Layer (SSL), che consente comunicazioni sicure con i siti web, utilizza un metodo di crittografia asimmetrica. Sono state anche esplorate le applicazioni del PKC come mezzo per fornire un ambiente di voto elettronico sicuro che consentirebbe agli elettori di partecipare alle elezioni dai propri computer domestici.
La crittografia con chiave pubblica è anche prominente nella tecnologia blockchain e nelle criptovalute. Quando viene creato un nuovo portafoglio di criptovaluta, viene generata una coppia di chiavi (chiavi pubbliche e private). L'indirizzo pubblico viene creato utilizzando la chiave pubblica e può essere condiviso in modo sicuro con altri. D'altra parte, la chiave privata viene utilizzata per creare firme digitali e verificare le transazioni, quindi deve rimanere segreta. Una volta che la transazione è verificata confermando l'hash presente nella firma digitale, questa transazione può essere aggiunta al libro mastro pubblico della blockchain. Questo sistema per verificare la validità della firma digitale assicura che solo la persona che possiede la chiave privata associata al portafoglio di criptovaluta possa spendere i fondi da esso. È importante notare che le chiavi utilizzate nelle applicazioni di criptovaluta sono diverse da quelle utilizzate per motivi di sicurezza informatica. Ad esempio, Bitcoin ed Ethereum utilizzano una crittografia specializzata nota come algoritmo di firma digitale a curva (ECDSA) per verificare le transazioni.
Dalla sicurezza informatica alla verifica delle transazioni crittografiche, la crittografia a chiave pubblica gioca un ruolo importante nel garantire i sistemi digitali moderni. Utilizzando chiavi pubbliche e private abbinate, gli algoritmi di crittografia asimmetrica affrontano i problemi di sicurezza fondamentali presentati dalle chiavi simmetriche. Anche se la crittografia con chiave pubblica è in uso da molti anni, vengono regolarmente sviluppate nuove applicazioni e utilizzi per essa, specialmente nel campo della blockchain e delle criptovalute.
