Elia Battiston | 4750d3c | 2022-07-14 13:24:56 +0000 | [diff] [blame] | 1 | // Package etype provides the Kerberos Encryption Type interface |
| 2 | package etype |
| 3 | |
| 4 | import "hash" |
| 5 | |
| 6 | // EType is the interface defining the Encryption Type. |
| 7 | type EType interface { |
| 8 | GetETypeID() int32 |
| 9 | GetHashID() int32 |
| 10 | GetKeyByteSize() int |
| 11 | GetKeySeedBitLength() int |
| 12 | GetDefaultStringToKeyParams() string |
| 13 | StringToKey(string, salt, s2kparams string) ([]byte, error) |
| 14 | RandomToKey(b []byte) []byte |
| 15 | GetHMACBitLength() int |
| 16 | GetMessageBlockByteSize() int |
| 17 | EncryptData(key, data []byte) ([]byte, []byte, error) |
| 18 | EncryptMessage(key, message []byte, usage uint32) ([]byte, []byte, error) |
| 19 | DecryptData(key, data []byte) ([]byte, error) |
| 20 | DecryptMessage(key, ciphertext []byte, usage uint32) ([]byte, error) |
| 21 | GetCypherBlockBitLength() int |
| 22 | GetConfounderByteSize() int |
| 23 | DeriveKey(protocolKey, usage []byte) ([]byte, error) |
| 24 | DeriveRandom(protocolKey, usage []byte) ([]byte, error) |
| 25 | VerifyIntegrity(protocolKey, ct, pt []byte, usage uint32) bool |
| 26 | GetChecksumHash(protocolKey, data []byte, usage uint32) ([]byte, error) |
| 27 | VerifyChecksum(protocolKey, data, chksum []byte, usage uint32) bool |
| 28 | GetHashFunc() func() hash.Hash |
| 29 | } |