Firme digitali

Le firme digitali consistono in uno schema matematico utilizzato per verificare l'autenticità e l'integrità di messaggi o documenti digitali.

Crittografia a Chiave Simmetrica

La crittografia a chiave simmetrica non è generalmente utilizzata per la generazione di firme digitali perché la generazione e la verifica della firma avvengono utilizzando la stessa chiave segreta condivisa tra le parti autorizzate.

Per sua natura, questo metodo è sconsigliato rispetto alle firme digitali generate e verificate con crittografia asimmetrica.

Utilizzi della Crittografia Simmetrica

La crittografia simmetrica è generalmente utilizzata per garantire l'integrità e l'autenticità dei messaggi attraverso meccanismi come HMAC (Hash-based Message Authentication Code).

  • HMAC: Verifica dell'integrità e l'autenticità di dati.
  • Json Web Tokens: Verifica dell'integrità e l'autenticità di Payload dei JSON Web Tokens.
  • HOTP / TOTP: Generazione chiavi segrete per l'implementazione di meccanismi di autenticazione a 2 fattori.

Crittografia a Chiave Asimmetrica

La crittografia a chiave asimmetrica è ampiamente utilizzata per la generazione e la verifica di firme digitali grazie alla sua capacità di fornire autenticità, integrità e non ripudio. A differenza della crittografia simmetrica, che utilizza una singola chiave condivisa, la crittografia asimmetrica utilizza una coppia di chiavi: una chiave pubblica e una chiave privata.

Generazione e Verifica delle Firme Digitali

Generazione delle Firme Digitali

Per generare una firma digitale, il mittente crea un hash del messaggio e lo cifra utilizzando la propria chiave privata. La firma risultante è univocamente legata al messaggio e alla chiave privata del mittente.

Verifica delle Firme Digitali

Per verificare la firma digitale, il destinatario utilizza la chiave pubblica del mittente per decifrare la firma e confrontare l'hash ottenuto con l'hash del messaggio ricevuto. Se gli hash coincidono, la firma è valida e il destinatario può essere certo dell'integrità e dell'autenticità del messaggio.

Utilizzi della Crittografia Asimmetrica

La crittografia a chiave asimmetrica viene comunemente utilizzata in vari ambiti per garantire la sicurezza delle comunicazioni e dei dati:

  • Firme Digitali: Garantisce l'autenticità e l'integrità dei messaggi o documenti digitali.
  • Certificati Digitali: Verifica l'identità delle parti coinvolte nelle comunicazioni sicure.
  • Secure Email (e.g., PGP): Assicura la confidenzialità e l'integrità delle email.
  • SSL/TLS: Protegge le comunicazioni su internet, come nelle connessioni HTTPS.

Esempi di Algoritmi Asimmetrici