¿Cómo implementar el cifrado autenticado utilizando pycrypto o una biblioteca de python?

2

Estoy usando pycrypto para cifrar archivos que se almacenarán en la nube. Espero que el usuario ingrese una contraseña para descifrar archivos, pero el cifrado no debería requerir una contraseña (para permitir que el script sea ejecutado por cron). Por lo tanto, he estado buscando encriptación de clave pública usando RSA bajo el cifrado PKCS1_OAEP.

Puedo ver cómo cifrar un archivo usando pycrypto, pero ¿hay un método preexistente para realizar el cifrado autenticado, o se espera que lo implemente yo mismo? Hay un parámetro para pasar un algoritmo de hash a Crypto.Cipher.PKCS1_OAEP.new (), pero ¿se usará para firmar datos cifrados?

De manera similar a verificar antes del descifrado, ¿está todo esto integrado en el método decrypt ()?

Nota: no tengo ningún archivo adjunto particular a pycrypto - si otra biblioteca de criptografía de python proporciona un esquema de cifrado autenticado, sugiértalo en su lugar.

Gracias

    
pregunta Andrew 23.01.2013 - 12:07
fuente

1 respuesta

0

PGP ( python-gnupg ) realmente suena como la forma en que quieres ir.

La clave pública criptográfica está desordenada porque el cifrado asimétrico real solo se usa para cifrar una clave de sesión única, que luego se usa con criptografía simétrica (por ejemplo, AES) para cifrar sus archivos. Manejar todo eso manualmente sería un dolor de cabeza. Pero PGP ya tiene todos los detalles resueltos, solo tiene que llamar a las funciones apropiadas.

Además, tiene herramientas CLI (gpg) creadas previamente que le permiten trabajar con mensajes fuera de su aplicación.

    
respondido por el tylerl 24.01.2013 - 01:52
fuente

Lea otras preguntas en las etiquetas