Este artículo puede resultar demasiado técnico para la mayoría de los lectores . ( Mayo de 2012 ) |
General | |
---|---|
Diseñadores | Sean O'Neil |
Primera publicación | 13 de junio de 2005 |
Detalle del cifrado | |
Tamaños de claves | cualquier |
Reclamaciones de seguridad | 80–256 bits |
Tamaño del estado | 256 bits (VEST-4) a 768 (VEST-32) |
Estructura | NLFSR , SPN , función T |
Los cifrados VEST (Very Efficient Substitution Transposition) son un conjunto de familias de cifrados dedicados a hardware de propósito general que admiten cifrado autenticado de una sola pasada y pueden funcionar como funciones hash resistentes a colisiones diseñadas por Sean O'Neil, Benjamin Gittins y Howard Landman. [1] VEST no se puede implementar de manera eficiente en software.
VEST se basa en una función T balanceada que también puede describirse como un registro de desplazamiento de retroalimentación no lineal biyectivo con retroalimentación paralela (NLPFSR) o como una red de sustitución-permutación , que es asistida por un contador no lineal basado en RNS . Los cuatro árboles de la familia VEST descritos en la especificación del cifrado son VEST-4 , VEST-8 , VEST-16 y VEST-32 . Los cifrados VEST admiten claves e IV de tamaños variables y recodificación instantánea. Todos los cifrados VEST liberan la salida en cada ciclo de reloj.
Todas las variantes de VEST están cubiertas por la patente europea número EP 1820295(B1), propiedad de Synaptic Laboratories.
VEST fue un candidato de la Fase 2 en la competencia eSTREAM en la cartera de hardware, pero no fue un candidato de la Fase 3 o Focus y, por lo tanto, no es parte de la cartera final.
Cifrar: | CHALECO-4 | CHALECO-8 | CHALECO-16 | CHALECO-32 | AES-128 |
---|---|---|---|---|---|
Salida, bits por llamada: | 4 | 8 | 16 | 32 | 128 |
Seguridad reclamada, bits: | 80 | 128 | 160 | 256 | 128 |
Longitud de clave recomendada, bits: | 160 | 256 | 320 | 512 | 128 |
Longitud de hash recomendada, bits: | 160 | 256 | 320 | 512 | |
Tamaño del contador, bits: | 163 | 163 | 171 | 171 | |
Tamaño del núcleo, bits: | 83 | 211 | 331 | 587 | |
Tamaño del estado, bits: | 256 | 384 | 512 | 768 | 128 |
Los cifrados VEST constan de cuatro componentes: un contador no lineal, un difusor de contador lineal, un acumulador no lineal biyectivo con un estado grande y un combinador de salida lineal (como se ilustra en la imagen en la esquina superior derecha de esta página). El contador RNS consta de dieciséis NLFSR con períodos primos , el difusor de contador es un conjunto de combinadores lineales de 5 a 1 con retroalimentación que comprimen las salidas de los 16 contadores en 10 bits mientras que al mismo tiempo expanden las 8 entradas de datos en 9 bits, el acumulador central es un NLPFSR que acepta 10 bits del difusor de contador como su entrada, y el combinador de salida es un conjunto de combinadores lineales de 6 a 1.
El acumulador central de los cifrados VEST puede considerarse como un SPN construido utilizando funciones de retroalimentación no lineales de 6 a 1, una para cada bit, todas las cuales se actualizan simultáneamente. El acumulador central VEST-4 se ilustra a continuación:
Acepta 10 bits ( d 0 − d 9 ) como entrada. Los cinco bits menos significativos ( p 0 − p 4 ) en el estado del acumulador se actualizan mediante un cuadro de sustitución de 5×5 y se combinan linealmente con los primeros cinco bits de entrada en cada ronda. Los siguientes cinco bits del acumulador se combinan linealmente con los siguientes cinco bits de entrada y con una función no lineal de cuatro de los bits menos significativos del acumulador. En el modo de cifrado autenticado, los bits de retroalimentación del texto cifrado también se retroalimentan linealmente al acumulador ( e 0 − e 3 ) con una función no lineal de cuatro de los bits menos significativos del acumulador. Todos los demás bits en el estado del acumulador VEST se combinan linealmente con funciones no lineales de cinco bits menos significativos del estado del acumulador en cada ronda. El uso de solo los bits menos significativos como entradas en las funciones de retroalimentación para cada bit es típico de las funciones T y es responsable de la biyectividad de retroalimentación. Esta operación de sustitución es seguida por una transposición pseudoaleatoria de todos los bits del estado (ver imagen a continuación).
Los cifrados VEST se pueden ejecutar en su modo de cifrado autenticado nativo, similar al de Phelix, pero autenticando el texto cifrado en lugar del texto simple a la misma velocidad y ocupando la misma área que la generación de secuencia de claves . Sin embargo, la autenticación sin clave (hashing) se realiza solo 8 bits a la vez al cargar el texto simple en los contadores en lugar de hacerlo directamente en el acumulador central.
Las cuatro familias de cifrados VEST raíz se denominan VEST-4, VEST-8, VEST-16 y VEST-32. Cada uno de los cuatro árboles genealógicos de cifrados VEST admite la codificación por familia para generar otras familias de cifrados independientes del mismo tamaño. El proceso de codificación por familia es un método estándar para generar familias de cifrados con sustituciones únicas y contadores únicos con diferentes períodos . La codificación por familia permite al usuario final generar un cifrado seguro único para cada chip.
Los cifrados VEST cuentan con la ayuda de un contador RNS no lineal con un período muy largo. Según los autores, determinar los períodos promedio de los cifrados VEST o las probabilidades de que los períodos más cortos de VEST-16 y VEST-32 caigan por debajo de sus índices de seguridad anunciados para algunas claves sigue siendo un problema abierto y es computacionalmente inviable. Creen que estas probabilidades están por debajo de 2 −160 para VEST-16 y por debajo de 2 −256 para VEST-32. Los períodos teóricamente más cortos posibles de VEST-4 y VEST-8 están por encima de sus índices de seguridad, como se puede ver en la siguiente tabla.
Período: | CHALECO-4 | CHALECO-8 | CHALECO-16 | CHALECO-32 |
---|---|---|---|---|
Mínimo garantizado | 2 134 | 2 134 | 2 143 | 2 143 |
El más largo posible | 2 251 | 2 383 | 2 519 | 2 791 |
El acumulador central en los cifrados VEST tiene una estructura compleja y altamente irregular que resiste su implementación eficiente en software.
La estructura de entrada altamente irregular, junto con un conjunto único de entradas para cada función de retroalimentación, dificulta la ejecución eficiente del software. Como resultado, todas las funciones de retroalimentación deben calcularse secuencialmente en el software, lo que da como resultado que la diferencia de velocidad entre el hardware y el software sea aproximadamente igual a la cantidad de puertas ocupadas por la lógica de retroalimentación en el hardware (consulte la columna "Diferencia" en la tabla siguiente).
Implementación: | Reloj | CHALECO-4 | CHALECO-8 | CHALECO-16 | CHALECO-32 |
---|---|---|---|---|---|
Hardware | 250 MHz | ~1 Gbps | ~2 Gbps | ~4 Gbps | ~8 Gbps |
Software | 250 MHz | < 1,0 Mbit/s | < 0,8 Mbit/s | < 1,1 Mbit/s | < 1,3 Mbit/s |
Diferencia | > 1000x | > 2300x | > 3500x | > 6000x |
La gran diferencia entre la ejecución de hardware optimizada de VEST y la ejecución optimizada de software con frecuencia de reloj equivalente ofrece una resistencia natural contra los clones de procesadores de software de propósito general de bajo costo que se hacen pasar por tokens de autenticación de hardware genuinos.
En escenarios de desafío-respuesta masivos, como aplicaciones de autenticación RFID, las implementaciones en fragmentos de bits de cifrados VEST en procesadores de 32 bits que procesan muchos mensajes independientes simultáneamente son entre 2 y 4 veces más lentas por byte de mensaje que AES.
VEST se presenta a la competencia eStream bajo el Perfil II como diseñado para "aplicaciones de hardware con recursos restringidos, como almacenamiento limitado, número de puertas o consumo de energía", y muestra altas velocidades en hardware FPGA y ASIC según la evaluación de ETH Zurich.
Los autores afirman que, según sus propias implementaciones que utilizan un "proceso de aprobación de front-end con un diseño RapidChip estándar conservador", "VEST-32 puede satisfacer sin esfuerzo una demanda de cifrado autenticado seguro de 256 bits a 10 Gbit/s a 167 MHz en tecnologías ASIC de plataforma RapidChip LSI Logic de 180ηm en menos de 45 000 puertas y cero SRAM". En las tecnologías Rapidchip de 110ηm, VEST-32 ofrece cifrado autenticado de 20 Gbit/s a 320 MHz en menos de 45 000 puertas". También afirman que desenrollar la función de redondeo de VEST puede reducir a la mitad la velocidad de reloj y el consumo de energía, al tiempo que duplica la salida por ciclo de reloj, a costa de un área mayor.
Los cifrados VEST ofrecen tres estrategias de codificación:
Partes clave | Rondas para cargar una llave |
---|---|
80 | 128 |
160 | 208 |
256 | 304 |
320 | 368 |
512 | 560 |
Los cifrados VEST ofrecen solo una estrategia de resincronización:
IV bits | Munición para cargar una vía intravenosa |
---|---|
64 | 40 |
128 | 48 |
256 | 64 |
VEST fue diseñado por Sean O'Neil y presentado al concurso eStream en junio de 2005. Esta fue la primera publicación del código. [ cita requerida ]
Los autores afirman que los márgenes de seguridad de VEST están en línea con las directrices propuestas por Lars Knudsen en el artículo “Some thoughts on the AES process” y las directrices más conservadoras propuestas recientemente por Nicolas Courtois en el artículo “Cryptanalysis of Sfinks”. Aunque los autores no publican su propio criptoanálisis, los cifrados VEST han sobrevivido a más de un año de escrutinio público como parte de la competición eStream organizada por ECRYPT. Pasaron a la segunda fase, aunque no como parte del grupo de debate.
En la SASC 2007, Joux y Reinhard publicaron un ataque que recuperaba 53 bits del estado del contador. Al comparar la complejidad del ataque con un ataque de fuerza bruta paralelizado, Bernstein evaluó la fortaleza resultante del cifrado en 100 bits, [2] algo por debajo de la fortaleza de diseño de la mayoría de los miembros de la familia VEST. Los diseñadores de VEST afirmaron que el ataque se debe a un error tipográfico en la especificación del cifrado original y publicaron una corrección en el archivo ePrint de Cryptology el 21 de enero de 2007, unos días antes de la publicación del ataque.