Cos’è la crittografia a chiave pubblica?
La crittografia a chiave pubblica (PKC), nota anche come crittografia asimmetrica, è un meccanismo che utilizza sia chiavi pubbliche che private, corrispondente alla crittografia simmetrica che utilizza un'unica chiave. L'uso di coppie di chiavi conferisce a PKC funzioni e proprietà uniche per risolvere le sfide inerenti presenti in altre tecnologie di crittografia. Questa forma di crittografia è diventata un principio importante nella moderna sicurezza informatica ed è una componente chiave del crescente ecosistema delle criptovalute.
Come funziona la crittografia a chiave pubblica
Nel sistema PKC, il mittente utilizza la chiave pubblica per crittografare le informazioni e il destinatario utilizza la chiave privata per decrittografare le informazioni. Poiché le due chiavi sono completamente diverse, la chiave pubblica può essere condivisa tranquillamente senza preoccuparsi di compromettere la sicurezza della chiave privata. Ogni set di coppie di chiavi asimmetriche è unico, garantendo così che le informazioni crittografate utilizzando la chiave pubblica possano essere lette solo dalla persona che detiene la chiave privata corrispondente.
Inoltre, poiché le coppie di chiavi generate dagli algoritmi di crittografia asimmetrica sono matematicamente correlate, le loro lunghezze di chiave sono molto più lunghe di quelle utilizzate dalla crittografia simmetrica. La sua lunghezza è solitamente di 1024 o 2048 bit, quindi diventa estremamente difficile utilizzare la chiave pubblica per calcolare la corrispondente chiave privata. Oggi l’algoritmo di crittografia asimmetrica più comune si chiama RSA. Nello schema RSA, la chiave viene generata moltiplicando due numeri (solitamente due numeri primi più grandi) e prendendo il modulo comune. Il modulo genererà due chiavi, una è una chiave pubblica che può essere condivisa e l'altra è una chiave privata che deve essere mantenuta segreta. L'algoritmo RSA è stato proposto per la prima volta da Rivest, Shamir e Adleman (il cosiddetto RSA) nel 1977, ed è ancora una parte importante del sistema di crittografia a chiave pubblica.
Utilizza PKC come strumento di crittografia
La crittografia a chiave pubblica risolve un problema di vecchia data negli algoritmi simmetrici, vale a dire il problema di comunicazione tra le chiavi di crittografia e decrittografia. L'invio di una chiave simmetrica su una connessione non protetta rischia di esporla a terzi, che possono quindi leggere qualsiasi informazione crittografata dalla chiave condivisa. Sebbene esistano tecniche di crittografia come i protocolli di scambio di chiavi Diffie-Hellman per risolvere questo problema, queste chiavi sono ancora vulnerabili. Nella crittografia a chiave pubblica, non devi preoccuparti affatto di questo problema e le chiavi utilizzate per la crittografia possono essere condivise su qualsiasi connessione di rete. A questo punto, l’algoritmo asimmetrico fornisce un livello di protezione più elevato rispetto all’algoritmo simmetrico.
Casi d'uso nelle firme digitali
Un'altra applicazione degli algoritmi di crittografia asimmetrica è l'uso delle firme digitali per verificare i dati. Essenzialmente, una firma digitale è un hash creato utilizzando i dati contenuti nel messaggio. Dopo che un messaggio è stato inviato, il destinatario può verificare la firma utilizzando la chiave pubblica del mittente per verificare l'origine del messaggio e assicurarsi che il messaggio non sia stato manomesso. In alcuni casi, le firme digitali e le tecniche di crittografia vengono applicate contemporaneamente perché l'hash stesso potrebbe essere crittografato. Va tuttavia sottolineato che non tutti i sistemi di firma digitale utilizzano la tecnologia di crittografia.
limitazione
In effetti, PKC può essere utilizzato per migliorare la sicurezza informatica e verificare l'integrità delle informazioni, ma presenta anche alcune limitazioni. Poiché la crittografia e la decrittografia implicano operazioni matematiche complesse, gli algoritmi asimmetrici possono anche essere leggermente lenti durante l'elaborazione di grandi quantità di dati. E questo tipo di crittografia si basa fortemente anche sul presupposto della riservatezza della chiave privata. Se una chiave privata viene condivisa o divulgata accidentalmente, la sicurezza delle informazioni crittografate utilizzando la chiave pubblica corrispondente sarà compromessa. A volte la chiave privata di un utente può anche essere persa accidentalmente, nel qual caso l'utente perderà l'accesso ai dati crittografati.
Applicazioni della crittografia a chiave pubblica
Questo tipo di crittografia viene utilizzato da molti sistemi informatici moderni per garantire la sicurezza delle informazioni sensibili. Ad esempio, la crittografia a chiave pubblica può essere utilizzata per crittografare le e-mail per garantire la riservatezza dei loro contenuti. Anche il protocollo Secure Sockets Layer (SSL) che consente connessioni sicure ai siti Web utilizza la crittografia asimmetrica. I sistemi PKC vengono utilizzati anche per esplorare ambienti di voto elettronico sicuri che consentirebbero agli elettori di partecipare alle elezioni dai propri computer di casa.
Le caratteristiche di PKC sono importanti anche nella tecnologia blockchain e criptovaluta. Quando viene creato un nuovo portafoglio di criptovaluta, viene generata una coppia di chiavi (pubblica e privata). Gli indirizzi pubblici vengono generati utilizzando la chiave pubblica e possono essere condivisi in modo sicuro con altri. Le chiavi private, invece, vengono utilizzate per creare firme digitali e verificare le transazioni, quindi devono essere mantenute segrete. Quando una transazione viene verificata dall'hash certificato nella firma digitale, può essere aggiunta al registro blockchain. Questo sistema di firma digitale garantisce che solo gli utenti con la chiave privata corrispondente al portafoglio di criptovaluta possano accedere ai fondi dal portafoglio. Ma vale la pena notare che i codici asimmetrici utilizzati nelle applicazioni di criptovaluta sono diversi da quelli utilizzati per scopi di sicurezza informatica. Ad esempio, Bitcoin ed Ethereum utilizzano l’algoritmo di firma digitale della curva ellittica (ECDSA) per verificare le transazioni.
Dalla sicurezza informatica alla verifica delle transazioni di criptovaluta, la crittografia a chiave pubblica gioca un ruolo chiave nella protezione dei moderni sistemi digitali. Utilizzando coppie di chiavi pubbliche e private, gli algoritmi di crittografia asimmetrica risolvono i problemi di sicurezza inerenti alla crittografia simmetrica. L’uso di PKC è sperimentato da molti anni e le sue applicazioni in campi emergenti sono in costante sviluppo, soprattutto nel campo della blockchain e delle criptovalute.


