Cifrado RSA de clave pública/privada

La criptografía de clave pública simplificada (cont.)

C05348A3-9AB8-42C9-A6E0-81DB3AC59FEB
           

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.

Comentarios publicados: 0

Tagged with:
encryption