Introducción
El cifrado de datos es una técnica fundamental para la seguridad informática. OpenSSL proporciona diversas herramientas para cifrar y descifrar información de forma eficiente. En este artículo, exploraremos cómo utilizar OpenSSL para aplicar cifrado simétrico con los algoritmos DES, 3DES y AES-128.
Creación del Archivo de Texto
El primer paso es crear un archivo de texto simple que servirá como base para el cifrado. Desde una terminal, ejecutamos:
echo "hola mundo" > hola.txt
Esto generará un archivo llamado hola.txt
con el contenido «hola mundo».
Cifrado con DES
Para cifrar el archivo utilizando el algoritmo DES, usamos el siguiente comando:
openssl enc -des -in hola.txt -out hola_des.txt -k "clave123"
Aquí, -des
especifica el algoritmo de cifrado, -in hola.txt
indica el archivo de entrada, -out hola_des.txt
define el archivo de salida cifrado, y -k "clave123"
establece la clave de cifrado.
Verificación del Cifrado
Para comprobar que el archivo está cifrado, visualizamos su contenido:
cat hola_des.txt
Notaremos que el contenido no es legible.
Descifrado del Archivo
Para descifrar el archivo y recuperar el texto original:
openssl enc -des -d -in hola_des.txt -out hola_deco.txt -k "clave123"
Verificamos que el contenido sea el original:
cat hola_deco.txt
Cifrado con 3DES
Para cifrar el archivo usando el algoritmo 3DES, ejecutamos:
openssl enc -des-ede3 -in hola.txt -out hola_3des.txt -k "clave123"
Para verificar el cifrado:
cat hola_3des.txt
Descifrado del Archivo
Para recuperar el texto original:
openssl enc -des-ede3 -d -in hola_3des.txt -out hola_deco_3des.txt -k "clave123"
Verificación:
cat hola_deco_3des.txt
Cifrado con AES-128
AES es uno de los algoritmos más utilizados por su seguridad. Para cifrar con AES-128:
openssl enc -aes-128-cbc -in hola.txt -out hola_aes128.txt -k "clave123"
Para verificar el cifrado:
cat hola_aes128.txt
Descifrado del Archivo
Para recuperar el contenido original:
openssl enc -aes-128-cbc -d -in hola_aes128.txt -out hola_deco_aes128.txt -k "clave123"
Verificamos:
cat hola_deco_aes128.txt
Preguntas y Respuestas
1. ¿Cuál de estos famosos algoritmos de cifrado no se ha usado para el cifrado simétrico?
- Respuesta: RSA (porque es un algoritmo de cifrado asimétrico).
2. ¿Cuál de los algoritmos de cifrado utilizados no se recomienda por su poca resistencia al descifrado por fuerza bruta?
- Respuesta: DES (debido a su clave de 56 bits, que es fácilmente vulnerable a ataques de fuerza bruta).
3. ¿Se podría cifrar con un algoritmo y descifrar con otro distinto?
- Respuesta: No (cada algoritmo tiene su propia estructura de cifrado y descifrado, por lo que deben coincidir).
4. ¿Qué ocurriría si se descifrase el mensaje con una clave distinta de la de cifrado?
- Respuesta: El texto descifrado no sería el original (porque el proceso de descifrado generaría caracteres incorrectos o un error).
Conclusión
El uso de OpenSSL permite cifrar y descifrar información de manera sencilla utilizando distintos algoritmos de cifrado simétrico. Es fundamental elegir algoritmos seguros como AES para garantizar la integridad y confidencialidad de los datos. Además, es importante recordar que la clave de cifrado debe mantenerse en secreto para evitar accesos no autorizados.
