AesGcmParams
Das AesGcmParams
-Wörterbuch der Web Crypto API repräsentiert das Objekt, das als algorithm
-Parameter in SubtleCrypto.encrypt()
, SubtleCrypto.decrypt()
, SubtleCrypto.wrapKey()
oder SubtleCrypto.unwrapKey()
übergeben werden sollte, wenn der AES-GCM-Algorithmus verwendet wird.
Für Informationen zur Bereitstellung geeigneter Werte für diesen Parameter siehe die Spezifikation für AES-GCM: NIST SP800-38D, insbesondere Abschnitt 5.2.1.1 über Eingabedaten.
Instanz-Eigenschaften
name
-
Ein String. Dieser sollte auf
AES-GCM
gesetzt werden. iv
-
Ein
ArrayBuffer
, einTypedArray
oder einDataView
mit dem Initialisierungsvektor. Dieser muss einzigartig für jede Verschlüsselungsoperation mit einem bestimmten Schlüssel sein. Anders ausgedrückt: Verwenden Sie niemals eine IV mit demselben Schlüssel erneut. Die AES-GCM-Spezifikation empfiehlt, dass die IV 96 Bit lang sein sollte und typischerweise Bits aus einem Zufallszahlengenerator enthält. Abschnitt 8.2 der Spezifikation beschreibt Methoden zur Erstellung von IVs. Beachten Sie, dass die IV nicht vertraulich sein muss, nur einzigartig: daher ist es z.B. in Ordnung, sie im Klartext zusammen mit der verschlüsselten Nachricht zu übertragen. additionalData
Optional-
Ein
ArrayBuffer
, einTypedArray
oder einDataView
. Dies enthält zusätzliche Daten, die nicht verschlüsselt, aber zusammen mit den verschlüsselten Daten authentifiziert werden. Wenn hieradditionalData
angegeben ist, müssen dieselben Daten im entsprechenden Aufruf vondecrypt()
angegeben werden: Wenn die Daten imdecrypt()
-Aufruf nicht mit den ursprünglichen Daten übereinstimmen, wird die Entschlüsselung eine Ausnahme auslösen. Dies bietet Ihnen eine Möglichkeit, zugehörige Daten zu authentifizieren, ohne sie verschlüsseln zu müssen.Die Bitlänge von
additionalData
muss kleiner als2^64 - 1
sein.Die
additionalData
-Eigenschaft ist optional und kann weggelassen werden, ohne die Sicherheit der Verschlüsselungsoperation zu beeinträchtigen. tagLength
Optional-
Eine
Number
. Dies bestimmt die Größe in Bits des Authentifizierungstags, das bei der Verschlüsselungsoperation erzeugt wird und für die Authentifizierung in der entsprechenden Entschlüsselung verwendet wird.Die Web-Crypto-API-Spezifikation verlangt, dass dieser einen der folgenden Werte hat: 32, 64, 96, 104, 112, 120 oder 128. Andererseits empfiehlt die AES-GCM-Spezifikation, dass sie 96, 104, 112, 120 oder 128 betragen sollte, obwohl 32 oder 64 Bit in einigen Anwendungen akzeptabel sein können. Für zusätzliche Richtlinien siehe Anhang C der NIST-Publikation über "Empfehlungen für Blockchiffren-Betriebsmodi".
tagLength
ist optional und standardmäßig 128, wenn es nicht angegeben wird.
Beispiele
Siehe die Beispiele für SubtleCrypto.encrypt()
und SubtleCrypto.decrypt()
.
Spezifikationen
Specification |
---|
Web Cryptography Level 2 # dfn-AesGcmParams |
Browser-Kompatibilität
Browser, die den "AES-GCM"-Algorithmus für die Methoden SubtleCrypto.encrypt()
, SubtleCrypto.decrypt()
, SubtleCrypto.wrapKey()
oder SubtleCrypto.unwrapKey()
unterstützen, werden diesen Typ unterstützen.