AesGcmParams
Das AesGcmParams
Wörterbuch des Web Crypto API repräsentiert das Objekt, das als algorithm
-Parameter an SubtleCrypto.encrypt()
, SubtleCrypto.decrypt()
, SubtleCrypto.wrapKey()
oder SubtleCrypto.unwrapKey()
übergeben werden sollte, wenn der AES-GCM Algorithmus verwendet wird.
Für Details, wie man geeignete Werte für diesen Parameter liefert, 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 für jede Verschlüsselungsoperation mit einem gegebenen Schlüssel einzigartig sein. Anders ausgedrückt: Wiederverwenden Sie niemals einen IV mit dem gleichen Schlüssel. Die AES-GCM-Spezifikation empfiehlt, dass der IV 96 Bit lang sein sollte und typischerweise aus einem Zufallszahlengenerator stammt. Abschnitt 8.2 der Spezifikation beschreibt Methoden zur Konstruktion von IVs. Beachten Sie, dass der IV nicht geheim sein muss, nur einzigartig: Es ist also in Ordnung, ihn beispielsweise zusammen mit der verschlüsselten Nachricht im Klartext zu übertragen. additionalData
Optional-
Ein
ArrayBuffer
, einTypedArray
oder einDataView
. Dies enthält zusätzliche Daten, die nicht verschlüsselt werden, aber zusammen mit den verschlüsselten Daten authentifiziert werden sollen. Wenn hieradditionalData
angegeben wird, müssen dieselben Daten im entsprechenden Aufruf vondecrypt()
angegeben werden: Wenn die Daten, die beim Aufruf vondecrypt()
angegeben werden, nicht mit den Originaldaten übereinstimmen, wird die Entschlüsselung eine Ausnahme auslösen. Dies bietet Ihnen eine Möglichkeit, assoziierte 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 Authentifizierungs-Tags, das in der Verschlüsselungsoperation generiert wird und für die Authentifizierung in der entsprechenden Entschlüsselung verwendet wird.Die Web Crypto API Spezifikation erfordert, dass dies einen der folgenden Werte hat: 32, 64, 96, 104, 112, 120 oder 128. Andererseits empfiehlt die AES-GCM-Spezifikation, dass es 96, 104, 112, 120 oder 128 sein sollte, obwohl 32 oder 64 Bit in einigen Anwendungen akzeptabel sein können. Für zusätzliche Leitlinien siehe Anhang C der NIST-Publikation zu "Empfehlungen für Blockverschlüsselungsmodi".
tagLength
ist optional und standardmäßig 128, wenn es nicht spezifiziert 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.