Prince es un cifrador de bloques diseñado para implementaciones de hardware desplegadas y de baja latencia. Se basa en la denominada construcción FX. [ 2 ] Su característica más notable es la reflexión alfa : el descifrado es el cifrado con una clave relacionada, cuyo cálculo es muy económico. A diferencia de la mayoría de los demás cifradores "ligeros", tiene un número reducido de rondas y las capas que componen una ronda tienen una baja profundidad lógica. Como resultado, las implementaciones completamente desplegadas pueden alcanzar frecuencias mucho más altas que AES o PRESENT . Según los autores, para las mismas restricciones de tiempo y tecnologías, PRINCE utiliza entre 6 y 7 veces menos área que PRESENT-80 y entre 14 y 15 veces menos área que AES-128. [ 3 ]
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 combina mediante XOR con, luego es procesado por una función central usando. La salida de la función principal se combina mediante xor.para producir el resultado final (es un valor derivado de). El descifrado se realiza mediante el intercambioyy alimentando la función principal conxor con una constante denotada alfa. [ 4 ]
La función principal consta de 5 rondas "hacia adelante", una ronda intermedia y 5 rondas "hacia atrás", para un total de 11 rondas. El artículo original menciona 12 rondas sin describirlas explícitamente; si la ronda intermedia 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 de ronda XOR con, luego una capa no linealy finalmente una capa linealLas rondas "hacia atrás" son exactamente el inverso 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 desplazamiento similar a la de AES , pero que opera sobre nibbles de 4 bits en lugar de bytes.
está construido a partir de matrices de 16x16yde tal manera que la multiplicación porse puede calcular mediante cuatro multiplicaciones más pequeñas, dos de ellas usandoy dos usando.
La ronda intermedia consiste en lacapa seguida deseguido por elcapa.
Criptoanálisis
Para fomentar el criptoanálisis del cifrado Prince, las organizaciones responsables crearon el "desafío Prince" . Archivado del original el 23 de octubre de 2016. Consultado el 9 de octubre de 2016 .
El artículo "Análisis de seguridad de PRINCE" [ 1 ] presenta varios ataques a variantes completas y reducidas por ronda, en particular, un ataque de complejidad 2 125.1 y un ataque de clave relacionado que requiere 2 33 datos.
Se ha publicado una compensación genérica entre tiempo, memoria y datos para construcciones FX, con una aplicación a Prince. [ 5 ] El artículo argumenta que la construcción FX es una buena solución para mejorar la seguridad de un cifrado ampliamente utilizado (como DES-X lo hizo para DES ), pero que es una opción cuestionable para nuevos diseños. Presenta una modificación al cifrado Prince para fortalecerlo contra este tipo particular de ataque.
Se ha publicado un ataque de criptoanálisis biclique sobre el cifrado completo. Coincide en cierta medida con la estimación de los diseñadores, ya que reduce el espacio de búsqueda de claves en 2 1,28 (el artículo original menciona un factor de 2). [ 6 ]
El artículo «Criptoanálisis por reflexión de cifrados tipo PRINCE» se centra en la reflexión alfa y establece criterios de selección para la constante alfa. Demuestra que una alfa mal elegida permitiría ataques eficientes contra el cifrado completo; sin embargo, el valor elegido aleatoriamente por los diseñadores no se encuentra entre los más débiles. [ 7 ]
Se han publicado varios ataques de encuentro en el medio en versiones con rondas reducidas. [ 8 ] [ 9 ] [ 10 ]
Un ataque en un entorno multiusuario puede encontrar las claves de 2 usuarios entre un conjunto de 2 32 usuarios en un tiempo de 2 65 . [ 11 ]
Se ha publicado un ataque de 10 rondas con una complejidad total de 118,56 bits. [ 12 ]
Se ha publicado un ataque de 7 rondas con una complejidad temporal de 2 57 operaciones. [ 13 ]
Se ha publicado un ataque de fallos diferenciales utilizando 7 textos cifrados defectuosos bajo un modelo de fallos aleatorios de nibble de 4 bits. [ 14 ]
El artículo "Nuevos enfoques para el criptoanálisis del cifrado PRINCE con rondas reducidas" [ 15 ] presenta el ataque boomerang y el ataque de texto plano conocido en versiones con rondas reducidas de hasta 6 rondas.
En 2015 se publicaron algunos ataques adicionales, pero no están disponibles libremente. [ 16 ] [ 17 ]
Ataques más prácticos en versiones de ronda reducida
Referencias
- 1 2 3 4 Jean, Jérémy; Nikolic, Ivica; Peyrin, Thomas; Wang, Lei; Wu, Shuang (2013). "Análisis de seguridad de PRINCE" (PDF) . Cifrado de software rápido .
- ↑ Kilian, Joe; Rogaway, Phillip (1996). "Cómo proteger DES contra la búsqueda exhaustiva de claves". Avances en criptología – CRYPTO '96 . Notas de clase en ciencias de la computación. Vol. 1109. págs. 252–267 . doi : 10.1007/3-540-68697-5_20 . ISBN 978-3-540-61512-5.
- ^ Borghoff, Julia; Canteau, Anne ; Guneysu, Tim; Sentina Kavun, Elif; Knezevic, Miroslav; Knudsen, Lars R.; Leandro, Gregor; Nikov, Ventzislav; Par, Christof; Rechberger, cristiano; Rombouts, Peter; Thomsen, Søren S.; Yalcin, Tolga. "PRINCE: un cifrado de bloques de baja latencia para aplicaciones informáticas generalizadas" (PDF) .
{{cite journal}}: Para citar una revista se requiere|journal=( ayuda ) - ↑ Conferencia Internacional sobre la Teoría y Aplicación de la Criptología y la Seguridad de la Información, ed. (2012). Avances en criptología - ASiACRYPT 2012: 18.ª conferencia internacional sobre la teoría y aplicación de la criptología y la seguridad de la información, Pekín, China, 2-6 de diciembre de 2012. Actas . Notas de clase en ciencias de la computación. Heidelberg Nueva York: Springer. ISBN 978-3-642-34961-4.
- ↑ Dinur, Itai. "Compromisos criptoanalíticos de tiempo, memoria y datos para construcciones FX con aplicaciones a PRINCE y PRIDE" (PDF) .
{{cite journal}}: Para citar una revista se requiere|journal=( ayuda ) - ↑ Abed, Farzaneh; List, Eik; Lucks, Stefan. "Sobre la seguridad del núcleo de PRINCE frente al criptoanálisis biclique y diferencial" (PDF) .
{{cite journal}}: Para citar una revista se 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}}: Para citar una revista se requiere|journal=( ayuda ) - 1 2 3 4 Perrin, Leo; Derbez, P. "Ataques de encuentro en el medio y análisis estructural de PRINCE con rondas reducidas" (PDF) .
{{cite journal}}: Para citar una revista se requiere|journal=( ayuda ) - ↑ Li, Leibo; Jia, Keting; Wang, Xiaoyun. "Ataques de encuentro en el medio mejorados en AES-192 y PRINCE" (PDF) .
{{cite journal}}: Para citar una revista se requiere|journal=( ayuda ) - ↑ Canteaut, A.; Naya-Plasencia, M.; Vayssière, B. (2013). «Sieve-in-the-Middle: Improved MITM Attacks». Advances in Cryptology – CRYPTO 2013. Lecture Notes in Computer Science. Vol. 8042. pp. 222–240 . doi : 10.1007/978-3-642-40041-4_13 . ISBN 978-3-642-40040-7.
- ^ Fouque, Pierre-Alain; Joux, Antoine; Mavromati, Chrysanthi. "Colisiones multiusuario: aplicaciones a registros discretos, Even-Mansour y Prince" (PDF) .
{{cite journal}}: Para citar una revista se requiere|journal=( ayuda ) - ↑ Canteaut, Anne ; Fuhr, Thomas; Gilbert, Henri; Naya-Plasencia, Maria; Reinhard, Jean-René. "Criptoanálisis diferencial múltiple de PRINCE reducido por ronda" (PDF) .
{{cite journal}}: Para citar una revista se requiere|journal=( ayuda ) - 1 2 3 4 Morawiecki, P. "Ataques prácticos contra PRINCE con rondas reducidas" (PDF) .
{{cite journal}}: Para citar una revista se requiere|journal=( ayuda ) - ↑ Song, Ling; Hu, Lei. "Ataque de fallos diferenciales al cifrado de bloques PRINCE" (PDF) .
{{cite journal}}: Para citar una revista se requiere|journal=( ayuda ) - 1 2 Posteuca, R.; Duta, C.; Negara, G. "Nuevos enfoques para el criptoanálisis del cifrado PRINCE con reducción de rondas" (PDF) .
{{cite journal}}: Para citar una revista se requiere|journal=( ayuda ) - ↑ Posteuca, R.; Negara, G. (2015). "Criptoanálisis integral del cifrado PRINCE de ronda reducida" . 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". Security and Communication Networks . 8 (16): 2875– 2887. doi : 10.1002/sec.1213 . S2CID 30147147 .
Enlaces externos
- http://eprint.iacr.org/2012/529.pdf Artículo original: "PRINCE: un cifrado de bloques de baja latencia para aplicaciones de computación ubicua"
- https://www.emsec.rub.de/research/research_startseite/prince-challenge Página principal del desafío Prince
- https://github.com/sebastien-riou/prince-c-ref Implementaciones de software en C
- Implementaciones de software en Python : https://github.com/weedegee/prince
- https://github.com/huljar/prince-vhdl Implementación de hardware en VHDL
- Cifrados de bloques
- Criptografía