//
// The PHP V3 implementation is missing the following features:
//
// - Support for "range" parameter on GetObject for partial downloads and decryption
//
// The PHP V3 implementation has an extra "feature".
// NOTE that using this feature will cause the message to be unable to be decrypted by other language implementations.

// - Support for AAD during content encryption
//

//= ../specification/s3-encryption/encryption.md#alg-aes-256-ctr-iv16-tag16-no-kdf
//= type=exception
//# Attempts to encrypt using AES-CTR MUST fail.

//= ../specification/s3-encryption/encryption.md#alg-aes-256-ctr-hkdf-sha512-commit-key
//= type=exception
//# Attempts to encrypt using key committing AES-CTR MUST fail.

//= ../specification/s3-encryption/encryption.md#alg-aes-256-gcm-iv12-tag16-no-kdf
//= type=exception
//# The client MUST NOT provide any AAD when encrypting with ALG_AES_256_GCM_IV12_TAG16_NO_KDF.

//= ../specification/s3-encryption/encryption.md#cipher-initialization
//= type=exception
//# The client SHOULD validate that the generated IV or Message ID is not zeros.
