robot de la enciclopedia para niños

S-Box para niños

Enciclopedia para niños

En el mundo de la criptografía, que es el arte de escribir mensajes secretos para proteger la información, una S-Box (que significa "caja de sustitución") es una parte muy importante de los métodos de cifrado que usan una clave simétrica. Imagina que quieres enviar un mensaje secreto a un amigo. Con la clave simétrica, tú y tu amigo usan la misma clave para cifrar (convertir en secreto) y descifrar (volver a leer) el mensaje.

Las S-Boxes se usan mucho en los cifradores por bloques. Estos cifradores toman tu mensaje original y lo dividen en pedacitos llamados "bloques". Luego, cada bloque se transforma para que el mensaje secreto sea muy diferente del original. La S-Box ayuda a que esta transformación sea tan compleja que sea muy difícil para alguien sin la clave adivinar el mensaje original. Esto se conoce como la propiedad de "confusión", que fue una idea del científico Claude Shannon. Las S-Boxes se diseñan con mucho cuidado para que sean fuertes y difíciles de "romper" por personas que intentan descifrar mensajes sin permiso (a esto se le llama criptoanálisis).

¿Cómo funciona una S-Box?

Una S-Box toma una cantidad de bits (que son como pequeños interruptores que pueden estar encendidos o apagados, representados por 0 o 1) como entrada y los convierte en otra cantidad de bits como salida. Por ejemplo, una S-Box de 6x4 bits toma 6 bits de entrada y produce 4 bits de salida.

Las S-Boxes se implementan como una especie de "tabla de consulta". Piensa en ella como una tabla donde buscas un valor de entrada y encuentras su valor de salida correspondiente. Algunos métodos de cifrado, como el famoso DES, usan S-Boxes que ya están fijas. Otros cifradores, como Blowfish y Twofish, usan S-Boxes que cambian dependiendo de la clave secreta que se esté usando.

Ejemplo de una S-Box: DES (S5)

Aquí tienes un ejemplo de cómo se ve una S-Box, específicamente la S5 del cifrador DES:

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

Para usar esta tabla con una entrada de 6 bits, sigues estos pasos:

  • Toma el primer y el último bit de tu entrada de 6 bits. Estos dos bits te dirán qué fila de la tabla debes usar.
  • Los cuatro bits del medio de tu entrada te dirán qué columna debes usar.
  • El número que encuentres en la intersección de esa fila y columna será la salida de 4 bits de la S-Box.

Por ejemplo, si la entrada es "011011":

  • Los bits externos son "01", lo que te lleva a la segunda fila (la que está sombreada en verde claro).
  • Los bits internos son "1101", lo que te lleva a la columna sombreada en naranja claro.
  • Si buscas en la tabla, la salida correspondiente es "1001".

¿Por qué son importantes las S-Boxes?

Las S-Boxes del cifrador DES fueron estudiadas por mucho tiempo. Se quería saber si tenían alguna "puerta trasera", es decir, una debilidad secreta que solo sus creadores conocieran. Sin embargo, se descubrió que estas S-Boxes fueron diseñadas para ser muy fuertes contra un tipo de ataque llamado criptoanálisis diferencial. Esto significa que fueron creadas para hacer que sea muy difícil encontrar patrones en los mensajes cifrados que puedan ayudar a descifrarlos. Investigaciones posteriores han demostrado que incluso un pequeño cambio en una S-Box podría haber hecho que DES fuera mucho más débil.

Véase también

Kids robot.svg En inglés: S-box Facts for Kids

  • Función lógica
kids search engine
S-Box para Niños. Enciclopedia Kiddle.