Il One-time pad, noto anche come cifrario di Vernam, è un tipo di cifrario simmetrico che offre sicurezza perfetta quando utilizzato correttamente.
La sua sicurezza deriva dal fatto che ogni chiave segreta è utilizzata una sola volta e deve essere della stessa lunghezza del testo in chiaro.
Il One-time pad è concettualmente semplice, ma richiede l'uso di chiavi segrete grandi e totalmente casuali.
Funzionamento del One-time pad:
- Chiave Segreta:
- La chiave segreta è una sequenza casuale di bit (0 e 1) della stessa lunghezza del testo in chiaro.
- La chiave deve essere generata in modo casuale e deve essere mantenuta segreta tra il mittente e il destinatario.
- Operazione di XOR (OR Esclusivo):
- Il testo in chiaro viene combinato con la chiave segreta attraverso l'operazione di XOR (OR Esclusivo).
- L'operazione XOR restituisce 1 se i bit sono diversi e 0 se sono uguali.
- Generazione del Testo Cifrato:
- Ogni bit del testo in chiaro viene combinato con il bit corrispondente nella chiave segreta per generare il testo cifrato.
- L'operazione di XOR tra il bit del testo in chiaro e il bit corrispondente nella chiave segreta determina il bit corrispondente nel testo cifrato.
Caratteristiche del One-time pad:
- Sicurezza Perfetta (se usato correttamente):
- Se la chiave segreta è casuale, lunga quanto il testo in chiaro e utilizzata solo una volta, il One-time pad offre sicurezza perfetta.
Non c'è alcun modo per un crittoanalista di dedurre la chiave o il testo in chiaro senza la chiave segreta. Per messaggi molto corti e chiavi corte anche il metodo forza bruta funziona, la sicurezza aumenta all’aumentare della dimensione del messaggio.
- Problemi pratici:
- L'uso pratico del One-time pad è limitato a causa della difficoltà nella generazione e distribuzione di chiavi segrete totalmente casuali.
Inoltre, la chiave deve essere utilizzata solo una volta, il che può essere difficile da gestire in molte situazioni.
- Lunghezza della Chiave:
- La chiave segreta deve essere della stessa lunghezza del testo in chiaro, il che può richiedere chiavi molto lunghe per messaggi più estesi.
Il One-time pad è un concetto teorico che illustra il concetto di sicurezza perfetta, ma nella pratica è spesso impraticabile a causa delle sfide nella gestione delle chiavi.
Malleabilità
Il One-time pad è noto per la sua proprietà di "malleabilità", che è una caratteristica importante e potenzialmente problematica di questo cifrario.
La malleabilità si riferisce alla capacità di un cifrario di essere modificato in modo prevedibile senza la conoscenza della chiave segreta. Nel caso del One-time pad, questa proprietà può essere sfruttata da un attaccante per manipolare il testo cifrato in modo da ottenere un testo cifrato diverso, che può poi essere decifrato in una forma specifica.
Implicazioni della malleabilità
- L'OTP garantisce segretezza perfetta, ma non integrità: un attaccante potrebbe modificare il messaggio senza essere rilevato.
- Senza un sistema di autenticazione (es. MAC, firma digitale), il destinatario non può sapere se il messaggio ricevuto è stato alterato.
Per evitare questo problema, si usa spesso un Message Authentication Code (MAC) o una firma digitale per verificare l'integrità del messaggio cifrato.