Changeset View
Changeset View
Standalone View
Standalone View
sys/opencrypto/cryptodev.h
Show First 20 Lines • Show All 123 Lines • ▼ Show 20 Lines | |||||
/* IV Lengths */ | /* IV Lengths */ | ||||
#define AES_GCM_IV_LEN 12 | #define AES_GCM_IV_LEN 12 | ||||
#define AES_CCM_IV_LEN 12 | #define AES_CCM_IV_LEN 12 | ||||
#define AES_XTS_IV_LEN 8 | #define AES_XTS_IV_LEN 8 | ||||
#define AES_XTS_ALPHA 0x87 /* GF(2^128) generator polynomial */ | #define AES_XTS_ALPHA 0x87 /* GF(2^128) generator polynomial */ | ||||
#define CHACHA20_POLY1305_IV_LEN 12 | #define CHACHA20_POLY1305_IV_LEN 12 | ||||
#define XCHACHA20_POLY1305_IV_LEN 24 | |||||
/* Min and Max Encryption Key Sizes */ | /* Min and Max Encryption Key Sizes */ | ||||
#define NULL_MIN_KEY 0 | #define NULL_MIN_KEY 0 | ||||
#define NULL_MAX_KEY 256 /* 2048 bits, max key */ | #define NULL_MAX_KEY 256 /* 2048 bits, max key */ | ||||
#define RIJNDAEL_MIN_KEY 16 | #define RIJNDAEL_MIN_KEY 16 | ||||
#define RIJNDAEL_MAX_KEY 32 | #define RIJNDAEL_MAX_KEY 32 | ||||
#define AES_MIN_KEY RIJNDAEL_MIN_KEY | #define AES_MIN_KEY RIJNDAEL_MIN_KEY | ||||
#define AES_MAX_KEY RIJNDAEL_MAX_KEY | #define AES_MAX_KEY RIJNDAEL_MAX_KEY | ||||
#define AES_XTS_MIN_KEY (2 * AES_MIN_KEY) | #define AES_XTS_MIN_KEY (2 * AES_MIN_KEY) | ||||
#define AES_XTS_MAX_KEY (2 * AES_MAX_KEY) | #define AES_XTS_MAX_KEY (2 * AES_MAX_KEY) | ||||
#define CAMELLIA_MIN_KEY 16 | #define CAMELLIA_MIN_KEY 16 | ||||
#define CAMELLIA_MAX_KEY 32 | #define CAMELLIA_MAX_KEY 32 | ||||
#define CHACHA20_POLY1305_KEY 32 | #define CHACHA20_POLY1305_KEY 32 | ||||
#define XCHACHA20_POLY1305_KEY 32 | |||||
/* Maximum hash algorithm result length */ | /* Maximum hash algorithm result length */ | ||||
#define AALG_MAX_RESULT_LEN 64 /* Keep this updated */ | #define AALG_MAX_RESULT_LEN 64 /* Keep this updated */ | ||||
#define CRYPTO_ALGORITHM_MIN 1 | #define CRYPTO_ALGORITHM_MIN 1 | ||||
#define CRYPTO_DES_CBC 1 | #define CRYPTO_DES_CBC 1 | ||||
#define CRYPTO_3DES_CBC 2 | #define CRYPTO_3DES_CBC 2 | ||||
#define CRYPTO_BLF_CBC 3 | #define CRYPTO_BLF_CBC 3 | ||||
Show All 33 Lines | |||||
#define CRYPTO_SHA2_224 34 | #define CRYPTO_SHA2_224 34 | ||||
#define CRYPTO_SHA2_256 35 | #define CRYPTO_SHA2_256 35 | ||||
#define CRYPTO_SHA2_384 36 | #define CRYPTO_SHA2_384 36 | ||||
#define CRYPTO_SHA2_512 37 | #define CRYPTO_SHA2_512 37 | ||||
#define CRYPTO_POLY1305 38 | #define CRYPTO_POLY1305 38 | ||||
#define CRYPTO_AES_CCM_CBC_MAC 39 /* auth side */ | #define CRYPTO_AES_CCM_CBC_MAC 39 /* auth side */ | ||||
#define CRYPTO_AES_CCM_16 40 /* cipher side */ | #define CRYPTO_AES_CCM_16 40 /* cipher side */ | ||||
#define CRYPTO_CHACHA20_POLY1305 41 /* combined AEAD cipher per RFC 8439 */ | #define CRYPTO_CHACHA20_POLY1305 41 /* combined AEAD cipher per RFC 8439 */ | ||||
#define CRYPTO_ALGORITHM_MAX 41 /* Keep updated - see below */ | #define CRYPTO_XCHACHA20_POLY1305 42 | ||||
#define CRYPTO_ALGORITHM_MAX 42 /* 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) | ||||
/* | /* | ||||
* Crypto driver/device flags. They can set in the crid | * Crypto driver/device flags. They can set in the crid | ||||
* parameter when creating a session or submitting a key | * parameter when creating a session or submitting a key | ||||
* op to affect the device/driver assigned. If neither | * op to affect the device/driver assigned. If neither | ||||
▲ Show 20 Lines • Show All 521 Lines • Show Last 20 Lines |