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 objetTypedArrayou un objetDataViewavec 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é. additionalDataFacultatif-
Un objet
ArrayBuffer, un objetTypedArrayou un objetDataView. 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. SiadditionalDataest fourni ici, les mêmes données doivent être fournies dans l'appel correspondant àdecrypt(): si les données fournies à l'appeldecrypt()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
additionalDatadoit être inférieure à2^64 - 1.La propriété
additionalDataest optionnelle et peut être omise sans compromettre la sécurité de l'opération de chiffrement. tagLengthFacultatif-
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 ».
tagLengthest 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
- La méthode
SubtleCrypto.encrypt() - La méthode
SubtleCrypto.decrypt() - La méthode
SubtleCrypto.wrapKey() - La méthode
SubtleCrypto.unwrapKey()