Changeset View
Changeset View
Standalone View
Standalone View
sys/opencrypto/cryptodev.h
Show First 20 Lines • Show All 74 Lines • ▼ Show 20 Lines | |||||
#define SHA1_HASH_LEN 20 | #define SHA1_HASH_LEN 20 | ||||
#define RIPEMD160_HASH_LEN 20 | #define RIPEMD160_HASH_LEN 20 | ||||
#define SHA2_256_HASH_LEN 32 | #define SHA2_256_HASH_LEN 32 | ||||
#define SHA2_384_HASH_LEN 48 | #define SHA2_384_HASH_LEN 48 | ||||
#define SHA2_512_HASH_LEN 64 | #define SHA2_512_HASH_LEN 64 | ||||
#define MD5_KPDK_HASH_LEN 16 | #define MD5_KPDK_HASH_LEN 16 | ||||
#define SHA1_KPDK_HASH_LEN 20 | #define SHA1_KPDK_HASH_LEN 20 | ||||
#define AES_GMAC_HASH_LEN 16 | #define AES_GMAC_HASH_LEN 16 | ||||
#define AES_CBC_MAC_HASH_LEN 16 | |||||
/* Maximum hash algorithm result length */ | /* Maximum hash algorithm result length */ | ||||
#define HASH_MAX_LEN SHA2_512_HASH_LEN /* Keep this updated */ | #define HASH_MAX_LEN SHA2_512_HASH_LEN /* Keep this updated */ | ||||
/* HMAC values */ | /* HMAC values */ | ||||
#define NULL_HMAC_BLOCK_LEN 64 | #define NULL_HMAC_BLOCK_LEN 64 | ||||
#define MD5_HMAC_BLOCK_LEN 64 | #define MD5_HMAC_BLOCK_LEN 64 | ||||
#define SHA1_HMAC_BLOCK_LEN 64 | #define SHA1_HMAC_BLOCK_LEN 64 | ||||
#define RIPEMD160_HMAC_BLOCK_LEN 64 | #define RIPEMD160_HMAC_BLOCK_LEN 64 | ||||
#define SHA2_256_HMAC_BLOCK_LEN 64 | #define SHA2_256_HMAC_BLOCK_LEN 64 | ||||
#define SHA2_384_HMAC_BLOCK_LEN 128 | #define SHA2_384_HMAC_BLOCK_LEN 128 | ||||
#define SHA2_512_HMAC_BLOCK_LEN 128 | #define SHA2_512_HMAC_BLOCK_LEN 128 | ||||
/* Maximum HMAC block length */ | /* Maximum HMAC block length */ | ||||
#define HMAC_MAX_BLOCK_LEN SHA2_512_HMAC_BLOCK_LEN /* Keep this updated */ | #define HMAC_MAX_BLOCK_LEN SHA2_512_HMAC_BLOCK_LEN /* Keep this updated */ | ||||
#define HMAC_IPAD_VAL 0x36 | #define HMAC_IPAD_VAL 0x36 | ||||
#define HMAC_OPAD_VAL 0x5C | #define HMAC_OPAD_VAL 0x5C | ||||
/* HMAC Key Length */ | /* HMAC Key Length */ | ||||
#define AES_128_GMAC_KEY_LEN 16 | #define AES_128_GMAC_KEY_LEN 16 | ||||
#define AES_192_GMAC_KEY_LEN 24 | #define AES_192_GMAC_KEY_LEN 24 | ||||
#define AES_256_GMAC_KEY_LEN 32 | #define AES_256_GMAC_KEY_LEN 32 | ||||
#define AES_128_CBC_MAC_KEY_LEN 16 | |||||
#define AES_192_CBC_MAC_KEY_LEN 24 | |||||
#define AES_256_CBC_MAC_KEY_LEN 32 | |||||
/* Encryption algorithm block sizes */ | /* Encryption algorithm block sizes */ | ||||
#define NULL_BLOCK_LEN 4 /* IPsec to maintain alignment */ | #define NULL_BLOCK_LEN 4 /* IPsec to maintain alignment */ | ||||
#define DES_BLOCK_LEN 8 | #define DES_BLOCK_LEN 8 | ||||
#define DES3_BLOCK_LEN 8 | #define DES3_BLOCK_LEN 8 | ||||
#define BLOWFISH_BLOCK_LEN 8 | #define BLOWFISH_BLOCK_LEN 8 | ||||
#define SKIPJACK_BLOCK_LEN 8 | #define SKIPJACK_BLOCK_LEN 8 | ||||
#define CAST128_BLOCK_LEN 8 | #define CAST128_BLOCK_LEN 8 | ||||
▲ Show 20 Lines • Show All 67 Lines • ▼ Show 20 Lines | |||||
#define CRYPTO_AES_NIST_GMAC 24 /* cipher side */ | #define CRYPTO_AES_NIST_GMAC 24 /* cipher side */ | ||||
#define CRYPTO_AES_NIST_GCM_16 25 /* 16 byte ICV */ | #define CRYPTO_AES_NIST_GCM_16 25 /* 16 byte ICV */ | ||||
#define CRYPTO_AES_128_NIST_GMAC 26 /* auth side */ | #define CRYPTO_AES_128_NIST_GMAC 26 /* auth side */ | ||||
#define CRYPTO_AES_192_NIST_GMAC 27 /* auth side */ | #define CRYPTO_AES_192_NIST_GMAC 27 /* auth side */ | ||||
#define CRYPTO_AES_256_NIST_GMAC 28 /* auth side */ | #define CRYPTO_AES_256_NIST_GMAC 28 /* auth side */ | ||||
#define CRYPTO_BLAKE2B 29 /* Blake2b hash */ | #define CRYPTO_BLAKE2B 29 /* Blake2b hash */ | ||||
#define CRYPTO_BLAKE2S 30 /* Blake2s hash */ | #define CRYPTO_BLAKE2S 30 /* Blake2s hash */ | ||||
#define CRYPTO_CHACHA20 31 /* Chacha20 stream cipher */ | #define CRYPTO_CHACHA20 31 /* Chacha20 stream cipher */ | ||||
#define CRYPTO_ALGORITHM_MAX 31 /* Keep updated - see below */ | #define CRYPTO_AES_CCM_16 32 /* cipher side */ | ||||
#define CRYPTO_AES_128_CCM_CBC_MAC 33 /* auth side */ | |||||
#define CRYPTO_AES_192_CCM_CBC_MAC 34 /* auth side */ | |||||
#define CRYPTO_AES_256_CCM_CBC_MAC 35 /* auth side */ | |||||
#define CRYPTO_ALGORITHM_MAX 35 /* Keep updated - see below */ | |||||
#define CRYPTO_ALGO_VALID(x) ((x) >= CRYPTO_ALGORITHM_MIN && \ | #define CRYPTO_ALGO_VALID(x) ((x) >= CRYPTO_ALGORITHM_MIN && \ | ||||
(x) <= CRYPTO_ALGORITHM_MAX) | (x) <= CRYPTO_ALGORITHM_MAX) | ||||
/* Algorithm flags */ | /* Algorithm flags */ | ||||
#define CRYPTO_ALG_FLAG_SUPPORTED 0x01 /* Algorithm is supported */ | #define CRYPTO_ALG_FLAG_SUPPORTED 0x01 /* Algorithm is supported */ | ||||
#define CRYPTO_ALG_FLAG_RNG_ENABLE 0x02 /* Has HW RNG for DH/DSA */ | #define CRYPTO_ALG_FLAG_RNG_ENABLE 0x02 /* Has HW RNG for DH/DSA */ | ||||
#define CRYPTO_ALG_FLAG_DSA_SHA 0x04 /* Can do SHA on msg */ | #define CRYPTO_ALG_FLAG_DSA_SHA 0x04 /* Can do SHA on msg */ | ||||
▲ Show 20 Lines • Show All 359 Lines • Show Last 20 Lines |