CipherSaber


CipherSaber es un protocolo de cifrado simétrico simple basado en el cifrado de flujo RC4 . Sus objetivos son tanto técnicos como políticos : brinda una protección razonablemente fuerte de la confidencialidad de los mensajes, pero está diseñado para ser lo suficientemente simple como para que incluso los programadores novatos puedan memorizar el algoritmo e implementarlo desde cero. Según el diseñador, una versión de CipherSaber en el lenguaje de programación QBASIC requiere solo dieciséis líneas de código. Su aspecto político es que, debido a que es tan simple, se puede volver a implementar en cualquier lugar y en cualquier momento, por lo que proporciona una forma para que los usuarios se comuniquen en privado, incluso si el gobierno u otros controles hacen completamente imposible la distribución de software criptográfico normal.

CipherSaber fue inventado por Arnold Reinhold para mantener una criptografía sólida en manos del público. Muchos gobiernos han implementado restricciones legales sobre quién puede usar la criptografía, y muchos más las han propuesto. Al publicar detalles sobre un algoritmo de encriptación seguro pero fácil de programar, Reinhold espera mantener la tecnología de encriptación accesible para todos.

A diferencia de programas como PGP , que se distribuyen como software preescrito fácil de usar, Reinhold publica CipherSaber solo como una especificación. La especificación pretende ser tan simple que incluso un programador principiante pueda implementarla fácilmente. Como explica el sitio web de CipherSaber [1] :

El sitio web tiene un archivo de gráficos que se muestra como un certificado "CipherKnight"; sin embargo, ese archivo se cifra mediante CipherSaber con una clave conocida publicada junto con el archivo. Los usuarios pueden ver el gráfico (y opcionalmente imprimirlo para enmarcarlo) escribiendo primero su propia implementación de CipherSaber para descifrar el archivo. Al escribir su propia implementación y realizar algunas otras pequeñas tareas, el usuario se convierte en CipherKnight y el certificado descifrado da fe de su título de caballero. Entonces, en lugar de proporcionar una herramienta lista para usar, el diseñador de CipherSaber espera ayudar a los usuarios de computadoras a comprender que son capaces de crear sus propios programas criptográficos sólidos sin tener que depender de desarrolladores profesionales o del permiso del gobierno.

En la versión original de CipherSaber (ahora llamada CipherSaber-1 o CS1), cada mensaje cifrado comienza con un vector de inicialización (IV) aleatorio de diez bytes . Este IV se agrega a la clave CipherSaber para formar la entrada al algoritmo de configuración de la clave RC4. El mensaje, XORed con el flujo de claves RC4 , sigue inmediatamente.

El ataque de Fluhrer, Mantin y Shamir en RC4 ha vuelto vulnerable a CipherSaber-1 si se envía una gran cantidad de mensajes (>1000) con la misma clave de CipherSaber. Para abordar esto, el diseñador de CipherSaber ha creado un protocolo modificado (llamado CipherSaber-2) en el que el bucle de configuración de la clave RC4 se repite varias veces (se recomiendan 20). Además de acordar una clave secreta, las partes que se comunican con CipherSaber-2 deben acordar cuántas veces repetir este bucle.