La seguridad de los datos es una de las partes esenciales de una organización; se puede lograr utilizando diversos métodos. cifrado La clave desempeña un papel fundamental en el procesamiento general de datos. El cifrado de datos convierte el texto plano en una forma codificada (ilegible), a la que solo pueden acceder las personas o entidades autorizadas.
Existen numerosos algoritmos en el mercado para cifrar este tipo de datos. Si bien los datos cifrados han estado seguros durante un tiempo, nunca podemos confiar plenamente en su seguridad. Con el paso del tiempo, existe la posibilidad de que alguien los piratee.

En este artículo, hemos analizado diversos algoritmos y técnicas de cifrado para mejorar la seguridad de los datos y la información. Se comparan los algoritmos de cifrado en función de su rendimiento, eficiencia en hardware y software, tamaño de la clave, disponibilidad, técnicas de implementación y velocidad.
Resumen de los algoritmos
Comparamos la velocidad medida de los algoritmos de cifrado con otros algoritmos disponibles de forma estándar en Oracle JDK, utilizando el IDE Eclipse, y luego resumimos otras características de dichos algoritmos. Los algoritmos de cifrado considerados aquí son: AES (con claves de 128 y 256 bits), DES, Triple DES, IDEA y Pez globo (con una clave de 256 bits).
Rendimiento de los algoritmos
La siguiente figura muestra el tiempo que lleva cifrar varios bloques de datos de 16 bytes utilizando los algoritmos mencionados anteriormente.
Es fundamental tener claro desde el principio que, más allá de ciertos límites, no vale la pena sacrificar velocidad por seguridad. Sin embargo, las mediciones obtenidas nos ayudarán a tomar decisiones informadas.
Características de los algoritmos

Tabla 1 resume las características principales de cada algoritmo de cifrado, con lo que creemos que es una descripción general justa del estado de seguridad actual del algoritmo.
| factores | RSA | DES | 3DES | AES |
|---|---|---|---|---|
| Creado por | En 1978 por Ron Rivest, Adi Shamir y Leonard Adleman | En 1975 por IBM | En 1978 por IBM | En 2001 por Vincent Rijmen y Joan Daemen |
| Longitud clave | Depende del número de bits en módulo n, donde n = p*q | 56 bits de | 168 bits (k1, k2 y k3) 112 bits (k1 y k2) | 128, 192 o 256 bits |
| rondas | 1 | 16 | 48 | Clave de 10-128 bits, Clave de 12-192 bits, clave de 14-256 bits |
| Tamaño de bloque | Variable | 64 bits de | 64 bits de | 128 bits de |
| Tipo de cifrado | Cifrado de bloque asimétrico | Cifrado de bloque simétrico | Cifrado de bloque simétrico | Cifrado de bloque simétrico |
| Speed (Rapidez) | El más lento | Lenta | Muy lento | Rápido |
| Seguridad | Menos seguro | No es lo suficientemente seguro | Seguridad adecuada | Excelente seguridad |
Tabla 1: Características de los algoritmos de cifrado más utilizados
Comparación
Las técnicas se han comparado en función de cuánto:
- Velocidad de procesamiento de la CPU para cifrar y descifrar datos.
- Tasa de generación de claves.
- Tamaño de la clave.
- Consideración de seguridad.
- Eficiente tanto en hardware como en software en el caso de la implementación.
- La cantidad de memoria necesaria para almacenar los datos en el proceso de cifrado.
- Número de usuarios acomodados por el modelo.
- Tiempo que necesita el modelo para recuperar los datos en caso de fallo de la clave.
- Tiempo disponible para que el hacker produzca distintos tipos de ataques.
- La complejidad de la técnica del algoritmo.

Formulación y estudio de caso
Casos de éxito
Los cifrados simétricos utilizan la misma clave para cifrar y descifrar, por lo que tanto el emisor como el receptor deben conocer y utilizar la misma clave secreta. Todas las longitudes de clave se consideran suficientes para proteger la información clasificada hasta el nivel "Secreto", mientras que la información "Alto Secreto" requiere longitudes de clave de 192 o 256 bits. Hay 10 rondas para claves de 128 bits, 12 rondas para claves de 192 bits y 14 rondas para claves de 256 bits. Cada ronda consta de varios pasos de procesamiento que incluyen la sustitución, la transposición y la mezcla del texto sin formato de entrada para transformarlo en el resultado final. texto cifrado.
Diseño AES

