¿Cómo cifrar información fácilmente?

Autor: Sergio Basurto J. | Creado: 17/Jan/2022 00:00
Cifrar información es fácil y seguro!

Mucha de la información que guardamos en nuestros dispositivos electrónicos hoy en día es sensible, a veces compartimos información a través de medios electrónicos o simplemente queremos guardar información privada, pero ¿cómo hacemos para que esa información permanezca segura?, en este artículo les voy a mostrar como cifrar información en pocos pasos utilizando OpenSSL.

¿Cómo funciona?

Para poder cifrar información requerimos de un par de llaves, una Llave Privada y una Llave Pública, utilizamos la llave pública para cifrar información que solo la llave privada puede descifrar, cómo se aprecia en el siguiente diagrama:

Llave pública y privada cifrando y descifrando información

Procedimiento para cifrar y descifrar

1. Generar las llaves, una pública y otra privada

Para generar un par de llaves ejecutamos el siguiente comando de OpenSSL:

openssl genpkey -algorithm RSA -out mi_llave_privada.pem -pkeyopt rsa_keygen_bits:2048

2. Extraer la llave pública

Para extraer la llave pública del archivo PEM que se generó con el comando anterior ejecutamos:

openssl rsa -pubout -in mi_llave_privada.pem -out mi_llave_publica.pem

3. Cifrar información

Para cifrar la información ejecutamos:

echo "texto que quiero cifrar" |openssl rsautl -encrypt -pubin -inkey mi_llave_publica.pem -ssl |base64
grep -rin xyz *

Consejo
En este caso le estoy pasando texto sin embargo con la opción -in de OpenSSL puedo pasar un archivo completo.

4. Descifrar información

Para descifrar la información, guardo la información cifrada en un archivo y ejecuto el siguiente comando:

base64 -d archivo_que_quiero_desencriptar |openssl rsautl -decrypt -inkey mi_llave_privada.pem

Listo ahora ya sabemos como cifrar y descifrar información, así que si dos personas comparten sus llaves públicas pueden compartir información cifrada.