Red de sustitución-permutación - Substitution–permutation network

Un bosquejo de una red de sustitución-permutación con 3 rondas, encriptando un bloque de texto plano de 16 bits en un bloque de texto cifrado de 16 bits. Las cajas S son las S i , las cajas P son la misma 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 que se utilizan en algoritmos de cifrado de bloques como AES (Rijndael) , 3-Way , Kalyna , Kuznyechik , PRESENT , SAFER , SHARK , y Cuadrado .

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

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

Componentes

Una caja S sustituye un pequeño bloque de bits (la entrada de la caja S) por otro bloque de bits (la salida de la caja S). 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 de salida), que es diferente de las cajas S en general que también podrían cambiar la longitud, como en DES (Estándar de cifrado de datos) , por ejemplo. Por lo general, una caja S no es simplemente una permutación de los bits. Más bien, una buena caja S tendrá la propiedad de que cambiar un bit de entrada cambiará aproximadamente la mitad de los bits de salida (o un efecto de avalancha ). También tendrá la propiedad de que cada bit de salida dependerá de cada bit de entrada.

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

En cada ronda, la clave redonda (obtenida de la clave con algunas operaciones simples, por ejemplo, usando cajas S y cajas P) se combina usando alguna operación de grupo, típicamente XOR .

Propiedades

Una sola caja S típica o una sola caja P por sí sola no tiene mucha fuerza 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 :

  • La razón de la difusión es la siguiente: si uno cambia un bit del texto plano, entonces se alimenta a una caja S, cuya salida cambiará en varios bits, entonces todos estos cambios son distribuidos por la caja P entre varios S- cajas, por lo tanto, las salidas de todas estas cajas S se cambian nuevamente en varios bits, y así sucesivamente. Haciendo varias rondas, cada bit cambia varias veces hacia adelante y hacia atrás, por lo tanto, al final, el texto cifrado ha cambiado por completo, de manera pseudoaleatoria . En particular, para un bloque de entrada elegido al azar, si se invierte el i -ésimo bit, entonces la probabilidad de que el j -ésimo bit de salida cambie es aproximadamente la mitad, para cualquier i y j , que es el Criterio Estricto de Avalancha . Viceversa, si uno cambia un bit del texto cifrado, luego intenta descifrarlo, el resultado es un mensaje completamente diferente del texto plano original; los cifrados SP no son fácilmente maleables .
  • El motivo de la confusión es exactamente el mismo que el de la difusión: cambiar un bit de la clave cambia varias de las claves redondas, y cada cambio en cada clave redonda se difunde sobre todos los bits, cambiando el texto cifrado de una manera muy compleja.
  • Incluso si un atacante obtiene de alguna manera un texto sin formato correspondiente a un texto cifrado (un ataque de texto sin formato conocido o, peor aún, un texto sin formato elegido o un ataque de texto cifrado elegido), la confusión y la difusión dificultan que el atacante recupere la clave.

Rendimiento

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 cantidad determinada de confusión y difusión , una red SP tiene más "paralelismo inherente" y, por lo tanto, dada una CPU con muchas unidades de ejecución , se puede calcular más rápido que una red Feistel. 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 cajas S sean invertibles (para realizar el descifrado); Las funciones internas de Feistel no tienen tal restricción y pueden construirse como funciones unidireccionales .

Ver también

Referencias

Otras lecturas

  • Katz, Jonathan; Lindell, Yehuda (2007). Introducción a la criptografía moderna . Prensa CRC. ISBN   9781584885511 .
  • Stinson, Douglas R. (2006). Criptografía. Teoría y práctica (Tercera ed.). Chapman y Hall / CRC. ISBN   1584885084 .