func (e Aes128CtsHmacSha256128) DecryptMessage(key, ciphertext []byte, usage uint32) ([]byte, error) {
	return rfc8009.DecryptMessage(key, ciphertext, usage, e)
}
DecryptMessage decrypts the message provided and verifies the integrity of the message.
package crypto
import (
	"crypto/aes"
	"crypto/hmac"
	"crypto/sha256"
	"hash"
	"github.com/jcmturner/gokrb5/v8/crypto/common"
	"github.com/jcmturner/gokrb5/v8/crypto/rfc8009"
	"github.com/jcmturner/gokrb5/v8/iana/chksumtype"
	"github.com/jcmturner/gokrb5/v8/iana/etypeID"
)
type Aes128CtsHmacSha256128 struct {
}
func (e Aes128CtsHmacSha256128) GetETypeID() int32 {
	return etypeID.AES128_CTS_HMAC_SHA256_128
}
func (e Aes128CtsHmacSha256128) GetHashID() int32 {
	return chksumtype.HMAC_SHA256_128_AES128
}
func (e Aes128CtsHmacSha256128) GetKeyByteSize() int {
	return 128 / 8
}
func (e Aes128CtsHmacSha256128) GetKeySeedBitLength() int {
	return e.GetKeyByteSize() * 8
}
func (e Aes128CtsHmacSha256128) GetHashFunc() func() hash.Hash {
	return sha256.New
}
func (e Aes128CtsHmacSha256128) GetMessageBlockByteSize() int {
	return 1
}
func (e Aes128CtsHmacSha256128) GetDefaultStringToKeyParams() string {
	return "00008000"
}
func (e Aes128CtsHmacSha256128) GetConfounderByteSize() int {
	return aes.BlockSize
}
func (e Aes128CtsHmacSha256128) GetHMACBitLength() int {
	return 128
}
func (e Aes128CtsHmacSha256128) GetCypherBlockBitLength() int {
	return aes.BlockSize * 8
}
func (e Aes128CtsHmacSha256128) StringToKey(secret string, salt string, s2kparams string) ([]byte, error) {
	saltp := rfc8009.GetSaltP(salt, "aes128-cts-hmac-sha256-128")
	return rfc8009.StringToKey(secret, saltp, s2kparams, e)
}
func (e Aes128CtsHmacSha256128) RandomToKey(b []byte) []byte {
	return rfc8009.RandomToKey(b)
}
func (e Aes128CtsHmacSha256128) EncryptData(key, data []byte) ([]byte, []byte, error) {
	return rfc8009.EncryptData(key, data, e)
}
func (e Aes128CtsHmacSha256128) EncryptMessage(key, message []byte, usage uint32) ([]byte, []byte, error) {
	return rfc8009.EncryptMessage(key, message, usage, e)
}
func (e Aes128CtsHmacSha256128) DecryptData(key, data []byte) ([]byte, error) {
	return rfc8009.DecryptData(key, data, e)
}