Red de conocimiento informático - Conocimiento informático - ¿Android usa AES para cifrar el servidor o se usa un servlet para enviar solicitudes? Nombre=Xiaoming;Edad=12

¿Android usa AES para cifrar el servidor o se usa un servlet para enviar solicitudes? Nombre=Xiaoming;Edad=12

A medida que mejora la tecnología de criptoanálisis, el nuevo estándar de cifrado de datos AES ha reemplazado al obsoleto DES. Sobre la base de la elaboración del algoritmo de cifrado AES/RSA, se proporciona respectivamente el proceso de cifrado AES/RSA para la transmisión de datos de la red cliente/servidor. Finalmente, sobre la base de la comparación del algoritmo AES y el algoritmo RSA, se propone un nuevo esquema de cifrado de datos combinando los algoritmos AES y RSA.

Necesidades y conceptos básicos

Con la aplicación generalizada de Internet, los problemas de seguridad de la información se han vuelto cada vez más prominentes y la tecnología de seguridad de la información con cifrado de datos como núcleo también se ha desarrollado enormemente. La tecnología de cifrado de datos actual se puede dividir en sistemas de cifrado de clave privada (cifrado simétrico) y sistemas de cifrado de clave pública (cifrado asimétrico) según el tipo de clave de cifrado [1]. El algoritmo de cifrado simétrico es un sistema de cifrado relativamente tradicional. Ambas partes que se comunican utilizan una única clave que comparten durante el proceso de cifrado/descifrado. Debido a su algoritmo simple y su rápida velocidad de cifrado, sigue siendo uno de los principales sistemas de cifrado. El algoritmo de cifrado simétrico más utilizado es el algoritmo Estándar de cifrado de datos (DES), pero la longitud de la clave DES es corta y ya no es adecuada para los requisitos de seguridad de cifrado de datos de las redes abiertas distribuidas actuales. Finalmente, el nuevo estándar simétrico de cifrado de datos avanzado AES basado en el algoritmo de Rijndael reemplazó al estándar de cifrado de datos DES. El cifrado asimétrico se utiliza ampliamente debido a sus diferentes claves de cifrado/descifrado (cifrado de clave pública y descifrado de clave privada) y gestión sencilla de claves. RSA es el algoritmo criptográfico de clave pública más famoso entre los sistemas de cifrado asimétrico.

Algoritmo AES

Principios básicos y flujo del algoritmo.

El Instituto Nacional de Estándares y Tecnología (NIST) seleccionó el algoritmo Rijndael como Estándar de cifrado avanzado (AES) entre muchos cifrados de bloque después de tres rondas de selección de algoritmos candidatos. El cifrado Rijndael es un cifrado de bloques iterativo con longitud de bloque y longitud de cifrado variables, que se pueden especificar de forma independiente como 128 bits, 192 bits o 256 bits. La unidad de procesamiento de datos del algoritmo de cifrado AES es un byte. La información de 128 bits se divide en 16 bytes y luego se copia en una matriz de 4 * 4, llamada estado. Todas las transformaciones de AES se basan en transformaciones de matrices de estado.

Nr representa el número de rondas para cifrar un paquete de datos (la relación entre el número de rondas de cifrado y la longitud de la clave se muestra en la Tabla 1). En cada iteración de la función redonda, hay cuatro pasos de transformación, a saber, operación ByteSubstitution (byte sub()), transformación de fila (ShiftRows()), mezcla de columnas (MixColumns()) y transformación de adición de clave redonda Addoundkey () [3 ]. Su función es difundir la no linealidad producida por la operación de reemplazo de bytes repitiendo transformaciones no lineales simples y transformaciones de funciones mixtas.

La Tabla 1 es una tabla comparativa de tres tipos diferentes de tamaños de paquetes de claves de cifrado AES y las rondas de cifrado correspondientes. Cuando comienza el cifrado, cada byte del paquete de entrada se carga en el estado de matriz, como se muestra en la Tabla 2. Si se ingresa ABCDEFGHIJKLMNOP, el bloque de entrada se asigna a la matriz de estado como se muestra en la Tabla 2.