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, ein TypedArray oder ein DataView 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, ein TypedArray oder ein DataView. Dies enthält zusätzliche Daten, die nicht verschlüsselt, aber zusammen mit den verschlüsselten Daten authentifiziert werden. Wenn hier additionalData angegeben ist, müssen dieselben Daten im entsprechenden Aufruf von decrypt() angegeben werden: Wenn die Daten im decrypt()-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 als 2^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.

Siehe auch