En criptografía , MOSQUITO es un cifrado de flujo de sincronización automática basado en hardware desarrollado en 2005 por Yoan Dymen y Paris Kitsos . Después de que se descifrara [link 1] MOUSQUITO , se desarrolló una segunda versión del cifrado y se envió al proyecto eSTREAM , donde llegó a la tercera ronda de selección. En 2008 también se crackeó la segunda versión de MOSQUITO, MOUSTIQUE [link 2] .
El significado general del trabajo del cifrado de flujo de autosincronización MOSQUITO es similar al trabajo de los cifrados de flujo de autosincronización, en los que la generación de un flujo de clave se crea mediante una función de los bits de clave y un bit de texto cifrado, que, de hecho, es similar a la operación de CFB con un bloque de permutación. Las características del cifrado MOSQUITO son la presencia de una tubería de nueve etapas que complementa la dependencia condicional del registro de desplazamiento (Registros de desplazamiento complementarios condicionales - CCSR [Nota 1] ) y funciones de transición entre etapas de la tubería de un tipo especial.
El cifrado MOSQUITO tiene ocho registros de varias longitudes, llamemos al registro CCSR - , al primer registro - , al segundo - y así hasta el séptimo registro - . Designaremos la i-ésima posición del registro j de la siguiente manera: . Longitudes de registro:
CCSR - 128 bits;
- 53 bits; - 12 bits; - 3 puntas.La esencia del cifrado es calcular, para cada ciclo, los bits de cualquiera de los registros (excepto CCSR) en función de alguna combinación de bits del registro anterior. El registro CCSR funciona como un registro de desplazamiento: los elementos del registro se desplazan y un bit de texto cifrado (de la salida de cifrado) se escribe en la posición cero del registro CCSR. Indicar por la regla por la cual se calcula el bit en la i-ésima posición en el registro j. Después:
, donde ; , donde y , si el índice inferior de cualquier elemento del lado derecho de la igualdad es mayor que 53, entonces este elemento se reemplaza por 0; , donde ; , donde ;y finalmente el bit de flujo de clave .
Vale la pena señalar que el cálculo de los bits de registro se realiza mediante lógica combinacional , y el cambio, por supuesto, mediante lógica de registro , lo que significa que para evitar el funcionamiento incorrecto de la tubería, cuando los bits del registro no tienen tiempo para ser procesado por lógica combinacional , es necesario que la función que implementa los cálculos, sea relativamente simple.