Chiffrement AES

Chiffre ou déchiffre avec AES. Une empreinte à sens unique est le générateur de hash

Ce que cette page chiffre

AES est un chiffrement par blocs. Cette page le calcule dans le navigateur en ECB, CBC, CTR, OFB, CFB ou GCM, avec une clé de 16, 24 ou 32 octets. Une empreinte à sens unique est sur le générateur de hash.

Comment l'utiliser

  1. Colle l'entrée. Le mode commence à CBC, le remplissage à pkcs7padding et le jeu de caractères à UTF-8.
  2. Le format de la clé et de l'IV commence à Texte. L'entrée commence à Texte et la sortie à hex. ECB cache l'IV. GCM montre la longueur de l'étiquette et AAD, et force nopadding.
  3. Chiffrer chiffre. Déchiffrer déchiffre. Afficher un exemple remplit hello, CBC, pkcs7padding, UTF-8, clé 1234567890abcdef, IV 1234567890abcdef et le hex 7e6347a62a0a976373e79b1bd586363d.
  4. Échanger copie le résultat dans l'entrée et règle le format d'entrée sur le format qui vient d'être produit. Règle le format de sortie sur Texte, puis Déchiffrer. La même clé et le même IV redonnent hello.
  5. Tout effacer vide les champs et rétablit CBC, pkcs7padding, UTF-8, les formats texte et la sortie hex. Copier le résultat copie la sortie.

Clé, IV, remplissage et étiquette

Le texte devient des octets avec le jeu de caractères. hex et Base64 sont déjà des octets, donc le jeu ne s'applique pas. La clé doit alors faire 16, 24 ou 32 octets : AES-128, AES-192 ou AES-256. 1234567890abcdef en UTF-8 fait 16 octets.

CBC, CFB, OFB et CTR demandent un IV de 16 octets. ECB n'a pas d'IV. GCM accepte un IV non vide ; 12 octets est la longueur courante. pkcs5padding et pkcs7padding sont identiques ici : ils ajoutent de 1 à 16 octets pour un multiple de 16. nopadding ne change pas les octets, donc ECB et CBC exigent déjà ce multiple. GCM n'autorise que nopadding.

L'étiquette GCM est ajoutée à la fin du texte chiffré. La longueur initiale est 128 bits. AAD est vérifié et n'est pas chiffré. Déchiffrer refuse une entrée texte, et Chiffrer refuse une sortie texte. Une mauvaise clé, un mauvais IV, une mauvaise étiquette ou un mauvais remplissage échoue.

Où on s'en sert

  • Comparer un texte CBC avec un autre outil AES.
  • Lire un GCM dont l'étiquette est à la fin du hex.
  • Passer la clé du texte au hex ou au Base64.

Questions

Pourquoi pkcs5 et pkcs7 sont-ils identiques ici ?

Les blocs AES font 16 octets. Les deux remplissages complètent le dernier bloc avec le même octet de compte.

Le même texte donne-t-il toujours le même hex ?

Oui, si le mode, le remplissage, la clé et l'IV ne changent pas. Afficher un exemple donne 7e6347a62a0a976373e79b1bd586363d.