AesGcmParams
Словарь AesGcmParams API Web Crypto API представляет собой объект, который должен быть передан в качестве параметра algorithm в SubtleCrypto.encrypt(), SubtleCrypto.decrypt(), SubtleCrypto.wrapKey() или SubtleCrypto.unwrapKey() при использовании алгоритма AES-GCM.
Подробную информацию о том, как предоставить соответствующие значения для этого параметра, см. в спецификации AES-GCM: NIST SP800-38D, в частности, раздел 5.2.1.1 «Входные данные».
Свойства экземпляра
name-
Строка. Она должна быть установлена в
AES-GCM. iv-
Объект
ArrayBuffer,TypedArrayилиDataViewс вектором инициализации. Он должен быть уникальным для каждой операции шифрования, выполняемой с заданным ключом. Другими словами: никогда не используйте один и тот же IV с одним и тем же ключом. Спецификация AES-GCM рекомендует, чтобы IV был длиной 96 бит и обычно содержал биты из генератора случайных чисел. Раздел 8.2 спецификации описывает способы построения IV. Обратите внимание, что IV не обязательно должен быть секретным, только уникальным: поэтому, например, его можно передавать в открытом виде вместе с зашифрованным сообщением. additionalDataНеобязательно-
Объект
ArrayBuffer,TypedArrayилиDataView. Он содержит дополнительные данные, которые не будут шифроваться, но будут аутентифицированы вместе с зашифрованными данными. ЕслиadditionalDataзадано здесь, то те же данные должны быть заданы в соответствующем вызовеdecrypt(): если данные, переданные в вызовdecrypt(), не совпадают с исходными данными, дешифрование выбросит исключение. Это дает возможность аутентифицировать связанные данные, не шифруя их.Длина в битах
additionalDataдолжна быть меньше2^64 - 1.Свойство
additionalDataявляется необязательным и может быть опущено без ущерба для безопасности операции шифрования. tagLengthНеобязательно-
Number. Он определяет размер в битах аутентификационного тега, сгенерированного в операции шифрования и используемого для аутентификации в соответствующей операции дешифрования.Согласно спецификации Web Crypto, он должен иметь одно из следующих значений: 32, 64, 96, 104, 112, 120 или 128. Спецификация AES-GCM рекомендует, чтобы он был равен 96, 104, 112, 120 или 128, хотя 32 или 64 бита могут быть приемлемыми в некоторых приложениях: Приложение C спецификации предоставляет дополнительные рекомендации.
tagLengthявляется необязательным и по умолчанию равен 128, если не указано другое значение.
Примеры
См. примеры для SubtleCrypto.encrypt() и SubtleCrypto.decrypt().
Спецификации
| Спецификация |
|---|
| Web Cryptography API # dfn-AesGcmParams |
Совместимость с браузерами
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/AesGcmParams