Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

AesGcmParams

Le dictionnaire AesGcmParams de l'API Web Crypto représente l'objet qui doit être passé en tant que paramètre algorithm dans SubtleCrypto.encrypt(), SubtleCrypto.decrypt(), SubtleCrypto.wrapKey() ou SubtleCrypto.unwrapKey(), lors de l'utilisation de l'algorithme AES-GCM.

Pour des détails sur la manière de fournir des valeurs appropriées pour ce paramètre, consultez la spécification pour AES-GCM : NIST SP800-38D (angl.), en particulier la section 5.2.1.1 sur les données d'entrée.

Propriétés d'instance

name

Une chaîne de caractères. Cela doit être défini sur AES-GCM.

iv

Un objet ArrayBuffer, un objet TypedArray ou un objet DataView avec le vecteur d'initialisation (IV). Celui-ci doit être unique pour chaque opération de chiffrement effectuée avec une clé donnée. En d'autres termes : ne réutilisez jamais un vecteur d'initialisation avec la même clé. La spécification AES-GCM recommande que le vecteur d'initialisation soit long de 96 bits et qu'il contienne généralement des bits issus d'un générateur de nombres aléatoires. La section 8.2 de la spécification (angl.) présente les méthodes permettant de générer des IV. Il convient de noter que l'IV n'a pas besoin d'être secret, mais simplement unique : il est donc tout à fait possible, par exemple, de le transmettre en clair en même temps que le message chiffré.

additionalData Facultatif

Un objet ArrayBuffer, un objet TypedArray ou un objet DataView. Il contient des données supplémentaires qui ne sont pas chiffrées, mais qui sont authentifiées en même temps que les données chiffrées. Si additionalData est fourni ici, les mêmes données doivent être fournies dans l'appel correspondant à decrypt() : si les données fournies à l'appel decrypt() ne correspondent pas aux données d'origine, le déchiffrement lève une exception. Cela vous permet d'authentifier des données associées sans avoir à les chiffrer.

La longueur en bits de additionalData doit être inférieure à 2^64 - 1.

La propriété additionalData est optionnelle et peut être omise sans compromettre la sécurité de l'opération de chiffrement.

tagLength Facultatif

Un objet Number. Ce paramètre détermine la taille, en bits, de la balise d'authentification générée lors de l'opération de chiffrement et utilisée pour l'authentification lors du déchiffrement correspondant.

La spécification de l'API Web Crypto (angl.) exige que cette valeur soit l'une des suivantes : 32, 64, 96, 104, 112, 120 ou 128. En revanche, la spécification AES-GCM recommande qu'il soit de 96, 104, 112, 120 ou 128, bien que 32 ou 64 bits puissent être acceptables dans certaines applications. Pour plus d'informations, voir l'annexe C (angl.) de la publication du NIST intitulée « Recommandations concernant les modes de fonctionnement des chiffrements par blocs ».

tagLength est facultatif et prend la valeur par défaut de 128 s'il n'est pas défini.

Exemples

Voir les exemples pour SubtleCrypto.encrypt() et SubtleCrypto.decrypt().

Spécifications

Spécification
Web Cryptography Level 2
# dfn-AesGcmParams

Compatibilité des navigateurs

Les navigateurs qui prennent en charge l'algorithme « AES-GCM » pour les méthodes SubtleCrypto.encrypt(), SubtleCrypto.decrypt(), SubtleCrypto.wrapKey() ou SubtleCrypto.unwrapKey() prennent en charge ce type.

Voir aussi