En criptografía, una Caja-S (Caja de Sustitución) es un componente básico de algoritmos de clave simétrica los cuales realizan sustitución. En codificadores de bloques, ellos son típicamente usados para obscurecer la relación entre la clave y el texto cifrado —propiedad de confusión de Claude Shannon.[1]

En general, una Caja-S toma algún número de bits de entrada, m, y los transforma en algún número de bits de salida, n, donde n es no necesariamente igual a m.[1]​ Una Caja-S m×n puede ser implementada como una tabla de consulta con 2m palabras de n bits cada una. Tablas fijas son comúnmente usadas, como por ejemplo en DES, pero en algunos codificadores las tablas son generadas dinámicamente desde la clave (por ejemplo, cifrado Blowfish y el algoritmo de encriptación Twofish).[cita requerida]

Un buen ejemplo de tabla fija es esta Caja-S de 6×4-bits de DES (S5):

S5 Middle 4 bits of input
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
Outer bits 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 es encontrada seleccionando la fila usando los dos bits externos (el primero y el último) y la columna usando los cuatro bits internos. Por ejemplo, si la entrada es «011011» sus bits externos son «01» y sus bits internos «1101»; entonces la correspondiente salida debería ser «1001».[cita requerida]

Las 8 Cajas-S de DES fueron un tema de intenso estudio por muchos años por la preocupación de que un backdoor —una vulnerabilidad conocida solo por sus diseñadores— podría haber sido colocada en el codificador. El criterio de diseño de Caja-S fue eventualmente publicado (en Coppersmith, 1994) después del redescubrimiento público de criptoanálisis diferencial, mostrando que ellos habían sido cuidadosamente afinados para incrementar la resistencia en contra de este ataque específico. Otra investigación ya ha indicado que aún pequeñas modificaciones a una Caja-S podría significativamente debilitar DES.[cita requerida]

Ha habido una gran cantidad de investigación en el diseño de buenas Cajas-S y mucho más se ha comprendido acerca de su uso en codificadores de bloque desde que DES fue lanzado.[cita requerida]

ReferenciasEditar

  1. a b Chandrasekaran, J. et al. (2011). «A Chaos Based Approach for Improving Non Linearity in the S-Box Design of Symmetric Key Cryptosystems». En Meghanathan, N. et al., ed. Advances in Networks and Communications: First International Conference on Computer Science and Information Technology, CCSIT 2011, Bangalore, India, January 2-4, 2011. Proceedings, Part 2. Springer. p. 516. ISBN 978-3-642-17877-1. 

Otras lecturasEditar

Enlaces externosEditar