Estoy cifrando un archivo usando el módulo python-gnupg
como este. En última instancia, quiero usar el cifrado AES256 para el cifrado:
status = gpg.encrypt_file(fin, recipients=['root@frarakee'], output='foo.bin.gpg')
Cuando reviso el archivo en la CLI, me dice que es un mensaje PGP :
# file foo.bin.gpg
foo.bin.gpg: PGP message
Si cifro el archivo usando gpg
en la CLI (Ubuntu 14.04), el comando file
me dice que sus datos aún gpg
muestra que está usando AES256 :
# gpg --verbose -r root@frarakee --cipher-algo AES256 -e foo.bin
gpg: using PGP trust model
gpg: using subkey 1C32653F instead of primary key A7173E08
gpg: This key belongs to us
gpg: reading from 'foo.bin'
File 'foo.bin.gpg' exists. Overwrite? (y/N) y
gpg: writing to 'foo.bin.gpg'
gpg: RSA/AES256 encrypted for: "132653F root@frarakee <root@frarakee>"
# file foo.bin
foo.bin: data
Notablemente, los documentos de python indican:
El cipher_algo predeterminado, si no se especifica, es 'AES256'
Pero el comando file
solo parece estar de acuerdo con esto cuando usé symmetric
encriptación:
# gpg --cipher-algo AES256 -c /tmp/foo.bin
# file /tmp/foo.bin.gpg
foo.bin.gpg: GPG symmetrically encrypted data (AES256 cipher)
No estoy seguro de si se trata de un error en el file
magic, el módulo python-gpg
, o simplemente mi entendimiento. ¿Cómo puedo saber qué cifrado está utilizando realmente el módulo gpg
o el módulo python-gpg
? ¿Hay un mejor lugar para preguntar esto?