Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
ウェブ暗号化 API の AesCtrParams 辞書は、AES-CTR アルゴリズムを用いる際、SubtleCrypto.encrypt()・SubtleCrypto.decrypt()・SubtleCrypto.wrapKey()・SubtleCrypto.unwrapKey() の引数 algorithm に渡すオブジェクトを表します。
AES はブロック暗号なので、メッセージをブロックに分割し、ブロック単位で暗号化を行います。CTR モードでは、メッセージのブロックを暗号化するたびに、追加のブロックを混ぜます。この追加のブロックは「カウンターブロック」と呼ばれます。
あるカウンターブロックの値は、同じ鍵では決して複数回用いてはいけません。
通常、これを実現するため、カウンターブロックの初期値を 2 個の連続した部分に分けます。
要は、nonce により異なるメッセージで同じカウンターブロックが再使用されることを防ぎ、カウンターにより同じメッセージ内で同じカウンターブロックが再使用されることを防ぎます。
メモ: 詳しくは、NIST SP800-38A standard の Appendix B を参照してください。
文字列です。AES-CTR に設定してください。
counterAn ArrayBuffer・TypedArray・DataView のいずれかで、カウンターブロックの初期値を表します。16 バイト (AES のブロックサイズ) でなければいけません。このブロックの右から length ビットがカウンターとして用いられ、残りが nonce として用いられます。たとえば、length を 64 に設定した場合は、counter の前半が nonce となり、後半がカウンターとして用いられます。
lengthNumber で、カウンターブロックのうち実際にカウンターとして用いるビット数を表します。カウンターは、ラップアラウンドが起きないよう、十分長い必要があります。すなわち、メッセージが n ブロックで、カウンターが m ビットのとき、n <= 2^m が成り立つ必要があります。CTR を定義している NIST SP800-38A 標準では、カウンターブロックの半分をカウンターとして用いることを推奨しています。(Appendix B.2 を参照してください) これは AES では 64 ビットになります。
SubtleCrypto.encrypt() および SubtleCrypto.decrypt() の例を参照してください。
| Web Cryptography Level 2 # dfn-AesCtrParams |
SubtleCrypto.encrypt()・SubtleCrypto.decrypt()・SubtleCrypto.wrapKey()・SubtleCrypto.unwrapKey() メソッドで "AES-CTR" アルゴリズムに対応しているブラウザーは、この型に対応しているはずです。
This page was last modified on 2026年5月18日 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.