aes-encryption.com
Français

Changer de langue recharge l’espace de travail. Enregistrez le résultat et une copie de votre saisie avant de continuer.

EnglishEspañolPortuguês (Brasil)简体中文繁體中文Françaisहिन्दीবাংলা

AES · GCM / CBC / CTR

Padding AES : PKCS7 et erreurs CBC

Comprenez le remplissage CBC PKCS7, pourquoi GCM/CTR n'en ont pas besoin et pourquoi une erreur de remplissage n'est pas un résultat d'authentification.

Le remplissage appartient au traitement des messages d'un mode

AES a une taille de bloc de 16 octets. CBC nécessite des blocs complets et cet outil utilise PKCS7. GCM et CTR peuvent traiter des blocs finaux partiels sans PKCS7. N'ajoutez pas de paramètre de remplissage simplement parce que l'API d'une autre bibliothèque en affiche un ; il doit correspondre au mode et au protocole réels.

Le profil de mot de passe corrige GCM et n'a donc pas de sélecteur PKCS7. Raw CBC affiche PKCS7 comme convention explicite. Une cible utilisant un remplissage nul ou aucun remplissage n'est pas automatiquement compatible avec ce paramètre.

Un exemple PKCS7 au niveau de l'octet

Pour un message d'octets 13, PKCS7 ajoute trois octets avec la valeur 03, produisant un bloc d'16 octets. Si un message fait déjà exactement 16 octets, PKCS7 ajoute un bloc complet de seize 10 octets en hexadécimal. Ce bloc supplémentaire complet rend la suppression sans ambiguïté.

Dans l'outil brut CBC, la saisie de abc utilise trois octets UTF-8. Treize octets de remplissage 0d sont ajoutés avant le chiffrement ; les trois octets de texte en clair sont restaurés après une suppression valide de PKCS7. N'ajoutez pas manuellement ces octets dans l'éditeur : l'implémentation gère déjà le remplissage.

Ce qu'une erreur de remplissage peut vous dire

Une mauvaise clé, un mauvais IV, un mauvais mode, un texte chiffré modifié ou une convention de remplissage différente peuvent provoquer un échec. Une erreur de remplissage n'identifie pas quel paramètre est erroné. À l’inverse, des octets aléatoires de mauvaise clé peuvent parfois avoir un remplissage d’apparence valide, de sorte qu’une suppression réussie n’authentifie pas le texte en clair.

Pour GCM, l'échec est signalé comme une incompatibilité d'authentification et aucun texte en clair n'est publié. Ne remplacez pas un package GCM endommagé par CBC pour contourner cette protection. CTR n'a pas de vérification de remplissage et peut renvoyer des octets sans rien prouver sur l'intégrité.

Dépanner sans modifier le message

Confirmez que le texte chiffré est correctement décodé, que le CBC IV est de 16 octets et que la clé correspond à la taille sélectionnée. Conservez toutes les nouvelles lignes de fin requises dans le message d'origine. Si l'homologue utilise une autre convention de remplissage, utilisez l'implémentation documentée de ce système plutôt que de supprimer les zéros ou de deviner la quantité de texte brut à supprimer.

Outils et lectures associés

Références techniques

Mise à jour en octobre 16, 2026

Questions fréquemment posées

Pourquoi CBC génère-t-il un bloc supplémentaire pour un message d'octet 16 ?

PKCS7 ajoute un bloc de remplissage complet d'16 octets lorsque l'entrée est alignée sur les blocs. C'est attendu, pas de texte brut dupliqué.

Un remplissage CBC réussi peut-il prouver que ma clé est correcte ?

Non. Le remplissage est une vérification de formatage, pas une authentification de message. Utilisez un protocole authentifié approprié et un contexte fiable.