"One-Time Pad" è più un concetto che un algoritmo rigorosamente definito. Se esistesse una specifica di un "algoritmo di crittografia OTP" (ad esempio, in formato RFC o simile), che indica dove va ogni byte e quando, allora quella specifica ti dirà cosa succede quando la lunghezza della chiave non corrisponde alla lunghezza dei dati. Inoltre, se, nel caso in cui la chiave fosse più corta dei dati da crittografare, quella specifica ti dicesse nient'altro che: "se la chiave è più corta, la crittografia deve essere interrotta"; quindi quella specifica non si qualifica come una vera implementazione del concetto "One-Time Pad".
In questo senso, non ci può essere alcun "key wrapping around" per un One-Time Pad perché quindi il "pad" (cioè la chiave) non è più "una tantum".
Una specifica dell'algoritmo OTP sarebbe piuttosto semplice, ma c'è ancora spazio per le varianti. Quando i dati da crittografare sono una sequenza di bit (come è tipico nei computer), è consuetudine parlare di OTP con XOR come operazione per la crittografia e la decrittografia. Tuttavia, qualsiasi operazione di gruppo può svolgere il lavoro. Ad esempio, se i dati sono una sequenza di ottetti (detti anche "byte"), come è anche molto tipico nei computer, allora puoi fare un OTP con una aggiunta di byte per byte (modulo 256), mentre la decrittazione userebbe la sottrazione. Anche questo funziona bene e soddisfa il concetto di One-Time Pad. Molti usi pre-computer di OTP (con documenti e cervello umano) funzionavano con lettere , in cui l'operazione era matematicamente equivalente all'aggiunta modulo 26 (il gruppo sottostante era, in quel caso, Z 26 , mappato alle lettere da A a Z).
Non sono a conoscenza di specifiche stabilite e ben definite per un one-time pad basato sul computer, perché, diciamocelo, per gli usi pratici one-time pad tende a succhiare. Possiamo trovare tracce del concetto OTP in alcuni casi degenerati (ad esempio, la crittografia ElGamal può essere descritta matematicamente come scambio di chiavi Diffie-Hellman risultante in una chiave condivisa, che viene quindi utilizzata per crittografare il breve messaggio da inviare con un pad monouso funzionante nello stesso gruppo della parte DH).