Sto crittografando un file usando il modulo python-gnupg
come questo. In definitiva, voglio usare il cifrario AES256 per la crittografia:
status = gpg.encrypt_file(fin, recipients=['root@frarakee'], output='foo.bin.gpg')
Quando controllo il file sulla CLI, mi dice che è un messaggio PGP :
# file foo.bin.gpg
foo.bin.gpg: PGP message
Se crittografo il file utilizzando gpg
sulla CLI (Ubuntu 14.04), il comando file
mi dice che i suoi dati eppure gpg
mostra che sta 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
In particolare, lo stato python doc :
The default cipher_algo, if unspecified, is 'AES256'
Ma il comando file
sembra essere d'accordo con questo quando ho usato symmetric
encryption:
# gpg --cipher-algo AES256 -c /tmp/foo.bin
# file /tmp/foo.bin.gpg
foo.bin.gpg: GPG symmetrically encrypted data (AES256 cipher)
Non sono sicuro che si tratti di un bug nella magia file
, del modulo python-gpg
o solo della mia comprensione. Come posso sapere quale codice viene effettivamente utilizzato da gpg
o dal modulo python-gpg
? C'è un posto migliore per chiederlo?