web-dev-qa-db-fra.com

Quel est l'algorithme de chiffrement par défaut pour GnuPG?

Je sais que l'on peut forcer GnuPG à utiliser AES256 pour le chiffrement avec

gpg --cipher-algo AES256

ou avec un réglage spécial dans ~/.gnu/gpg.conf.

Mais, quel est l'algorithme de chiffrement par défaut pour GnuPG, si je rate ce commutateur?

24
delete

TL; DR: Pour GnuPG 1.0 et 2.0, la valeur par défaut est Cast5, pour GnuPG 2.1 c'est AES-128.

Préférences du destinataire

Par défaut, GnuPG lira les préférences d'algorithme du destinataire et prendra le premier algorithme de cette liste qu'il prend en charge (en d'autres termes, il prend l'algorithme pris en charge le plus préféré que le destinataire demande).

Algorithmes sûrs

Si aucune préférence n'est donnée (ou --symmetric est utilisé pour le chiffrement symétrique à l'aide d'une phrase secrète), il en choisit une "sûre". Des moyens sûrs, qui doivent être ou devraient être mis en œuvre. Celui-ci dépend de la version de GnuPG et du niveau de compatibilité choisi. Vous pouvez facilement vérifier cela en démarrant un chiffrement symétrique, en passant l'un des niveaux de compatibilité (ou aucun, ce qui implique --gnupg):

gpg --verbose --symmetric
gpg: using cipher CAST5

Conformité RFC stricte

D'un autre côté, si vous appliquez une stricte conformité OpenPGP après RFC 488 , il passe au triple DES:

gpg --rfc4880 --verbose --symmetric
gpg: using cipher 3DES

La même chose s'applique si vous appliquez RFC 244 en utilisant --rfc2440.

GnuPG 2.1 est par défaut AES-128

GnuPG 2.0 utilise également CAST5 avec la valeur par défaut --gnupg, alors que cette valeur par défaut était changé en AES-128 dans GnuPG 2.1 :

LANG=C gpg2 --verbose --symmetric
gpg: using cipher AES

(AES sans autre spécification signifie AES-128 dans GnuPG)

GnuPG 2.1 utilise les mêmes algorithmes pour les paramètres compatibles RFC.

Algorithmes de résumé

Pour les algorithmes de résumé, une inférence de préférence d'algorithme similaire est effectuée. Si --verbose est défini en option, l'algorithme utilisé est imprimé.

Une exception est le Modification Detection Code Packet , qui autorise uniquement SHA-1 sans choix d'algorithme tel que défini par la norme.

25
Jens Erat

Les valeurs par défaut doivent avoir changé. La valeur par défaut (début 2019) pour gnupg-1.4.23 est AES128. La valeur par défaut pour gnupg-2.1.18 est AES256. Les pages de manuel des deux versions indiquent que la valeur par défaut est AES128 mais c'est faux pour gnupg-2.1.18.

Pour répondre vous-même à votre version de gnupg, procédez comme suit:

echo hi > testfile
gpg -c -vv testfile
rm testfile testfile.gpg

Après avoir entré le mot de passe deux fois, il dira quelque chose comme:

gpg: using cipher AES
gpg: writing to `testfile.gpg'

ou:

gpg: using cipher AES256
gpg: writing to 'testfile.gpg'

AES signifie AES128.

1
raf