Un one-time pad è un tipo di algoritmo di crittografia utilizzato nella crittografia, in cui la chiave che crittografa e decrittografa il messaggio viene utilizzata solo una volta. Ovviamente, un one-time pad, a volte abbreviato in OTP, non è l’uso più efficiente delle risorse. L’one-time pad richiede tante risorse per crearlo come una chiave multiuso, ma deve essere distrutto dopo un utilizzo. Quando vengono seguite le procedure corrette, tuttavia, l’OTP è impossibile da rompere perché ognuno è diverso, il che rende utile creare in determinate situazioni.
In sostanza, la crittografia è il processo per nascondere le informazioni e un one-time pad è uno strumento utilizzato per nascondere i dati all’interno di un codice. Quando si utilizza la crittografia, una persona crittografa un messaggio, il che implica l’applicazione di un OTP o di un altro tipo di chiave al messaggio. La persona che riceve il messaggio utilizzerà quindi la chiave per decifrare e leggere il messaggio. Molte persone pensano alla crittografia solo come un metodo attraverso il quale governi e gruppi militari creano un codice per mascherare i messaggi. Tuttavia, vengono utilizzati diversi tipi di crittografia per nascondere le informazioni in una varietà di formati, ad esempio con le password dei computer e le carte bancomat.
Per essere considerata un perfetto one-time pad, la chiave deve contenere esattamente la stessa quantità di dati del testo da crittografare, chiamato anche testo in chiaro. Possono esistere solo due copie della chiave, una per il mittente e una per il destinatario, ed entrambe le parti devono distruggere la chiave dopo la decrittazione del messaggio. Infine, la chiave deve essere casuale. Alcuni “generatori di numeri casuali” sui computer in realtà seguono uno schema per generare i numeri, dando solo l’impressione di essere casuali.
Se usato correttamente, l’one-time pad è considerato perfettamente sicuro perché qualcuno che tenta di decifrare il codice non potrebbe fare affidamento su altri codici o messaggi per gli indizi. Un crittoanalista è in grado di confrontare e contrapporre diversi messaggi che utilizzano una chiave multiuso, applicando analisi statistiche o pattern matching ed eventualmente risolvendo la chiave. Con una chiave una tantum, tuttavia, gli unici indizi sono nel singolo messaggio, rendendo impossibile per il crittanalista di violare la chiave.
Il termine “blocco” si riferisce al momento in cui il codice è stato stampato su un blocco di carta pieno di codici OTP casuali. Dopo aver usato il codice una volta, il foglio superiore del blocco sarebbe stato distrutto, rivelando il codice successivo per il successivo one-time pad. I computer generano casualmente le OTP odierne, come hanno fatto per molti anni.