Microsoft.Data.SqlClient.SqlAeadAes256CbcHmac256Algorithm
This class implements authenticated encryption algorithm with associated data as described in
http://tools.ietf.org/html/draft-mcgrew-aead-aes-cbc-hmac-sha2-05. More specifically this implements
AEAD_AES_256_CBC_HMAC_SHA256 algorithm.
Decryption steps
1. Validate version byte
2. (optional) Validate Authentication tag
3. Decrypt the message
Encryption Algorithm
cell_iv = HMAC_SHA-2-256(iv_key, cell_data) truncated to 128 bits
cell_ciphertext = AES-CBC-256(enc_key, cell_iv, cell_data) with PKCS7 padding.
(optional) cell_tag = HMAC_SHA-2-256(mac_key, versionbyte + cell_iv + cell_ciphertext + versionbyte_length)
cell_blob = versionbyte + [cell_tag] + cell_iv + cell_ciphertext