En criptografía , una caja S ( caja de sustitución ) es un componente básico de los algoritmos de clave simétrica que realiza la sustitución. En los cifrados en bloque , se suelen utilizar para ocultar la relación entre la clave y el texto cifrado , lo que garantiza la propiedad de confusión de Shannon . Matemáticamente, una caja S es una función booleana vectorial . [1]
En general, una caja S toma una cierta cantidad de bits de entrada , m , y los transforma en una cierta cantidad de bits de salida, n , donde n no es necesariamente igual a m . [2] Se puede implementar una caja S m × n como una tabla de búsqueda con 2 m palabras de n bits cada una. Normalmente se utilizan tablas fijas, como en el Estándar de cifrado de datos (DES), pero en algunos cifrados las tablas se generan dinámicamente a partir de la clave (por ejemplo, Blowfish y Twofish algoritmos de cifrado).
Ejemplo
Un buen ejemplo de una tabla fija es la caja S de DES (S 5 ), que asigna una entrada de 6 bits a una salida de 4 bits:
S 5 | Medio 4 bits de entrada | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 | ||
Pedazos externos | 00 | 0010 | 1100 | 0100 | 0001 | 0111 | 1010 | 1011 | 0110 | 1000 | 0101 | 0011 | 1111 | 1101 | 0000 | 1110 | 1001 |
01 | 1110 | 1011 | 0010 | 1100 | 0100 | 0111 | 1101 | 0001 | 0101 | 0000 | 1111 | 1010 | 0011 | 1001 | 1000 | 0110 | |
10 | 0100 | 0010 | 0001 | 1011 | 1010 | 1101 | 0111 | 1000 | 1111 | 1001 | 1100 | 0101 | 0110 | 0011 | 0000 | 1110 | |
11 | 1011 | 1000 | 1100 | 0111 | 0001 | 1110 | 0010 | 1101 | 0110 | 1111 | 0000 | 1001 | 1010 | 0100 | 0101 | 0011 |
Dada una entrada de 6 bits, la salida de 4 bits se encuentra seleccionando la fila usando los dos bits externos (el primero y el último bits), y la columna usando los cuatro bits internos. Por ejemplo, una entrada " 0 1101 1 " tiene bits externos " 01 " y bits internos "1101"; la salida correspondiente sería "1001". [3]
Las ocho cajas S de DES fueron objeto de un intenso estudio durante muchos años debido a la preocupación de que una puerta trasera (una vulnerabilidad conocida solo por sus diseñadores) pudiera haberse plantado en el cifrado. Los criterios de diseño de la caja S se publicaron finalmente (en Coppersmith 1994 ) después del redescubrimiento público del criptoanálisis diferencial , lo que demuestra que se habían ajustado cuidadosamente para aumentar la resistencia contra este ataque específico. Biham y Shamir descubrieron que incluso pequeñas modificaciones en una caja S podrían debilitar significativamente a DES. [4]
Análisis y propiedades
Se ha investigado mucho sobre el diseño de buenas cajas S, y se sabe mucho más sobre su uso en cifrados de bloques que cuando se lanzó DES. [ cita requerida ]
Cualquier caja S donde cualquier combinación lineal de bits de salida se produce mediante una función doblada de los bits de entrada se denomina caja S perfecta . [5]
Los S-boxes se pueden analizar usando criptoanálisis lineal y criptoanálisis diferencial en forma de una Tabla de Aproximación Lineal (LAT) o Transformada de Walsh y Tabla de Distribución de Diferencias (DDT) o tabla de autocorrelación y espectro. Su fuerza se puede resumir en la no linealidad (doblada, casi doblada) y la uniformidad diferencial (perfectamente no lineal, casi perfectamente no lineal). [6] [7] [8] [1]
Ver también
Referencias
- ↑ a b Carlet, Claude (2010), Hammer, Peter L .; Crama, Yves (eds.), "Vectorial Boolean Functions for Cryptography" , Modelos y métodos booleanos en matemáticas, informática e ingeniería , Enciclopedia de las matemáticas y sus aplicaciones, Cambridge: Cambridge University Press, págs. 398–470, ISBN 978-0-521-84752-0, consultado el 30 de abril de 2021
- ^ Chandrasekaran, J .; et al. (2011). "Un enfoque basado en el caos para mejorar la no linealidad en el diseño de caja S de criptosistemas de clave simétrica" . En Meghanathan, N .; et al. (eds.). Avances en redes y comunicaciones: Primera Conferencia Internacional sobre Ciencias de la Computación y Tecnología de la Información, CCSIT 2011, Bangalore, India, 2-4 de enero de 2011. Actas, Parte 2 . Saltador. pag. 516. ISBN 978-3-642-17877-1.
- ^ Buchmann, Johannes A. (2001). "5. DES". Introducción a la criptografía (Corr. 2. ed. Impresa). Nueva York, NY [ua]: Springer. págs. 119 –120. ISBN 978-0-387-95034-1.
- ^ "Modificaciones de la caja S de Gargiulo y su efecto en sistemas de cifrado similares a DES" Archivado el 20 de mayo de 2012 en la Wayback Machine p. 9.
- ^ RFC 4086. Sección 5.3 "Uso de cajas S para mezclar"
- ^ Hola, Howard M. "Un tutorial sobre criptoanálisis lineal y diferencial" (PDF) .
- ^ "S-Boxes y sus representaciones algebraicas - Manual de referencia de Sage 9.2: criptografía" . doc.sagemath.org . Consultado el 30 de abril de 2021 .
- ^ Saarinen, Markku-Juhani O. (2012). Miri, Ali; Vaudenay, Serge (eds.). "Análisis criptográfico de todas las cajas S de 4 × 4 bits" . Áreas seleccionadas en criptografía . Apuntes de conferencias en Ciencias de la Computación. Berlín, Heidelberg: Springer. 7118 : 118-133. doi : 10.1007 / 978-3-642-28496-0_7 . ISBN 978-3-642-28496-0.
Otras lecturas
- Kaisa Nyberg (1991). Cajas S perfectas no lineales (PDF) . Avances en Criptología - EUROCRYPT '91. Brighton . págs. 378–386 . Consultado el 20 de febrero de 2007 .[ enlace muerto permanente ]
- Calderero, Don (1994). "El estándar de cifrado de datos (DES) y su fuerza frente a los ataques". Revista de investigación y desarrollo de IBM . 38 (3): 243–250. doi : 10.1147 / rd.383.0243 .CS1 maint: ref duplica el valor predeterminado ( enlace )
- S. Mister y C. Adams (1996). Práctica caja-S Diseño . Taller de Áreas Seleccionadas en Criptografía (SAC '96) Taller de Registro. Universidad de Queen . págs. 61–76. CiteSeerX 10.1.1.40.7715 .
- Schneier, Bruce (1996). Criptografía aplicada, segunda edición . John Wiley e hijos . pp. 296 -298, 349. ISBN 978-0-471-11709-4.
- Chuck Easttom (2018). "Una metodología generalizada para diseñar elementos no lineales en primitivas criptográficas simétricas". 2018 IEEE 8th Annual Computing and Communication Workshop and Conference (CCWC) . Taller y conferencia de IEEE Computing and Communication (CCWC), 2018 IEEE 8th Annual. IEEE . págs. 444–449. doi : 10.1109 / CCWC.2018.8301643 . ISBN 978-1-5386-4649-6. S2CID 3659645 .
enlaces externos
- Una encuesta bibliográfica sobre el diseño de caja S
- "Preguntas sobre el diseño de la caja S" de John Savard
- "Diseño de caja de sustitución basado en distribución gaussiana"