MICKEY


En criptografía , el generador KEYstream de sincronización irregular mutua (MICKEY) es un algoritmo de cifrado de flujo desarrollado por Steve Babbage y Matthew Dodd . [1] El cifrado está diseñado para usarse en plataformas de hardware con recursos limitados y fue uno de los tres cifrados aceptados en el Perfil 2 de la cartera de eSTREAM . El algoritmo no está patentado y es gratuito para cualquier uso. [2]

El cifrado mapea una clave de 80 bits y un vector de inicialización de longitud variable (0 a 80 bits) a un flujo de claves con una longitud máxima de 2 40 bits.

El generador de flujo de claves utiliza dos registros R y S (100 bits cada uno). Los registros se actualizan de manera no lineal utilizando las variables de control: BIT DE ENTRADA R, BIT DE ENTRADA S, BIT DE CONTROL R, BIT DE CONTROL S. Como se mencionó anteriormente, cualquier implementación del cifrado contiene flip-flops para R, S registros y las 4 variables de control. Además, debe haber 7 flip-flops para que el registro del contador realice un seguimiento del número de rondas en la etapa Preclock. La etapa de producción de keystream en MICKEY 2.0 está precedida por las tres etapas: - Carga IV, Carga de Llave y Preclock. Inicialmente, los registros R, S se inicializan al estado todo cero.

A diferencia de Trivium, MICKEY 2.0 [3] no permite la carga directa de bits clave y IV en el registro de estado. Como se mencionó anteriormente, inicialmente los registros R, S se inicializan al estado todo cero. Luego, se usa un IV de longitud variable y la clave de 80 bits para actualizar el estado ejecutando sucesivamente la rutina CLOCK KG.

Ocultar el mapeo entre las celdas de escaneo y las variables reales de un cifrado es lo que impulsó los esquemas anteriores de cadena XOR de retroalimentación única y doble retroalimentación. Como esto también está siendo presa del criptoanálisis, como se muestra en la sección anterior, avanzamos hacia una arquitectura más segura, denominada estructura aleatoria XOR-Chain (rXOR-Chain).

La técnica de contramedida Flipped-Scan para proteger las cadenas de escaneo se propuso anteriormente. Esto implicó colocar inversores en puntos aleatorios de la cadena de exploración. La seguridad surgió del hecho de que un adversario no podía adivinar el número y las posiciones de los inversores. Esta técnica se criptoanalizó mediante un ataque RESET. Se demostró que si todos los flip-flops en la cadena de escaneo están inicialmente RESET, entonces las posiciones de los inversores pueden ser determinadas completamente por las transiciones 0 → 1 y 1 → 0 en el vector escaneado. Como alternativa, se propuso la contramedida basada en XOR-CHAIN. La técnica consiste en colocar puertas XOR en puntos aleatorios de la cadena. [4] La seguridad nuevamente proviene del hecho de que un adversario no puede adivinar el número y las posiciones de las puertas XOR.