El resumen más simple y simple del cifrado simétrico AES

Debido a que quiero aprender la seguridad de Internet de las cosas, he aprendido varios algoritmos de cifrado por mí mismo, para no olvidar, aquí está el resumen más simple y simple del cifrado simétrico AES.
Si desea estudiar específicamente, se recomienda ver el siguiente artículo del hermano mayor, muy detallado, también miré este artículo e hice mi propio resumen.
Haga clic aquí para transferir al
algoritmo de cifrado simétrico AES (simétrico significa que las claves utilizadas para el cifrado y descifrado son las mismas).
En la especificación estándar AES, la longitud del paquete solo puede ser de 128 bits, es decir, cada paquete tiene 16 palabras Sección (8 bits por byte). La longitud de la clave puede ser de 128 bits, 192 bits o 256 bits. La longitud de la clave es diferente y el número recomendado de rondas de cifrado también es diferente. Esta vez tomando AES128 como ejemplo, el cifrado es de diez rondas.

El siguiente es el paso de cifrado 1. El
texto plano de entrada de 128 bits y la clave de entrada se dividen en 16 bytes.
La unidad de procesamiento es un byte AES, 128 bits de texto claro de entrada bloque P y la entrada de clave K se divide en 16 bytes, se denota como P = P0 P1 ... P15 ... Kl y K15 K0 = K.

2, sustituyendo bytes Para
AES, se definen un cuadro S y un cuadro S inverso. Saque cada byte en el texto plano, tome los 4 bits altos del byte como valor de fila y los 4 bits bajos como valor de columna, saque el elemento en la posición correspondiente en el cuadro S y reemplace el byte original.
3. Operación de desplazamiento de fila La
fila de matriz 0 se desplaza a la izquierda en 0 bytes, la fila de matriz 1 se desplaza a la izquierda en 1 byte y la fila de matriz 2 se desplaza a la izquierda en 2 bytes. Y así sucesivamente.
4. Operación de mezcla de
columnas La transformación de mezcla de columnas se logra mediante la multiplicación de la matriz. La matriz de estado después del desplazamiento de fila se multiplica por una matriz fija para obtener la matriz de estado confuso.

5. Adición de clave redonda
Realice una operación XOR a nivel de bit en los datos en la clave redonda de 128 bits K con la matriz de estado.
La matriz de claves es diferente para cada ronda de operación XOR. La expansión de claves se presenta a continuación.
AES primero ingresa la clave inicial en una matriz de 4 4 estados. Los 4 bytes en cada columna de la matriz 4 4 forman una palabra, y las 4 palabras en las 4 columnas de la matriz se denominan W [0], W [1], W [2] y W [3] en secuencia. Matriz W de unidades de palabras.

A continuación, la matriz W se expande en 40 nuevas columnas para formar un total de 44 columnas de matrices de claves extendidas. La nueva columna se genera de forma recursiva de la siguiente manera:
1. Si i no es múltiplo de 4, entonces la columna i-ésima se determina mediante la siguiente ecuación:
W [i] = W [i-4] ⨁W [i-1]
2. Si i Es un múltiplo de 4, entonces la columna i-ésima se determina mediante la siguiente ecuación:
W [i] = W [i-4] ⨁T (W [i-1])
Entre ellos, T es una función algo complicada. La función T se compone de 3 partes: bucle de palabras, sustitución de bytes y XOR de constantes. Las funciones de estas 3 partes son las siguientes.
Rotación de palabras: desplaza 4 bytes en 1 palabra a la izquierda en 1 byte. Las palabras de entrada [b0, b1, b2, b3] se convertirán a [b1, b2, b3, b0].
Sustitución de bytes: use el cuadro S para realizar la sustitución de bytes en el resultado del bucle de palabras.
XOR de la constante de rueda: XOR los resultados de los dos primeros pasos con la constante de rueda Rcon [j], donde j representa la rueda.
El siguiente es el proceso completo de cifrado: las
funciones de redondeo de las rondas 1 a 9 de cifrado son las mismas, incluidas 4 operaciones: sustitución de bytes, desplazamiento de fila, mezcla de columnas y adición de clave redonda. La última iteración no realiza la combinación de columnas. Además, antes de la primera ronda de iteraciones, el texto sin formato y la clave original están cifrados con XOR.

Algunas fotos se citan de este artículo https://blog.csdn.net/qq_28205153/article/details/55798628?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

Publicado 9 artículos originales · ganó 7 · visitado 1767

Supongo que te gusta

Origin blog.csdn.net/weixin_44906810/article/details/105165951
Recomendado
Clasificación