1. Funzioni di Hash Crittografico
Una funzione di hash è un algoritmo matematico che mappa dati di dimensione arbitraria in una stringa di bit di dimensione fissa (impronta o digest). Le funzioni di hash crittografiche (come SHA-256) presentano proprietà imprescindibili per la sicurezza informatica:
1. Monodirezionalità (Pre-image resistance): Dato un hash $h$, è computazionalmente
impossibile risalire all'input originale $m$.
2. Effetto Valanga: Una minima variazione nell'input modifica radicalmente e
imprevedibilmente il valore dell'hash risultante.
3. Resistenza alle collisioni: È estremamente improbabile trovare due input
differenti che generino lo stesso identico hash.
2. Firma Digitale e Non Ripudio
La firma digitale unisce le funzioni di hash alla crittografia asimmetrica per garantire tre proprietà essenziali:
3. Certificati Digitali e Infrastruttura PKI
Per evitare attacchi di tipo Man-in-the-Middle e verificare che una chiave pubblica appartenga effettivamente a un determinato soggetto, si utilizzano i certificati digitali (standard X.509). Questi documenti elettronici sono emessi da enti terzi di fiducia chiamati CA (Certificate Authority), i quali attestano l'associazione tra l'identità di un utente/server e la sua chiave pubblica mediante la propria firma digitale.
4. Tabella di Confronto: Hash vs Firma vs Certificato
Sintesi delle funzioni svolte dai tre pilastri della sicurezza digitale:
| Strumento | Obiettivo Principale | Tecnologia di Base |
|---|---|---|
| Funzione di Hash | Verifica dell'integrità dei dati | Algoritmi matematici unidirezionali (SHA-256) |
| Firma Digitale | Autenticità, integrità e non ripudio | Hash cifrato con chiave privata asimmetrica |
| Certificato Digitale | Validazione dell'identità e della chiave pubblica | Standard X.509 firmato da una Certificate Authority (CA) |
5. Simulatore Interattivo: Verifica Hash e Firma Digitale
Simula il calcolo di impronte digitali, la generazione di firme e l'ispezione di certificati X.509 tramite utility di sistema.