Cifrado RSA de clave pública/privada
La criptografía de clave pública simplificada (cont.)
Anteriormente escribí sobre Python Encryption , este es un artículo de seguimiento sobre características adicionales de esta herramienta.
Hacer que alguien le envíe un valor encriptado
Si desea que alguien le envíe detalles encriptados, puede pedirle que lo haga sin necesidad de que use la biblioteca rsa_crypto . Por ejemplo, puede pedir a las personas que utilicen el sitio web de la herramienta de generación de claves, descifrado y cifrado RSA en línea (gratis) . En "Cifrado RSA", pídales que peguen el contenido de su clave pública RSA en "Ingresar clave pública/privada" (no incluya "-----BEGIN PUBLIC KEY-----" y "--- --END PUBLIC KEY-----" líneas), que puede obtener usando:
cat /home/ubuntu/rsa_public.pem
En "Seleccionar tipo de cifrado", seleccione "RSA/ECB/OAEPWithSHA-1AndMGF1Padding". Escriba el valor que desea cifrar en "Ingresar texto sin formato para cifrar", haga clic en "Cifrar" y pídales que le envíen el contenido del campo "Salida cifrada (Base64):".
¡Es fácil!
Descifrar el valor cifrado
También puede descifrar el valor usando ese mismo sitio web... pero no sé quién lo ejecuta y nunca pegaría mi clave privada en ningún sitio web en el que no confíe plenamente. Personalmente, descifraría los valores en un sistema con la biblioteca rsa_crypto instalada (consulte Python Encryption para obtener detalles adicionales sobre cómo comenzar). Simplemente edite el archivo .rsa_values.conf y agregue el valor que se le envió en el archivo, por ejemplo, como una opción denominada database_password en la sección DEV :
nano /home/ubuntu/.rsa_values.conf
[DEV]
database_password = <paste_your_value_here>
Para descifrar el valor usando la clave de cifrado predeterminada, use:
rsa_crypto get -s DEV -o database_password
Using key: /home/ubuntu/rsa_private.pem
get section: DEV option:database_password
Reading from /home/ubuntu/.rsa_values.conf
<decrypted_value_here>
Bastante sencillo!
Cifrado y descifrado de archivos
La biblioteca rsa_crypto también se puede usar para cifrar y descifrar archivos completos mediante la opción "-f". Para encriptar un archivo llamado my_file , simplemente use:
rsa_crypto encrypt -f my_file
Using key: /home/ubuntu/rsa_public.pem
/home/ubuntu/my_file.enc
ls -alh
total 1.2G
...
rw-r--r-- 1 ubuntu ubuntu 6.0M Mar 11 03:50 my_file
-rw-rw-r-- 1 ubuntu ubuntu 6.0M Jun 22 11:51 my_file.enc
Tenga en cuenta que el archivo original aún está presente, el archivo cifrado tiene el mismo nombre pero con una extensión . extensión enc .
Para descifrar el archivo, puede usar:
rsa_crypto decrypt -f my_file.enc
Using key: /home/ubuntu/rsa_private.pem
/home/ubuntu/my_file
Tenga en cuenta que el archivo descifrado sobrescribirá el original si está presente sin ninguna advertencia, pruebe antes de usar esta opción.
Tagged with:
encryption