Si vous utilisez une version stable de gpg, avec --cipher-algo AES256
alors il devrait crypter en utilisant AES256 correctement (SHA256 est un hash).
Il choisit automatiquement ses propres cycles de transformation de sel et de clé, ce qui vous évite de devoir (et de pouvoir) choisir vous-même des options potentiellement faibles. OpenSSL a beaucoup d'options, mais les valeurs par défaut (spécialement avec son module enc
) n'est peut-être pas le plus fort. Votre question fait référence à mon autre réponse concernant OpenSSL vs GPG - En gros, gpg fonctionne, il a été testé pendant des décennies, il peut faire échec aux grands gouvernements et à OpenSSL. enc
n'a toujours pas d'option pour le nombre d'itérations (la page de manuel 1.1.0f de 2017-11-02 mentionne toujours ce bogue).
Ajouter quelques (multiples) -v
pour voir plus de détails comme le sel (772B0F3B94AD86BA ci-dessous) :
$ gpg -vvvvvvvvv test.gpg
gpg: using character set 'utf-8'
gpg: WARNING: no command supplied. Trying to guess what you mean ...
# off=0 ctb=8c tag=3 hlen=2 plen=13
:symkey enc packet: version 4, cipher 9, s2k 3, hash 2
salt 772B0F3B94AD86BA, count 9961472 (211)
gpg: AES256 encrypted data
# off=15 ctb=d2 tag=18 hlen=2 plen=0 partial new-ctb
:encrypted data packet:
length: unknown
mdc_method: 2
gpg: encrypted with 1 passphrase
# off=36 ctb=a3 tag=8 hlen=1 plen=0 indeterminate
:compressed packet: algo=1
# off=38 ctb=ad tag=11 hlen=3 plen=25420
:literal data packet:
mode b (62), created 1519523431, name="test",
raw data: 25405 bytes
gpg: original file name='test'
gpg: decryption okay
Si vous omettez --symmetric
alors gpg essaiera de deviner ce que vous voulez dire, si le fichier n'est pas crypté par gpg, il abandonnera/échouera :
$ gpg -vvvvvvvvv --cipher-algo AES256 test
gpg: using character set 'utf-8'
gpg: WARNING: no command supplied. Trying to guess what you mean ...
gpg: no valid OpenPGP data found.
gpg: processing message failed: Unknown system error
En omettant le --cipher-algo
devrait utiliser "Le chiffrement symétrique par défaut utilisé est AES-128" (comme l'option man gpg
mais les valeurs par défaut peuvent varier d'une version à l'autre ou, je crois, être remplacées par vos paramètres personnels. Pour votre information, les algorithmes disponibles peuvent être listés avec l'option --version
option, comme :
Supported algorithms:
Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2
Vous n'avez pas non plus vraiment besoin du --output
à moins que vous ne l'appréciiez, gpg ajoutera et supprimera une option .gpg
extension si nécessaire.
- Pour info, voici un lien vers RFC2440 la description des éléments de données utilisés par OpenPGP (au moins en 1999, mais je suis sûr que tout cela est encore pertinent, en particulier les descriptions de choses comme String-to-key (s2k), itérations et sel)