En criptografía , una función T es un mapeo biyectivo que actualiza cada bit del estado de una manera que puede describirse comoo, en palabras simples, una función de actualización en la que cada bit del estado se actualiza mediante una combinación lineal del mismo bit y una función de un subconjunto de sus bits menos significativos. Si cada bit menos significativo se incluye en la actualización de cada bit en el estado, dicha función T se llama triangular . Gracias a su bijectividad (sin colisiones, por lo tanto sin pérdida de entropía) independientemente de las funciones booleanas utilizadas e independientemente de la selección de entradas (siempre que todas provengan de un lado del bit de salida), las funciones T ahora se usan ampliamente en criptografía para construir cifrados en bloque , cifrados de flujo , PRNG y funciones hash . Las funciones T fueron propuestas por primera vez en 2002 por A. Klimov y A. Shamir en su artículo "A New Class of Invertible Mappings". Los cifrados como TSC-1 , TSC-3 , TSC-4 , ABC , Mir-1 y VEST se construyen con diferentes tipos de funciones T.
Debido a que las operaciones aritméticas como la suma , resta y multiplicación también son funciones T (funciones T triangulares), las funciones T basadas en palabras eficientes por software se pueden construir combinando lógica bit a bit con operaciones aritméticas. Otra propiedad importante de las funciones T basadas en operaciones aritméticas es la previsibilidad de su período , lo que resulta muy atractivo para los criptógrafos. Aunque las funciones T triangulares son naturalmente vulnerables a los ataques de adivinar y determinar, las transposiciones bit a bit entre rondas bien elegidas pueden neutralizar ese desequilibrio. En cifrados eficientes por software , se puede realizar intercalando operaciones aritméticas con operaciones de intercambio de bytes y, en pequeña medida, con operaciones de rotación bit a bit . Sin embargo, las funciones T triangulares siguen siendo muy ineficientes en el hardware.
Las funciones T no tienen restricciones sobre los tipos y anchos de las funciones de actualización utilizadas para cada bit. La posterior transposición de los bits de salida y la iteración de la función T tampoco afectan la bijetividad. Esta libertad permite al diseñador elegir las funciones de actualización o S-boxes que satisfacen todos los demás criterios criptográficos e incluso elegir funciones de actualización arbitrarias o dependientes de la clave (ver clave familiar ).
De este modo, se pueden construir fácilmente funciones T ligeras eficientes en hardware con anchos idénticos de todas las funciones de actualización para cada bit del estado. Los acumuladores de núcleo de los cifrados VEST son un buen ejemplo de funciones T razonablemente livianas que se equilibran después de 2 rondas por la capa de transposición, lo que hace que todas las funciones de retroalimentación de 2 rondas tengan aproximadamente el mismo ancho y pierdan la función "T". "sesgo de depender sólo de los bits menos significativos del estado.
Referencias
- A. Klimov; A. Shamir (2002). "Una nueva clase de asignaciones invertibles" ( PDF / PostScript ) . Cite journal requiere
|journal=
( ayuda ) - A. Klimov; A. Shamir (2003). Aplicaciones criptográficas de funciones T (PDF / PostScript) . Áreas seleccionadas en criptografía , SAC 2003, LNCS 3006. Springer-Verlag . págs. 248-261.
- A. Klimov; A. Shamir (2004). Nuevas primitivas criptográficas basadas en funciones T de múltiples palabras . El cifrado de software rápido , FSE 2004, LNCS 3017 (PDF / PostScript)
|format=
requiere|url=
( ayuda ) . Springer-Verlag. págs. 1-15. - Magnus Daum (2005). "Funciones T estrechas" (PDF / PostScript) . Cite journal requiere
|journal=
( ayuda ) - J. Hong; D. Lee; Y. Yeom y D. Han (2005). Una nueva clase de funciones en T de ciclo único . Cifrado de software rápido, FSE 2005, LNCS 3557. Springer-Verlag. págs. 68–82.
- A. Klimov y A. Shamir (2005). Nuevas aplicaciones de funciones T en Block Ciphers y funciones hash . Cifrado de software rápido, FSE 2005, LNCS 3557. Springer-Verlag. págs. 18–31. Archivado desde el original ( PostScript comprimido con gzip ) el 26 de septiembre de 2007 .