RANA


En criptografía , FROG es un cifrado de bloque escrito por Georgoudis, Leroux y Chaves. El algoritmo puede funcionar con cualquier tamaño de bloque entre 8 y 128 bytes y admite tamaños de clave entre 5 y 125 bytes. El algoritmo consta de 8 rondas y tiene un programa clave muy complicado .

Fue presentado en 1998 por TecApro, una empresa costarricense de software, a la competencia AES como candidato a convertirse en el Estándar de Cifrado Avanzado . Wagner et al. (1999) encontraron varias clases clave débiles para FROG. Otros problemas incluyeron una configuración de clave muy lenta y un cifrado relativamente lento. FROG no fue seleccionado como finalista.

Normalmente, una cifra del bloque se aplica una secuencia fija de operadores matemáticos o lógicos primitivos (tales como adiciones, XORs , etc.) en el texto en claro y clave secreta con el fin de producir el texto cifrado . Un atacante utiliza este conocimiento para buscar debilidades en el cifrado que puedan permitir la recuperación del texto sin formato.

La filosofía de diseño de FROG es ocultar la secuencia exacta de operaciones primitivas aunque se conozca el cifrado en sí. Mientras que otros cifrados usan la clave secreta solo como datos (que se combinan con el texto sin formato para producir el texto cifrado), FROG usa la clave como datos y como instrucciones sobre cómo combinar estos datos. En efecto, FROG utiliza una versión ampliada de la clave como programa. FROG en sí funciona como un intérprete que aplica este programa dependiente de clave en el texto sin formato para producir el texto cifrado. El descifrado funciona aplicando el mismo programa al revés en el texto cifrado.

La programación de la clave FROG (o clave interna) tiene una longitud de 2304 bytes. Se produce de forma recursiva mediante la aplicación iterativa de FROG a un texto sin formato vacío. El bloque resultante se procesa para producir una clave interna bien formateada con 8 registros. FROG tiene 8 rondas, las operaciones de cada ronda codificadas por un registro en la clave interna. Todas las operaciones abarcan bytes y consisten en XOR y sustituciones. [1]

FROG es muy fácil de implementar (la versión C de referencia tiene solo unas 150 líneas de código). Gran parte del código necesario para implementar FROG se utiliza para generar la clave interna secreta; el cifrado interno en sí es una pieza de código muy corta. Es posible escribir una rutina de ensamblaje de solo 22 instrucciones de máquina que realice el cifrado y descifrado completo de FROG. La implementación funcionará bien en procesadores de 8 bits porque solo usa instrucciones a nivel de byte. No se utilizan operaciones específicas de bits. Una vez que se ha calculado la clave interna, el algoritmo es bastante rápido: una versión implementada con el ensamblador 8086 alcanza velocidades de procesamiento de más de 2,2 megabytes por segundo cuando se ejecuta en una PC Pentium de 200 MHz.


Vista de alto nivel de RANA