Es extremadamente importante entender que "One Time Pad" es un elemento del cifrado real utilizado, no un protocolo en particular. Por ejemplo, SSL o TLS con RC4 es, efectivamente, implementando un One Time Pad digital, mientras que SSL o TLS con DES o AES no usan uno.
One Time Pad se refiere a la técnica criptográfica de la vieja escuela de imprimir pads de códigos ... objetos de papel reales ... que podrían usarse para cifrar y descifrar mensajes. El teclado fue efectivamente la clave que se usará para cifrar un mensaje.
La fuerza de un One Time Pad se deriva del hecho de que sus mensajes son generalmente cortos y que la clave se usa una y solo una vez. Esto dificulta los ataques estadísticos contra el texto cifrado. Sin embargo, si reutiliza la clave, instantáneamente comienza a comprometer la seguridad general de los datos, haciendo que el criptoanálisis estadístico sea más viable.
Sin embargo, hay otras características importantes. Ya que One Time Pad usa la tecla solo una vez, también significa que obtienes Perfect Forward Secret de forma gratuita. PFS significa que si un atacante "rompe" una clave, ya sea a través de un texto sin formato elegido, un texto plano conocido u otro criptoanálisis, el hecho de romper esa clave no le da absolutamente ninguna información sobre ninguna clave anterior o futura, excepto, por supuesto, que esas claves no son la clave actual.
En la práctica, las almohadillas digitales de una sola vez no cambian la clave después de cada mensaje. Si lo hicieran, sería fantástico, pero simplemente no es práctico. Para compensar esta deficiencia (reutilización de claves), las implementaciones suelen incluir dos cosas. El primero es un protocolo o método para reemplazar periódicamente la parte fija de la clave según el tiempo o la cantidad de datos enviados. El segundo es usar algún tipo de "vector de inicialización" aleatorio (piense en ello como un gran sal) que se agrega a la clave antes de cifrar cada mensaje. En lugar de cambiar la clave completa, una fija (generalmente una porción relativamente grande de la clave) permanece fija durante un período de tiempo mientras que la IV (sal) se cambia con cada mensaje. Dado que la sal está cambiando, se debe comunicar al interlocutor y, por lo general, se envía de forma clara o efectiva.
Un maravilloso ejemplo de un pad de una vez digital es RC-4. Un ejemplo de una implementación deficiente (bien conocida, por supuesto) es WEP, que utiliza un vector de inicialización de 24 bits. WPA, el primer intento de "arreglar" esto, hizo que la porción fija de la clave fuera más grande y agregó TKIP para cambiar periódicamente a una clave aleatoria (porción fija) mientras se siguen usando RC-4 y IVs.