Los cifrados VEST (Very Efficient Substitution Transposition) son un conjunto de familias de cifrados dedicados al hardware de uso general que admiten el cifrado autenticado de un solo paso 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 el software.
General | |
---|---|
Diseñadores | Sean O'Neil |
Publicado por primera vez | 13 de junio de 2005 |
Detalle de cifrado | |
Tamaños de clave | alguna |
Reclamaciones de seguridad | 80-256 bits |
Tamaño del estado | 256 bits (VEST-4) a 768 (VEST-32) |
Estructura | NLFSR , SPN , función T |
VEST se basa en una función T equilibrada que también se puede describir como un registro de desplazamiento de retroalimentación no lineal biyectiva con retroalimentación paralela (NLPFSR) o como una red de sustitución-permutación , que es asistida por un contador basado en RNS no lineal . Los cuatro árboles genealógicos de VEST descritos en la especificación de cifrado son VEST-4 , VEST-8 , VEST-16 y VEST-32 . Los cifrados VEST admiten claves y IV de tamaños variables y reintroducción instantánea. Todos los cifrados VEST liberan 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 Fase 2 en la competencia eSTREAM en la cartera de hardware, pero no fue un candidato de Fase 3 o Focus y, por lo tanto, no forma parte de la cartera final.
Descripción general
Cifrar: | CHALECO-4 | CHALECO-8 | CHALECO-16 | CHALECO-32 | AES-128 |
---|---|---|---|---|---|
Salida, bits por llamada: | 4 | 8 | dieciséis | 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 |
Diseño
Estructura general
Los cifrados VEST constan de cuatro componentes: un contador no lineal, un difusor 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 contador difusor es un conjunto de combinadores lineales 5 a 1 con retroalimentación que comprime las salidas de los 16 contadores en 10 bits y al mismo tiempo expande las 8 entradas de datos en 9 bits, el acumulador de núcleo es un NLPFSR que acepta 10 bits del contradifusor como entrada, y el combinador de salida es un conjunto de combinadores lineales de 6 a 1.
Acumulador
El acumulador de núcleo en los cifrados VEST puede verse como un SPN construido utilizando funciones de retroalimentación no lineales 6 a 1, una para cada bit, todas las cuales se actualizan simultáneamente. El acumulador de núcleo 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 del acumulador menos significativos. 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 del acumulador menos significativos. 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 bijectividad de retroalimentación. Esta operación de sustitución es seguida por una transposición pseudoaleatoria de todos los bits en el estado (vea la imagen a continuación).
Autenticación de datos
Los cifrados VEST se pueden ejecutar en su modo de cifrado autenticado nativo similar al de Phelix pero autenticando texto cifrado en lugar de texto plano a la misma velocidad y ocupando la misma área que la generación de flujo de claves . Sin embargo, la autenticación sin clave (hash) se realiza solo 8 bits a la vez cargando el texto sin formato en los contadores en lugar de hacerlo directamente en el acumulador central.
Clave familiar
Las cuatro familias de cifrado raíz VEST 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 familiar para generar otras familias de cifrado independientes del mismo tamaño. El proceso de clave de familia es un método estándar para generar familias de cifrado con sustituciones únicas y contadores únicos con diferentes períodos . La codificación familiar permite al usuario final generar un cifrado seguro único para cada chip.
Periodos
Los cifrados VEST están asistidos por 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 calificaciones de seguridad anunciadas para algunas claves sigue siendo un problema abierto y 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 calificaciones 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 |
Más largo posible | 2 251 | 2 383 | 2 519 | 2 791 |
Actuación
Eficiencia computacional en software
El acumulador de núcleos en los cifrados VEST tiene una estructura compleja y altamente irregular que se resiste a 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 al número de puertas ocupadas por la lógica de retroalimentación en el hardware (consulte la columna "Diferencia" en la tabla debajo).
Implementación: | Reloj | CHALECO-4 | CHALECO-8 | CHALECO-16 | CHALECO-32 |
---|---|---|---|---|---|
Hardware | 250 MHz | ~ 1 Gbit / s | ~ 2 Gbit / s | ~ 4 Gbit / s | ~ 8 Gbit / s |
Software | 250 MHz | <1,0 Mbit / s | <0,8 Mbit / s | <1,1 Mbit / s | <1,3 Mbit / s |
Diferencia | > 1000 x | > 2300 x | > 3500 x | > 6000 x |
La gran diferencia entre la ejecución de hardware optimizada de VEST y la ejecución optimizada de software con reloj equivalente ofrece una resistencia natural contra los clones de procesador 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 las aplicaciones de autenticación RFID, las implementaciones de cifrado VEST en partes de bits en procesadores de 32 bits que procesan muchos mensajes independientes simultáneamente son de 2 a 4 veces más lentas por byte de mensaje que AES.
Rendimiento del hardware
VEST se presenta a la competencia eStream bajo el Perfil II como diseñado para "aplicaciones de hardware con recursos restringidos como almacenamiento limitado, conteo 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, de acuerdo con sus propias implementaciones que utilizan un "proceso de aprobación de front-end de 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 180ηm LSI Tecnologías ASIC de la plataforma Logic RapidChip en menos de 45K Gates y cero SRAM ”. En las tecnologías Rapidchip de 110ηm, VEST-32 ofrece encriptación autenticada de 20 Gbit / s @ 320 MHz en puertas de menos de 45 K. También afirman que desenrollar la función circular de VEST puede reducir a la mitad la velocidad del reloj y reducir el consumo de energía mientras se duplica la producción por ciclo de reloj, a costa de una mayor superficie.
Agilidad clave
Los cifrados VEST ofrecen 3 estrategias de codificación:
- Cargar instantáneamente todo el estado de cifrado con una clave criptográficamente fuerte (100% de entropía) suministrada por un proceso de generación de claves fuerte o intercambio de claves;
- Recarga instantánea de todo el estado de cifrado con un estado de cifrado previamente inicializado de forma segura;
- Carga de clave incremental (de una clave imperfecta) comenzando con el bit menos significativo de la clave cargada en el contador 15, deslizando la ventana de 16 bits hacia abajo un bit en cada ronda hasta el bit 1 que sigue al bit más significativo de la La llave se carga en el contador 0. El proceso finaliza con 32 rondas de sellado adicionales. El estado de cifrado completo ahora se puede almacenar para una recarga instantánea.
Bits clave | Rondas para cargar una clave |
---|---|
80 | 128 |
160 | 208 |
256 | 304 |
320 | 368 |
512 | 560 |
Los cifrados VEST ofrecen solo una estrategia de resincronización:
- Hash del (IV) cargándolo de forma incremental de 8 bits a la vez en los primeros 8 contadores RNS, seguido de 32 rondas de sellado adicionales.
IV Bits | Rondas para cargar un IV |
---|---|
64 | 40 |
128 | 48 |
256 | 64 |
Historia
VEST fue diseñado por Sean O'Neil y presentado al concurso eStream en junio de 2005. Esta fue la primera publicación del cifrado. [ cita requerida ]
Seguridad
Los autores dicen que los márgenes de seguridad de VEST están en línea con las pautas propuestas por Lars Knudsen en el artículo "Algunas reflexiones sobre el proceso AES" y las pautas más conservadoras propuestas recientemente por Nicolas Courtois en el artículo "Criptoanálisis de Sfinks". Aunque los autores no están publicando su propio criptoanálisis, los cifrados VEST han sobrevivido más de un año al escrutinio público como parte de la competencia eStream organizada por ECRYPT. Pasaron a la segunda fase, aunque no como parte del grupo de enfoque.
Ataques
En SASC 2007, Joux y Reinhard publicaron un ataque que recuperó 53 bits del estado del contador. Al comparar la complejidad del ataque con un ataque de fuerza bruta en paralelo, Bernstein evaluó la fuerza resultante del cifrado como 100 bits, [2] algo por debajo de la fuerza 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 de cifrado original y publicaron una corrección en el archivo Cryptology ePrint el 21 de enero de 2007, unos días antes de la publicación del ataque.
Referencias
- Documento "Algunas reflexiones sobre el proceso AES" de Lars R. Knudsen
- Documento "Criptoanálisis de Sfinks" de Nicolas Courtois
- Documento "Redescubrimiento de las compensaciones de la memoria del tiempo" de J. Hong y P. Sarkar
- Documento "Understanding Brute Force" de Daniel J. Bernstein
- "Comentarios sobre el redescubrimiento de las compensaciones de los datos de la memoria del tiempo" de C. De Cannière, J. Lano y B. Preneel
- Garantía de seguridad ideal para realizar en claves criptográficas por Justin Troutman
Notas
- ↑ Sean O'Neil, Benjamin Gittins, Howard Landman (25 de octubre de 2005). "VEST, cifrados de flujo dedicados por hardware" (PDF) . Presentación de eSTREAM Ronda 1 . Consultado el 15 de mayo de 2007 .CS1 maint: varios nombres: lista de autores ( enlace )
- ^ [1]
enlaces externos
- Página de eSTREAM en CHALECO
- Especificación de VEST eStream Phase II
- VEST C código fuente de referencia y vectores de prueba
- Revisión de rendimiento de hardware de ETH Zurich