Comprenda rápidamente los algoritmos de cifrado simétrico comunes y ya no tendrá que preocuparse de que el entrevistador le solicite detalles.
Los algoritmos de cifrado generalmente se dividen en dos tipos: cifrado simétrico y cifrado asimétrico. Entre ellos, los algoritmos de cifrado simétrico utilizan la misma clave para cifrar y descifrar; los algoritmos de cifrado asimétrico utilizan diferentes claves para cifrar y descifrar, divididas en claves públicas y claves privadas. Además, existe un tipo de algoritmo llamado algoritmo de resumen de mensajes, que es un algoritmo para digerir datos y no es reversible.
Esta vez, veremos algoritmos de cifrado simétrico.
Los algoritmos de cifrado simétrico utilizan la misma clave para cifrar y descifrar, o dos claves que pueden derivarse fácilmente entre sí. En la mayoría de los algoritmos de cifrado simétrico, las claves de cifrado y descifrado son las mismas.
Requiere que ambas partes acuerden una clave antes de comunicarse de forma segura. La seguridad de los algoritmos simétricos depende de la clave. La filtración de la clave significa que cualquiera puede descifrar la información que envían. Esta es una de las principales desventajas de los algoritmos de cifrado simétrico.
Los algoritmos de cifrado simétrico comunes incluyen el algoritmo DES, el algoritmo 3DES y el algoritmo AES.
El algoritmo DES (Data Encryption Standard) es un algoritmo de cifrado de bloques común.
El algoritmo de cifrado de bloques divide el texto sin formato en grupos de longitud fija. Cada grupo se cifra utilizando la misma clave y algoritmo, y la salida también es un texto cifrado de longitud fija.
Fue desarrollado por IBM en 1972 y fue identificado como Estándar Federal de Procesamiento de Información (FIPS) por la Oficina Nacional de Estándares del gobierno federal de Estados Unidos en 1976, y posteriormente se difundió ampliamente a nivel internacional.
En el algoritmo DES, la longitud de la clave se fija en 64 bits. El texto sin formato se agrupa en grupos de 64 bits, y el grupo de texto sin formato agrupado se intercambia o intercambia con la clave para formar un grupo de texto cifrado, y luego el grupo de texto cifrado se ensambla en texto cifrado.
Cada ocho bits de la clave se configuran como bits de paridad, es decir, bit 8, bit 16, bit 24, bit 32, bit 40, bit 48, bit 56 y bit 64, por lo que la longitud real de la clave involucrada en el cifrado es de 56 bits.
Escribamos un ejemplo en Java:
Aquí está el resultado:
DES no es un método de cifrado seguro ahora, principalmente debido a las claves que utiliza. Si es demasiado corto, se puede romper fácilmente con fuerza bruta.
El algoritmo 3DES (Triple Data Encryption Algorithm) es una versión mejorada del algoritmo DES, que equivale a cifrar DES de texto plano tres veces.
Debido a la mejora de la potencia informática de la computadora, el algoritmo DES es vulnerable al cracking por fuerza bruta debido a su baja longitud de clave; el algoritmo 3DES proporciona un método relativamente simple para evitar ataques similares al aumentar la longitud de la clave; DES en lugar de diseñar un algoritmo de cifrado de bloques completamente nuevo.
En el algoritmo DES, la longitud de la clave se fija en 192 bits. Durante el cifrado y descifrado, la clave se divide en tres claves de 64 bits.
El proceso de cifrado es el siguiente:
El proceso de descifrado es el siguiente:
Escribamos un ejemplo en Java:
El resultado de la ejecución es el siguiente:
p>
Aunque el algoritmo 3DES mejora la seguridad, el cifrado y descifrado son más lentos debido al uso del algoritmo DES tres veces.
AES (Advanced Encryption Standard) fue diseñado principalmente para reemplazar el algoritmo de cifrado DES. Aunque ha aparecido el método de cifrado 3DES, debido a que su tiempo de cifrado es más de tres veces mayor que el del algoritmo DES, la cantidad de bits de clave aún no puede cumplir con los requisitos de seguridad.
El 2 de enero de 1997, el Instituto Nacional de Estándares y Tecnología (NIST) anunció que quería solicitar un estándar de cifrado avanzado para reemplazar al DES. Muchos criptógrafos de todo el mundo presentaron algoritmos de su propio diseño. Después de la selección, NIST publicó el Estándar de cifrado avanzado en FIPS PUB 197 el 26 de noviembre de 2001 y lo incluyó como estándar activo el 26 de mayo de 2002.
El algoritmo fue diseñado por los criptógrafos belgas Joan Daemen y Vincent Rijmen, y se presentó bajo el nombre de Rijndael, combinado con los nombres de los dos autores del proceso de selección del Estándar de cifrado avanzado.
La longitud de la clave del algoritmo AES es fija y la longitud de la clave puede ser de 128, 192 o 256 bits.
El algoritmo AES también es un algoritmo de cifrado de paquetes y la longitud de su paquete solo puede ser de 128 bits. Los grupos de texto sin formato y las claves agrupados se permutan y reemplazan de varias maneras diferentes para formar grupos de texto cifrado, que luego se ensamblan en texto cifrado.
Escribamos un ejemplo en Java:
Aquí está el resultado:
El algoritmo AES es el algoritmo de cifrado simétrico más utilizado.
Los algoritmos de cifrado simétrico utilizan la misma clave para el cifrado y descifrado. Los algoritmos de cifrado simétrico comunes incluyen: algoritmo DES, algoritmo 3DES y algoritmo AES.
Debido a la baja seguridad y la baja eficiencia de cifrado y descifrado, no se recomiendan el algoritmo DES ni el algoritmo 3DES. El algoritmo AES es actualmente el algoritmo de cifrado simétrico más utilizado.