Feb 04 2008
OTP y negabilidad
OTP (bloc de un solo uso) es el único método de cifrado que no puede ni podrá ser descifrado jamás, el único que asegura teóricamente el secreto perfecto. Hemos leÃdo últimamente como en el Reino Unido el juez podrá pedir las claves de los ciudadanos si piensa que con ellas está cifrada la prueba de un hecho delictivo. Veamos una posibilidad ante una petición de ese tipo de obtener negabilidad (denyability) basada en OTP.
El bloc de un solo uso es un método -al menos teóricamente- muy fácil de implementar y utilizar, consiste en disponer de un fichero de números aleatorios de la misma longitud que el texto que queremos cifrar y que nunca volveremos a utilizar para otro cifrado. El fichero cifrado se obtiene haciendo un XOR (suma lógica exclusiva) de el texto en claro con el fichero aleatorio. ¿Por qué no puede ser descifrado? porque siendo la clave totalmente aleatoria podemos experimentar con distintas claves y obtener una ingente cantidad de textos con sentido y cualquiera de ellos serÃa igualmente probable como texto en claro.
Entonces si T es nuestro texto en claro y P es el bloc de un solo uso obtenemos C = T XOR P como nuestro texto cifrado. Para descifrar, el proceso es el mismo pues C XOR P = T de nuevo. Además T XOR T está formado sólo por ceros cualquiera que sea T. Aprovechándonos de estas propiedades de XOR podemos utilizar el siguiente esquema.
Sea A el mensaje incriminador que queremos ocultar y B un mensaje aleatorio de la misma longitud que A. Por último sea A’ otro mensaje en claro también de la misma longitud que A, con sentido pero totalmente inocente (o sólo ligeramente incriminatorio para hilar más fino). Calculamos:
C = A XOR B
C’ = A’ XOR C
Ahora almacenamos en nuestro disco duro el fichero C, totalmente invulnerable sin la clave y destruimos A. Después guardamos en sendos CDs / DVDs los ficheros B y C’ que ponemos por separado a buen recaudo.
Entonces cuando la autoridad (im)pertinente nos pide nuestra clave podemos hacer varias cosas: una es alegar que la hemos olvidado y probablemente acabar en la cárcel por desobediencia, otra es dar una clave falsa, pero entonces el fichero resultante es un galimatÃas sin sentido, el engaño es evidente y nuestro destino el mismo. La tercera es dar con reticencia aparente nuestro CD con el fichero C’.
Ahora cuando se hace C XOR C’ para descifrar nuestro fichero C del disco duro ¡lo que se obtiene es A’ es decir el mensaje inocente que no nos incrimina! naturalmente si nosotros necesitamos descifrarlo realmente usarÃamos la otra clave pues C XOR B = A.
