| // Package etype provides the Kerberos Encryption Type interface |
| package etype |
| |
| import "hash" |
| |
| // EType is the interface defining the Encryption Type. |
| type EType interface { |
| GetETypeID() int32 |
| GetHashID() int32 |
| GetKeyByteSize() int |
| GetKeySeedBitLength() int |
| GetDefaultStringToKeyParams() string |
| StringToKey(string, salt, s2kparams string) ([]byte, error) |
| RandomToKey(b []byte) []byte |
| GetHMACBitLength() int |
| GetMessageBlockByteSize() int |
| EncryptData(key, data []byte) ([]byte, []byte, error) |
| EncryptMessage(key, message []byte, usage uint32) ([]byte, []byte, error) |
| DecryptData(key, data []byte) ([]byte, error) |
| DecryptMessage(key, ciphertext []byte, usage uint32) ([]byte, error) |
| GetCypherBlockBitLength() int |
| GetConfounderByteSize() int |
| DeriveKey(protocolKey, usage []byte) ([]byte, error) |
| DeriveRandom(protocolKey, usage []byte) ([]byte, error) |
| VerifyIntegrity(protocolKey, ct, pt []byte, usage uint32) bool |
| GetChecksumHash(protocolKey, data []byte, usage uint32) ([]byte, error) |
| VerifyChecksum(protocolKey, data, chksum []byte, usage uint32) bool |
| GetHashFunc() func() hash.Hash |
| } |