En criptografía, una S-Box (substitution box) es un componente básico de los algoritmos de cifrado de clave simétrica. En los cifradores por bloques son usadas a menudo para oscurecer la relación existente entre texto plano y texto cifrado (la propiedad confusión de Shannon). En muchos casos las S-Boxes son elegidas cuidadosamente para ser resistentes al criptoanálisis.

En general, una S-Box toma un número m de bits de entrada y los transforma en n bits de salida. Esto es una S-Box m×n, implementada como una lookup table. Las Tablas prefijadas se usan en algunos algoritmos, como DES, mientras que otros cifradores usan S-Boxes dependientes de la clave, como en Blowfish y Twofish.

Esta ilustración muestra una S-Box de 6×4 bits de DES(S5):

S5 4 bit de entrada internos
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
Bits 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 1100 0011 1001 1000 0110
10 0100 0010 0001 1011 1100 1101 0111 1000 1111 1001 1100 0101 0110 0011 0000 1110
11 1011 1000 1100 0111 0001 1110 0010 1101 0110 1111 0000 1001 1100 0100 0101 0011

Dada una entrada de 6 bits, la salida de 4 bits se encuentra seleccionando la fila de los dos bits externos y la columna de los 4 internos. Por ejemplo, una entrada "011011" tiene como bits externos (el bit de cada extremo) "01" y "1101" como bits internos. La correspondiente salida sería "1001".

Las S-Boxes de DES fueron objeto de intensivo estudio durante años con la intención de localizar una puerta trasera –una vulnerabilidad conocida solo por sus desarrolladores– implantada en el cifrador. El criterio del diseño de la S-Box fue publicado (Don Coppersmith, 1994) después del redescubrimiento público del criptoanálisis diferencial, mostrando que habían sido diseñadas para mostrarse resistentes a este tipo de ataques. Otras investigaciones han demostrado que incluso una leve modificación de una S-Box podría haber debilitado significativamente DES.

Véase también

editar

Referencias

editar
  • Coppersmith, Don. (1994). The data encryption standard (DES) and its strength against attacks. IBM Journal of Research and Development, 38(3), 243–250. [1] (PDF)
  • S. Mister and C. Adams, "Practical S-Box Design," Workshop on Selected Areas in Cryptography (SAC '96) Workshop Record, Queens University, 1996, pp. 61–76
  • Tabla completa S Boxes [2]