S-Box

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):

S54 bit de entrada internos
0000000100100011010001010110011110001001101010111100110111101111
Bits externos000010110001000001011110101011011010000101001111111101000011101001
011110101100101100010001111101000101010000111111000011100110000110
100100001000011011110011010111100011111001110001010110001100001110
111011100011000111000111100010110101101111000010011100010001010011

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 sólo 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

Other Languages
català: Caixes-S
Deutsch: S-Box
English: S-box
français: S-Box
italiano: S-Box
日本語: Sボックス
polski: S-Box
Simple English: Substitution box
shqip: S-box
українська: S-скриня
中文: S盒