En su forma original, el sistema de Vernam no era irrompible porque la clave se podía reutilizar.
El uso único vino un poco después, cuando Joseph Mauborgne reconoció que si la cinta de la clave era completamente aleatoria, se incrementaría la dificultad criptoanalítica.
[4] La libreta de uso único no proporciona ningún mecanismo para asegurar la integridad del mensaje, y en teoría un atacante en el medio que conozca el mensaje exacto que se está enviando podría sustituir fácilmente parte o todo el mensaje con un texto de su elección que sea de la misma longitud.
El capitán Joseph Mauborgne (más tarde capitán del ejército de los Estados Unidos y después jefe del Signal Corps) se dio cuenta de que la secuencia de la clave podía ser completamente aleatoria y que, en tal caso, el criptoanálisis sería más difícil.
El Ministerio de Asuntos Exteriores alemán puso en funcionamiento este sistema en 1923.
Normalmente la manera de hacer esto se decide a priori, por ejemplo «usar la hoja número 12 el Día del Trabajador», o «usar la siguiente hoja disponible para el siguiente mensaje».
En este ejemplo, la técnica es combinar la clave y el mensaje usando la suma modular.
Ahora, la clave es restada del texto cifrado, de nuevo usando aritmética modular: Nótese que a todo valor se le suma previamente 27, y al final se aplica igualmente el módulo 27.
Tanto Alicia como Roberto destruyen la hoja con la clave inmediatamente después de su uso, previniendo así su reutilización y un ataque contra el cifrado que sería trivial en esencia.
La KGB enviaba con frecuencia a sus agentes libretas de uso único impresas en minúsculas hojas de «papel flash» —papel convertido químicamente en nitrocelulosa, que arde casi instantáneamente y no deja cenizas.
Las libretas de uso único, utilizadas adecuadamente, son seguras en este sentido incluso contra adversarios con poder computacional infinito.
Si Eva dispusiera de una potencia computacional infinita, hallaría rápidamente que la clave «XMCK» produciría el texto en claro «HOLA», pero también hallaría que la clave «FCJR» produciría el texto en claro «ZYES», un mensaje igualmente plausible: De hecho, es posible «descifrar» cualquier mensaje con el mismo número de caracteres a partir del texto cifrado simplemente usando una clave diferente, y no existe ninguna información en el texto cifrado que le permita a Eva escoger entre las posibles lecturas del texto cifrado.
En el caso del mejor algoritmo que se usa en la actualidad, no se sabe si existe un procedimiento criptoanalítico que pueda revertir (o revertir parcialmente) esas transformaciones sin conocer la clave utilizada durante el cifrado.
Uno de los principales problemas sin resolver en teoría de la computabilidad está relacionado con este problema; si P=NP, entonces sería al menos posible que se puedan hallar algoritmos así, y seguramente se buscarían con más ahínco que hoy en día.
Y aunque se demuestre que no, algunos criptosistemas actuales todavía podrían romperse.
Sin embargo, la libreta de uso único no sería menos segura si se demostrara que P=NP.
Generalmente estos utilizan una clave pequeña que se usa como semilla para un flujo pseudoaleatorio largo, que luego se combina con el mensaje empleando algún mecanismo como los de la libreta de uso único (por ejemplo, XOR).
Parecería que hay pocos motivos para inventar nuevos cifrados en flujo, pero se piensa desde hace tiempo que la NSA y las agencias similares emplean un esfuerzo considerable en los cifrados en flujo para sus clientes gubernamentales.
Normalmente producen secuencias que pasan alguna (o muchas) pruebas estadísticas, pero sin embargo son rompibles por técnicas criptoanalíticas.
Para que se puedan usar en una libreta de uso único, los datos deben mostrar una aleatoriedad perfecta.
Pero este proceso es lento en sistemas que tienen pocas fuentes de ruido utilizables.
Linux también proporciona /dev/urandom, que emplea un algoritmo determinista para generar los datos cuando no hay ruido ambiental disponible.
Yarrow ofrece al menos tanta fuerza como un cifrado en bloque basado en el Triple DES.
Si se van a producir libretas de papel, es mejor que la impresora también sea dedicada.
Su pequeño tamaño permitiría guardarlo fácilmente en una caja fuerte cuando no esté en funcionamiento.