web-dev-qa-db-fra.com

Quelle est la durée (en lettres) des clés de chiffrement pour AES?

Quelle est la longueur de la clé de chiffrement/déchiffrement pour un algorithme asymétrique, tel que AES? Si j'utilise AES 128 bits, combien de caractères dois-je saisir pour ma clé? Qu'en est-il de l'AES 256 bits?

Edit: Voici pourquoi je demande: j'essaie d'utiliser OpenSSL pour crypter certaines données en utilisant Node.js, PHP et la ligne de commande. Je dois donner la clé. Quand j'ai essayé 32 lettres pour AES128, il a renvoyé une erreur de longueur de clé. Lorsque j'ai essayé 32 pour AES256, il a renvoyé une erreur de clé générale. Je ne sais pas comment je suis censé entrer la clé de cryptage ...

17
Xeos

Une clé AES 128 bits peut être exprimée sous la forme d'une chaîne hexadécimale de 32 caractères. Il faudra 24 caractères en base64.

Une clé AES 256 bits peut être exprimée sous la forme d'une chaîne hexadécimale de 64 caractères. Il faudra 44 caractères en base64.

29
John Wu

Les clés de chiffrement pour AES ne sont pas exprimées en caractères ou lettres. Les clés de chiffrement sont une série de 128 (ou 256) bits.

Si vous utilisez une sorte d'interface pour entrer un mot de passe textuel, en interne, il transforme votre mot de passe tapé en bits. Il peut utiliser une routine complexe comme PBKDF2, ou une seule itération de SHA-1.

Dans ce cas, vous devez comprendre l'imprévisibilité d'une personne devinant votre mot de passe, au lieu de penser à un nombre minimum de caractères. Beaucoup a été écrit sur le sujet. Je vous suggère de google pour "base de batterie de cheval correcte" pour une excellente introduction sur le sujet.

4
John Deters

Pour une clé de 128 bits:

8 bits par caractère brut (base 256, c'est-à-dire où un caractère peut prendre n'importe quelle valeur d'octet)
6 bits par caractère codés en base 64

2
tylerl