stringtranslate.com

Red de sustitución-permutación

Un boceto de una red de sustitución-permutación con 3 rondas, que cifra un bloque de texto sin formato de 16 bits en un bloque de texto cifrado de 16 bits. Las cajas S son las Si , las cajas P son las mismas P y las teclas redondas son las K i .

En criptografía , una red SP , o red de sustitución-permutación ( SPN ), es una serie de operaciones matemáticas vinculadas utilizadas en algoritmos de cifrado de bloques como AES (Rijndael) , 3-Way , Kalyna , Kuznyechik , PRESENT , SAFER , SHARK , y Cuadrado .

Dicha red toma un bloque de texto sin formato y la clave como entradas, y aplica varias rondas o capas alternas de cuadros de sustitución (cuadros S) y cuadros de permutación (cuadros P) para producir el bloque de texto cifrado . Las cajas S y las cajas P transforman (sub)bloques de bits de entrada en bits de salida. Es común que estas transformaciones sean operaciones eficientes de realizar en hardware, como exclusiva o (XOR) y rotación bit a bit . La clave se introduce en cada ronda, normalmente en forma de " llaves redondas " derivadas de ella. (En algunos diseños, las propias S-box dependen de la clave).

El descifrado se realiza simplemente invirtiendo el proceso (usando las inversas de las cajas S y P y aplicando las claves redondas en orden inverso).

Componentes

Una S-box sustituye un pequeño bloque de bits (la entrada de la S-box) por otro bloque de bits (la salida de la S-box). Esta sustitución debe ser uno a uno , para garantizar la invertibilidad (por lo tanto, el descifrado). En particular, la longitud de la salida debe ser la misma que la longitud de la entrada (la imagen de la derecha tiene cajas S con 4 bits de entrada y 4 bits de salida), lo cual es diferente de las cajas S en general, que también podrían cambiar. la longitud, como en el Estándar de cifrado de datos (DES), por ejemplo. Una S-box no suele ser simplemente una permutación de bits. Más bien, en una buena S-box cada bit de salida se verá afectado por cada bit de entrada. Más precisamente, en una buena S-box cada bit de salida será cambiado con un 50% de probabilidad por cada bit de entrada. Dado que cada bit de salida cambia con una probabilidad del 50%, aproximadamente la mitad de los bits de salida realmente cambiarán con un cambio de bit de entrada (consulte el criterio estricto de avalancha ). [1]

Una P-box es una permutación de todos los bits: toma las salidas de todas las S-boxes de una ronda, permuta los bits y los introduce en las S-boxes de la siguiente ronda. Una buena P-box tiene la propiedad de que los bits de salida de cualquier S-box se distribuyen a tantas entradas de S-box como sea posible.

En cada ronda, la clave de ronda (obtenida de la clave con algunas operaciones simples, por ejemplo, usando S-boxes y P-boxes) se combina usando alguna operación de grupo, generalmente XOR .

Propiedades

Una sola caja S típica o una sola caja P por sí solas no tienen mucha solidez criptográfica: una caja S podría considerarse como un cifrado de sustitución , mientras que una caja P podría considerarse como un cifrado de transposición . Sin embargo, una red SP bien diseñada con varias rondas alternas de cajas S y P ya satisface las propiedades de confusión y difusión de Shannon :

Actuación

Aunque una red Feistel que utiliza S-boxes (como DES ) es bastante similar a las redes SP, existen algunas diferencias que hacen que esto o aquello sea más aplicable en determinadas situaciones. Para una determinada cantidad de confusión y difusión , una red SP tiene más "paralelismo inherente" [2] y, por lo tanto, dada una CPU con muchas unidades de ejecución , se puede calcular más rápido que una red Feistel. [3] Las CPU con pocas unidades de ejecución, como la mayoría de las tarjetas inteligentes , no pueden aprovechar este paralelismo inherente. Además, los cifrados SP requieren que las S-boxes sean reversibles (para realizar el descifrado); Las funciones internas de Feistel no tienen tal restricción y pueden construirse como funciones unidireccionales .

Ver también

Referencias

  1. ^ Webster, AF; Tavares, Stafford E. (1985). "Sobre el diseño de S-boxes". Avances en criptología: Crypto '85 . Apuntes de conferencias sobre informática. vol. 218. Nueva York, Nueva York: Springer-Verlag New York, Inc. págs. 523–534. ISBN 0-387-16463-4.
  2. ^ "Principios y rendimiento de los algoritmos criptográficos" de Bart Preneel, Vincent Rijmen y Antoon Bosselaers.
  3. ^ "La familia de funciones Skein Hash" Archivado el 15 de enero de 2009 en Wayback Machine 2008 por Niels Ferguson , Stefan Lucks , Bruce Schneier , Doug Whiting, Mihir Bellare , Tadayoshi Kohno, Jon Callas , Jesse Walker página 40.

Otras lecturas