docs.rodeo

MDN Web Docs mirror

AesCtrParams

{{ APIRef("Web Crypto API") }} 

The AesCtrParams dictionary of the Web Crypto API represents the object that should be passed as the algorithm parameter into {{domxref("SubtleCrypto.encrypt()")}} , {{domxref("SubtleCrypto.decrypt()")}} , {{domxref("SubtleCrypto.wrapKey()")}} , or {{domxref("SubtleCrypto.unwrapKey()")}} , when using the AES-CTR algorithm.

AES is a block cipher, meaning that it splits the message into blocks and encrypts it a block at a time. In CTR mode, every time a block of the message is encrypted, an extra block of data is mixed in. This extra block is called the “counter block”.

A given counter block value must never be used more than once with the same key:

Typically this is achieved by splitting the initial counter block value into two concatenated parts:

Essentially: the nonce should ensure that counter blocks are not reused from one message to the next, while the counter should ensure that counter blocks are not reused within a single message.

[!NOTE] See Appendix B of the NIST SP800-38A standard for more information.

Instance properties

Examples

See the examples for {{domxref("SubtleCrypto.encrypt()")}}  and {{domxref("SubtleCrypto.decrypt()")}} .

Specifications

{{Specifications}} 

Browser compatibility

Browsers that support the “AES-CTR” algorithm for the {{domxref("SubtleCrypto.encrypt()")}} , {{domxref("SubtleCrypto.decrypt()")}} , {{domxref("SubtleCrypto.wrapKey()")}} , or {{domxref("SubtleCrypto.unwrapKey()")}}  methods will support this type.

See also

In this article

View on MDN