rondas
El relleno es el método de añadir datos ficticios adicionales. Durante el proceso de cifrado de un mensaje, si la longitud del mensaje no es divisible por la longitud del bloque, se utiliza relleno. Por ejemplo, si el mensaje consta de 426 bytes, se necesitan siete bytes adicionales de relleno para que el mensaje tenga una longitud de 432 bytes, ya que 432 es divisible por 16. En AES se pueden usar tres tamaños de clave, y dependiendo del tamaño de la clave, cambia el número de rondas. El tamaño de clave estándar en AES es de 128 bits, y el número de rondas es de 10. Para el cifrado AES, se generan dos subclaves y en la primera ronda se añade una clave de ronda.
| No. | Tamaño clave | Número de rondas |
|---|---|---|
| 1 | 128 bits de | 10 |
| 2 | 192 bits de | 12 |
| 3 | 256 bits de | 14 |
Para 128 bits, se utiliza texto plano y una clave de 128 bits, y se realizan 10 rondas para obtener el texto cifrado. En el primer paso, se generan 10 claves de ronda, una para cada ronda, y existe una clave de ronda independiente. Sin embargo, en la primera ronda, se añade una clave de ronda adicional, la clave de ronda inicial, y luego se inicia la transformación. La transformación consta de cuatro pasos.
- Sustituir bytes
- Cambiar filas
- Mezclar columnas
- Agregar clave redonda
La siguiente figura explica todas las etapas del cifrado desde el texto simple hasta el texto cifrado.

Cifrado con AES
La fase de cifrado AES se divide en tres etapas: la ronda inicial, las rondas principales y la ronda final. Todas las etapas utilizan las mismas suboperaciones en diferentes combinaciones, como se indica a continuación:
- Ronda inicialAgregar clave redonda
- Ronda principal
- Subbytes
- Cambiar filas
- Mezclar columnas
- Agregar clave redonda
- Ronda final:
- Subbytes
- Cambiar filas
- Agregar clave redonda
- Agregar clave redonda
Esta es la única fase del cifrado AES que opera directamente sobre la clave de ronda AES. En esta operación, la entrada a la ronda es exclusiva (o con la clave de ronda).
- Subbytes
Implica dividir la entrada en bytes y pasar cada uno a través de una caja de sustitución o S-Box. A diferencia de DES, AES utiliza la misma S-Box para todos los bytes. La S-Box de AES implementa la multiplicación inversa en el Campo de Galois 2.
- Cambiar filas
Cada fila del estado interno de 128 bits del cifrado se desplaza. En esta etapa, las filas corresponden a la representación estándar del estado interno en AES, que es una matriz de 4×4 donde cada celda contiene un byte. Los bytes del estado interno se colocan en la matriz de izquierda a derecha, fila por fila, y columna por columna.
- Mezclar columnas
Proporciona difusión mediante la redistribución de la entrada. A diferencia de Desplazar Filas, Mezclar Columnas realiza operaciones dividiendo la matriz por columnas en lugar de por filas. A diferencia de la multiplicación de matrices estándar, Mezclar Columnas realiza la multiplicación de matrices sobre el Campo de Galois 2.
Descifrado con AES
Para descifrar un texto cifrado con AES, es necesario deshacer cada etapa de la operación de cifrado en el orden inverso al que se aplicaron. Las tres etapas del descifrado son las siguientes:
- Ronda final inversa
- Agregar clave redonda
- Cambiar filas
- Subbytes
- Ronda principal inversa
- Agregar clave redonda
- Mezclar columnas
- Cambiar filas
- Subbytes
- Ronda inicial inversa
- Agregar clave redonda
Conclusión
El estudio de diversos algoritmos muestra que la solidez del modelo depende de gestión de claves, tipo de criptografíaEl número de claves y el número de bits utilizados en una clave son factores importantes. Todas las claves se basan en propiedades matemáticas. Las claves con mayor número de bits requieren más tiempo de computación, lo que indica que el sistema tarda más en cifrar los datos. El cifrado de datos AES es un algoritmo criptográfico matemáticamente más eficiente y elegante, pero su principal ventaja radica en la posibilidad de utilizar distintas longitudes de clave. AES permite elegir una clave de 128, 192 o 256 bits, lo que aumenta exponencialmente su seguridad. AES utiliza el método de permutación-sustitución, que implica una serie de pasos de sustitución y permutación para crear el bloque cifrado.
