Simon es una familia de cifrados de bloques ligeros lanzados públicamente por la Agencia de Seguridad Nacional (NSA) en junio de 2013. [5] [1] Simon se ha optimizado para el rendimiento en implementaciones de hardware, mientras que su algoritmo hermano, Speck , se ha optimizado para software. implementaciones. [6] [7]
General | |
---|---|
Diseñadores | Ray Beaulieu, Douglas Shors, Jason Smith, Stefan Treatman-Clark, Bryan Weeks, Louis Wingers NSA |
Publicado por primera vez | 2013 [1] |
Relacionado con | Partícula |
Detalle de cifrado | |
Tamaños de clave | 64, 72, 96, 128, 144, 192 o 256 bits |
Tamaños de bloque | 32, 48, 64, 96 o 128 bits |
Estructura | Red Feistel equilibrada |
Rondas | 32, 36, 42, 44, 52, 54, 68, 69 o 72 (según el tamaño del bloque y la clave) |
Velocidad | 7,5 cpb (21,6 sin SSE ) en Intel Xeon 5640 (Simon128 / 128) |
Mejor criptoanálisis público | |
El criptoanálisis diferencial puede romper 46 rondas de Simon128 / 128 con 2 125,6 datos, 2 de memoria de 40,6 bytes y una complejidad de tiempo de 2 125,7 con una tasa de éxito de 0,632. [2] [3] [4] |
La NSA comenzó a trabajar en los cifrados Simon y Speck en 2011. La agencia anticipó que algunas agencias del gobierno federal de EE. UU. Necesitarían un cifrado que funcionara bien en una colección diversa de dispositivos de Internet de las cosas manteniendo un nivel aceptable de seguridad. [8]
Descripción del cifrado
El cifrado de bloques de Simon es un cifrado de Feistel equilibrado con una palabra de n bits y, por lo tanto, la longitud del bloque es 2 n . La longitud de la clave es un múltiplo de n por 2, 3 o 4, que es el valor m . Por lo tanto, una implementación de cifrado de Simon se denota como Simon2 n / nm . Por ejemplo, Simon64 / 128 se refiere al cifrado que opera en un bloque de texto plano de 64 bits ( n = 32) que usa una clave de 128 bits. [1] El componente de bloque del cifrado es uniforme entre las implementaciones de Simon; sin embargo, la lógica de generación de claves depende de la implementación de 2, 3 o 4 claves.
Simon admite las siguientes combinaciones de tamaños de bloque, tamaños de clave y número de rondas: [1]
Tamaño de bloque (bits) | Tamaño de la clave (bits) | Rondas |
---|---|---|
32 | 64 | 32 |
48 | 72 | 36 |
96 | 36 | |
64 | 96 | 42 |
128 | 44 | |
96 | 96 | 52 |
144 | 54 | |
128 | 128 | 68 |
192 | 69 | |
256 | 72 |
Descripción del programa clave
Dejar anotar un desplazamiento circular a la izquierda por bits.
El horario clave se describe matemáticamente como
La estructura clave del cronograma puede estar equilibrada o no. El recuento de palabras clave de se utiliza para determinar la estructura de la expansión de clave, lo que resulta en un ancho total de bits de . La expansión de la palabra clave consiste en un desplazamiento a la derecha, XOR y una secuencia constante,. Labit opera en el bit más bajo de la palabra clave una vez por ronda. [7]
Descripción de la secuencia constante
La secuencia constante, , se crea mediante un registro de desplazamiento de retroalimentación lineal ( LFSR ). La secuencia lógica de constantes de bits se establece mediante el valor de la clave y los tamaños de bloque. El LFSR se crea mediante un campo de 5 bits. El bit constante opera en un bloque de clave una vez por ronda en el bit más bajo para agregar entropía no dependiente de clave al programa de clave. El LFSR tiene una lógica diferente para cadasecuencia; sin embargo, la condición inicial es la misma para el cifrado. La condición inicial del LFSR para el descifrado varía en la ronda.
Secuencia constante |
---|
Criptoanálisis
Los diseñadores afirman que Simon, aunque es un cifrado "liviano", está diseñado para tener la seguridad total posible para cada bloque y tamaño de clave, contra ataques estándar de texto sin formato elegido (CPA) y texto cifrado elegido (CCA) . La resistencia contra los ataques de claves relacionadas también se estableció como un objetivo, aunque menos crucial, ya que los ataques en ese modelo no son relevantes para los casos de uso típicos. [9] : 2 No se hizo ningún esfuerzo para resistir los ataques en el modelo de ataque distintivo de clave conocida , ni los diseñadores evaluaron a Simon para su uso como función hash . [10]
A partir de 2018, no se conoce ningún ataque exitoso contra Simon completo de ninguna variante. Debido al interés en Simon y Speck, se han publicado alrededor de 70 artículos de criptoanálisis sobre ellos. [9] : 10 Como es típico de los cifrados iterados , las variantes de ronda reducida han sido atacadas con éxito. Los mejores ataques publicados sobre Simon en el modelo de ataque estándar (CPA / CCA con clave desconocida) son los ataques de criptoanálisis diferencial ; estos superan aproximadamente el 70-75% de las rondas de la mayoría de las variantes, aunque estos mejores ataques son solo marginalmente más rápidos que la fuerza bruta . [11] [12] [13] [9] : 12 El equipo de diseño afirma que mientras diseñaban a Simon, encontraron que los ataques diferenciales eran los ataques limitantes, es decir, el tipo de ataque que supera la mayor cantidad de rondas; luego establecieron el número de rondas para dejar un margen de seguridad similar al de AES-128 en aproximadamente el 30%. [9] : 12-13
Variante | Rondas atacadas | Complejidad del tiempo | Complejidad de datos | Tipo de ataque |
---|---|---|---|---|
Simon128 / 256 | 53/72 (74%) | 2 248 | 2 127,6 | Casco lineal [11] |
Simon128 / 192 | 51/69 (74%) | 2 184 | 2 127,6 | Casco lineal [11] |
Simon128 / 128 | 49/68 (72%) | 2 120 | 2 127,6 | Casco lineal [11] |
Simon96 / 144 | 38/54 (70%) | 2 136 | 2 95,2 | Casco lineal [11] |
Simon96 / 96 | 37/52 (71%) | 2 88 | 2 95,2 | Casco lineal [11] |
Simon64 / 128 | 31/44 (70%) | 2 120 | 2 63,5 | Casco lineal [11] |
Simon64 / 96 | 30/42 (71%) | 2 88 | 2 63,5 | Casco lineal [11] |
Simon48 / 96 | 25/36 (69%) | 2 80 | 2 47,9 | Casco lineal [11] |
Simon48 / 72 | 24/36 (67%) | 2 56 | 2 47,9 | Casco lineal [11] |
Simon32 / 64 | 24/32 (75%) | 2 63 | 2 32 | Integral [12] |
Simon ha sido criticado por tener un margen de seguridad demasiado pequeño, es decir, muy pocas rondas entre los mejores ataques y el cifrado completo, en comparación con cifrados más conservadores como ChaCha20 . [14] Es más probable que los cifrados con márgenes de seguridad pequeños se rompan con los avances futuros en el criptoanálisis . El equipo de diseño de Simon responde que existe un costo real para los márgenes de seguridad innecesariamente grandes, especialmente en dispositivos livianos, que el criptoanálisis durante la fase de diseño permitió que la cantidad de rondas se estableciera de manera adecuada y que se enfocaron en el margen de seguridad de AES. [9] : 17
Simon incluye un contador circular en el programa clave . Los diseñadores afirman que esto se incluyó para bloquear ataques de criptoanálisis rotacional y de deslizamiento . [9] : 16 Aún así, el criptoanálisis rotacional-XOR se ha utilizado para encontrar diferenciadores frente a versiones de ronda reducida de cifrados relacionados como Speck. [15] Aunque los autores no describen los ataques de recuperación de clave estándar basados en sus distintivos, sus mejores distintivos en Simon32 y Simon48 en el modelo de ataque de distinción de clave conocida para ciertas clases de claves débiles superan ligeramente más rondas que el mejor diferencial distinguidores. Uno de los autores ha dicho que su investigación tenía recursos limitados y que probablemente es posible distinguir XOR rotacional en más rondas. Los diseñadores también afirman que Simon no fue diseñado para resistir ataques de distinción de clave conocida (que no comprometen directamente la confidencialidad de los cifrados). [10] : 8
Los diseñadores afirman que el criptoanálisis de la NSA encontró que los algoritmos no tienen debilidades y que la seguridad es acorde con la longitud de sus claves. [8] : 2 El equipo de diseño dice que su criptoanálisis incluyó criptoanálisis lineal y diferencial utilizando técnicas estándar como el algoritmo de Matsui y los solucionadores SAT / SMT, aunque no se proporciona una lista completa de las técnicas utilizadas. [9] : 10 Los diseñadores de Simon han sido criticados por no proporcionar más detalles sobre el criptoanálisis de los cifrados de la NSA. [dieciséis]
La NSA ha aprobado Simon128 / 256 y Speck128 / 256 para su uso en los sistemas de seguridad nacional de EE. UU., Aunque todavía se recomienda AES-256 para aplicaciones no restringidas. [17]
Esfuerzos de estandarización y controversias
Los intentos iniciales de estandarizar Simon y Speck no lograron cumplir con la supermayoría de la Organización Internacional de Normalización requerida por el proceso y los cifrados no se adoptaron. [18] [16] Los delegados expertos a la ISO de varios países, incluidos Alemania, Japón e Israel, se opusieron a los esfuerzos de la NSA para estandarizar los cifrados Simon y Speck , citando preocupaciones de que la NSA está presionando para su estandarización con conocimiento de las debilidades explotables en los cifrados. La posición se basó en evidencia parcial de debilidades en los cifrados, la falta de una clara necesidad de estandarización de los nuevos cifrados y la participación previa de la NSA en la creación y promoción del algoritmo criptográfico Dual_EC_DRBG con puerta trasera . [19]
En respuesta a las preocupaciones, la NSA declaró que más de 70 artículos de análisis de seguridad de algunos de los principales criptógrafos del mundo respaldan la conclusión de la NSA de que los algoritmos son seguros y la NSA afirmó que no tiene conocimiento de ninguna técnica criptoanalítica que les permita a ellos oa cualquier otra persona explotar a Simon o Speck.
Después de que fracasaron los intentos iniciales de estandarizar los cifrados, la ISO estandarizó a Simon y Speck en otros grupos de trabajo. En octubre de 2018, los cifrados Simon y Speck han sido estandarizados por ISO como parte del estándar de interfaz de aire RFID, el estándar internacional ISO / 29167-21 (para Simon) y el estándar internacional ISO / 29167-22 (para Speck), lo que hace están disponibles para su uso por entidades comerciales.
Ver también
- Función booleana equilibrada
- Función doblada
Referencias
- ^ a b c d Las familias de cifrados de bloques ligeros Simon y Speck (PDF) . ePrint . Consultado el 16 de junio de 2016 .
- ^ "Criptoanálisis lineal y diferencial de Simon de ronda reducida" . Consultado el 16 de abril de 2014 .
- ^ Farzaneh Abed, Eik List, Stefan Lucks , Jakob Wenzel (5 de marzo de 2014). Criptoanálisis diferencial de Simon y Speck de reducción redonda (PDF) . FSE 2014. diapositivas de la conferencia .Mantenimiento de CS1: utiliza el parámetro de autores ( enlace )
- ^ Hoda Alkhzaimi, Martin Lauridsen (28 de agosto de 2013). "Criptoanálisis de la familia de cifrados en bloque SIMON" (PDF) . Cite journal requiere
|journal=
( ayuda )Mantenimiento de CS1: utiliza el parámetro de autores ( enlace ) - ^ Schneier, Bruce. "SIMON y SPECK: Nuevos algoritmos de cifrado NSA" . Schneier sobre seguridad . Consultado el 17 de julio de 2013 .
- ^ Claire Swedberg (17 de julio de 2015). "NSA ofrece cifrados en bloque para ayudar a asegurar las transmisiones RFID" . Diario RFID .
- ^ a b Brian Degnan y Gregory Durgin (10 de noviembre de 2017). "Simontool: soporte de simulación para el cifrado Simon" . Revista IEEE de identificación por radiofrecuencia . 1 (2): 195–201. Código bibliográfico : 2017IJRFI ... 1..195D . doi : 10.1109 / JRFID.2017.2771216 . S2CID 37476795 .
- ^ a b Beaulieu, Ray; Shors, Douglas; Smith, Jason; Treatman-Clark, Stefan; Semanas, Bryan; Winger, Louis (9 de julio de 2015). "Simon y Speck: cifrados en bloque para Internet de las cosas" (PDF) . Consultado el 23 de noviembre de 2017 .
- ^ a b c d e f g "Notas sobre el diseño y análisis de Simon y Speck" (PDF) . 2018-01-19 . Consultado el 13 de junio de 2018 .
- ^ a b Beaulieu, Ray; Shors, Douglas; Smith, Jason; Treatman-Clark, Stefan; Semanas, Bryan; Extremos, Louis (19 de junio de 2013). "Las familias SIMON y SPECK de cifrados de bloques ligeros" . Consultado el 20 de septiembre de 2016 .
- ^ a b c d e f g h yo j Chen, Huaifeng; Wang, Xiaoyun (19 de enero de 2018). "Ataque de casco lineal mejorado en SIMON con reducción de rondas con técnicas dinámicas de adivinación de claves" (PDF) . Consultado el 13 de junio de 2018 .
- ^ a b Chu, Zhihui; Chen, Huaifeng; Xiaoyun, Wang; Dong, Xiaoyang; Li, Lu (19 de enero de 2018). "Ataques integrales mejorados en SIMON32 y SIMON48 con técnicas dinámicas de adivinación de claves" . Redes de seguridad y comunicación . 2018 : 5160237: 1–5160237: 11. doi : 10.1155 / 2018/5160237 .
- ^ Lee, HoChang; Kim, Seojin; Kang, HyungChul; Hong, Deukjo; Cantado, Jaechul; Hong, Seokhie (febrero de 2018). "Cálculo de la probabilidad aproximada de diferenciales para cifrado basado en ARX utilizando SAT Solver". Revista del Instituto Coreano de Seguridad de la Información y Criptología (en coreano). 28 (1): 15-24. doi : 10.13089 / JKIISC.2018.28.1.15 .
- ^ Bernstein, Daniel J. [@hashbreaker] (12 de abril de 2016). "La NSA afirma que tener el 70% de Simon + Speck roto está bien" (Tweet) . Consultado el 13 de junio de 2018 , a través de Twitter .
- ^ Liu, Yunwen; De Witte, Glenn; Ranea, Adrián; Ashur, Tomer (2017). "Criptoanálisis de rotación-XOR de SPECK de ronda reducida" (PDF) . Consultado el 13 de junio de 2018 .
- ^ a b Ashur, Tomer. "[PATCH v2 0/5] crypto: Speck support" .
- ^ Agencia de Seguridad Nacional (2016-11-18). "Algoritmos para apoyar la evolución de las necesidades de aseguramiento de la información" .
- ^ Ideas y razones por las que Speck y Simon han sido rechazados de la estandarización ISO
- ^ "Los desconfiados aliados de Estados Unidos obligan a la agencia de espionaje a retroceder en la lucha por el cifrado" . Reuters . 2017-09-21.