Prince es un cifrado en bloque que apunta a implementaciones de hardware no enrolladas y de baja latencia. Se basa en la denominada construcción FX. [2] Su característica más notable es el "reflejo alfa": el descifrado es el cifrado con una clave relacionada que es muy barata de calcular. A diferencia de la mayoría de los otros cifrados "ligeros", tiene un pequeño número de rondas y las capas que constituyen una ronda tienen una profundidad lógica baja. Como resultado, la implementación completamente desenrollada puede alcanzar frecuencias mucho más altas que AES o PRESENT . Según los autores, para las mismas limitaciones de tiempo y tecnologías, PRINCE usa de 6 a 7 veces menos área que PRESENT-80 y de 14 a 15 veces menos área que AES-128. [3]
General | |
---|---|
Diseñadores | Universidad Técnica de Dinamarca , INRIA , Universidad de Ruhr Bochum y NXP Semiconductors |
Publicado por primera vez | 2012 |
Derivado de | AES , PRESENTE |
Detalle de cifrado | |
Tamaños de clave | 128 bits |
Tamaños de bloque | 64 bits |
Estructura | SPN |
Rondas | 11 (pero 12 capas no lineales) |
Mejor criptoanálisis público | |
se puede recuperar una sola clave con una complejidad computacional de 2 125,47 utilizando las relaciones lineales estructurales. [1] En la configuración de clave relacionada, la complejidad de los datos es 2 33 y la complejidad del tiempo 2 64 . [1] Al usar el ataque de bumerán clave relacionado, la complejidad es de 2 39 tanto para los datos como para el tiempo. [1] |
Descripción general
El tamaño del bloque es de 64 bits y el tamaño de la clave es de 128 bits. La clave se divide en dos claves de 64 bits y . La entrada se XORed con, luego es procesado por una función central usando . La salida de la función principal se xored por para producir el resultado final ( es un valor derivado de ). El descifrado se realiza intercambiando y y alimentando la función central con xored con una constante denotada alfa.
La función principal contiene 5 rondas "hacia adelante", una ronda media y 5 rondas "hacia atrás", para 11 rondas en total. El artículo original menciona 12 rondas sin representarlas explícitamente; si la ronda central se cuenta como dos rondas (ya que contiene dos capas no lineales), entonces el número total de rondas es 12.
Una ronda hacia adelante comienza con una constante XOR de ronda con , luego una capa no lineal , y finalmente una capa lineal . Las rondas "hacia atrás" son exactamente lo contrario de las rondas "hacia adelante" excepto por las constantes de ronda.
La capa no lineal se basa en una única caja S de 4 bits que se puede elegir entre el equivalente afín de 8 cajas S especificadas.
La capa lineal consiste en la multiplicación por una matriz de 64x64. y una fila de cambio similar a la de AES pero que opera en nibbles de 4 bits en lugar de bytes.
se construye a partir de matrices de 16x16 y de tal manera que la multiplicación por se puede calcular mediante cuatro multiplicaciones más pequeñas, dos usando y dos usando .
La ronda central consiste en capa seguida de Seguido por el capa.
Criptoanálisis
Para fomentar el criptoanálisis del cifrado Prince, las organizaciones detrás de él crearon el "desafío Prince" .
El artículo "Análisis de seguridad de PRINCE" [1] presenta varios ataques en variantes reducidas completas y redondas, en particular, un ataque de complejidad 2 125,1 y un ataque clave relacionado que requiere 2 33 datos.
Se ha publicado una compensación genérica de tiempo, memoria y datos para las construcciones de FX, con una aplicación para Prince. [4] El documento argumenta que la construcción FX es una buena solución para mejorar la seguridad de un cifrado ampliamente implementado (como lo hizo DES-X para DES ) pero que es una opción cuestionable para nuevos diseños. Presenta un ajuste al cifrado Prince para fortalecerlo contra este tipo de ataque en particular.
Se ha publicado un ataque de criptoanálisis biclicuo sobre el cifrado completo. Está algo en línea con la estimación de los diseñadores, ya que reduce el espacio de búsqueda clave en 2 1,28 (el artículo original menciona un factor 2). [5]
El artículo "Criptoanálisis de reflexión de cifrados similares a PRINCE" se centra en la reflexión alfa y establece los criterios de elección para la constante alfa. Muestra que un alfa mal elegido conduciría a ataques eficientes en el cifrado completo; pero el valor elegido al azar por los diseñadores no se encuentra entre los débiles. [6]
Se han publicado varios ataques de encuentro en el medio en versiones reducidas de ronda. [7] [8] [9]
Un ataque en la configuración multiusuario puede encontrar las claves de 2 usuarios entre un conjunto de 2 32 usuarios en el tiempo 2 65 . [10]
Se ha publicado un ataque a 10 rondas con una complejidad general de 118,56 bits. [11]
Se ha publicado un ataque a 7 rondas con una complejidad de tiempo de 2 57 operaciones. [12]
Se ha publicado un ataque de falla diferencial utilizando 7 textos de cifrado defectuosos bajo un modelo de falla nibble aleatorio de 4 bits. [13]
El artículo "Nuevos enfoques para el criptoanálisis de cifrado PRINCE de reducción de rondas" [14] presenta un ataque de bumerán y un ataque de texto plano conocido en versiones de rondas reducidas de hasta 6 rondas.
En 2015 se han publicado pocos ataques adicionales, pero no están disponibles gratuitamente. [15] [16]
La mayoría de los ataques prácticos en versiones de rondas reducidas
Numero de rondas | Hora | Datos | Método |
---|---|---|---|
4 | 2 43,4 | 33 | Meet-in-the-middle [7] |
4 | 5 * 2 8 | 80 | Integral [12] |
5 | 2 29 | 96 | Integral [12] |
6 | 2 25,1 | 30574 | Criptoanálisis diferencial [7] |
6 | 2 41 | 393216 | Integral [12] |
6 | 2 34 | 2 32 | Boomerang [14] |
8 | 2 50,7 | 2 16 | Meet-in-the-middle [7] |
Referencias
- ^ a b c d Jean, Jérémy; Nikolic, Ivica; Peyrin, Thomas; Wang, Lei; Wu, Shuang. "Análisis de seguridad de PRINCE" (PDF) . Cite journal requiere
|journal=
( ayuda ) - ^ Kilian, Joe; Rogaway, Phillip (1996). "Cómo proteger DES contra búsqueda exhaustiva de claves". Avances en criptología - CRYPTO '96 . Apuntes de conferencias en informática. 1109 . págs. 252-267. doi : 10.1007 / 3-540-68697-5_20 . ISBN 978-3-540-61512-5.
- ^ Borghoff, Julia; Canteaut, Anne ; Guneysu, Tim; Bilge Kavun, Elif; Knezevic, Miroslav; Knudsen, Lars R .; Leander, Gregor; Nikov, Ventzislav; Paar, Christof; Rechberger, Christian; Rombouts, Peter; Thomsen, Søren S .; Yalcın, Tolga. "PRINCE: un cifrado de bloques de baja latencia para aplicaciones informáticas generalizadas" (PDF) . Cite journal requiere
|journal=
( ayuda ) - ^ Dinur, Itai. "Compensaciones criptoanalíticas de tiempo-memoria-datos para construcciones FX con aplicaciones para PRINCE y PRIDE" (PDF) . Cite journal requiere
|journal=
( ayuda ) - ^ Abed, Farzaneh; List, Eik; Suerte, Stefan. "Sobre la seguridad del núcleo de PRINCE contra el criptoanálisis diferencial y biclique" (PDF) . Cite journal requiere
|journal=
( ayuda ) - ^ Soleimany, Hadi; Blondeau, Céline; Yu, Xiaoli; Wu, Wenling; Nyberg, Kaisa; Zhang, Huiling; Zhang, Lei; Wang, Yanfeng. "Criptoanálisis de reflexión de cifrados tipo PRINCE" (PDF) . Cite journal requiere
|journal=
( ayuda ) - ^ a b c d Perrin, Leo; Derbez, P. "Ataques de encuentro en el medio y análisis estructural de PRINCE de reducción redonda" (PDF) . Cite journal requiere
|journal=
( ayuda ) - ^ Li, Leibo; Jia, Keting; Wang, Xiaoyun. "Ataques de encuentro en el medio mejorados en AES-192 y PRINCE" (PDF) . Cite journal requiere
|journal=
( ayuda ) - ^ Canteaut, A .; Naya-Plasencia, M .; Vayssière, B. "Tamiz en el medio: Ataques MITM mejorados". Advances in Cryptology – CRYPTO 2013, 222-240 .
- ^ Fouque, Pierre-Alain; Joux, Antoine; Mavromati, Chrysanthi. "Colisiones multiusuario: aplicaciones para registros discretos, Even-Mansour y Prince" (PDF) . Cite journal requiere
|journal=
( ayuda ) - ^ Canteaut, Anne ; Fuhr, Thomas; Gilbert, Henri; Naya-Plasencia, María; Reinhard, Jean-René. "Criptoanálisis diferencial múltiple de PRINCE de reducción redonda" (PDF) . Cite journal requiere
|journal=
( ayuda ) - ^ a b c d Morawiecki, P. "Ataques prácticos contra el PRINCE reducido a la Ronda" (PDF) . Cite journal requiere
|journal=
( ayuda ) - ^ Song, Ling; Hu, Lei. "Ataque de falla diferencial en el cifrado de bloque PRINCE" (PDF) . Cite journal requiere
|journal=
( ayuda ) - ^ a b Posteuca, R .; Duta, C .; Negara, G. "Nuevos enfoques para el criptoanálisis de cifrado PRINCE de reducción redondeada" (PDF) . Cite journal requiere
|journal=
( ayuda ) - ^ Posteuca, R .; Negara, G. (2015). "Criptoanálisis integral de cifrado PRINCE de reducción redondeada" . Actas de la Academia Rumana. Serie A. Matemáticas, Física, Ciencias Técnicas, Ciencias de la Información . 16 .
- ^ Zhao, G .; Sun, B .; Li, C .; Su, J. (2015). "Criptoanálisis diferencial truncado de PRINCE". Redes de seguridad y comunicación . 8 (16): 2875–2887. doi : 10.1002 / sec.1213 .
enlaces externos
- http://eprint.iacr.org/2012/529.pdf artículo original: "PRINCE - Un cifrado de bloques de baja latencia para aplicaciones informáticas generalizadas"
- https://www.emsec.rub.de/research/research_startseite/prince-challenge Página de inicio del desafío Príncipe
- https://github.com/sebastien-riou/prince-c-ref Implementaciones de software en C
- https://github.com/weedegee/prince Implementaciones de software en Python
- https://github.com/huljar/prince-vhdl Implementación de hardware en VHDL