cryptodev.h (345c692d18c33c9b7706012c6ff214dc5128bbdc) cryptodev.h (a99bc4c3eb8c281a3a0616a037481a5666732745)
1/* $FreeBSD$ */
2/* $OpenBSD: cryptodev.h,v 1.31 2002/06/11 11:14:29 beck Exp $ */
3
4/*-
5 * The author of this code is Angelos D. Keromytis (angelos@cis.upenn.edu)
6 * Copyright (c) 2002-2006 Sam Leffler, Errno Consulting
7 *
8 * This code was written by Angelos D. Keromytis in Athens, Greece, in

--- 72 unchanged lines hidden (view full) ---

81#define SHA2_224_HASH_LEN 28
82#define SHA2_256_HASH_LEN 32
83#define SHA2_384_HASH_LEN 48
84#define SHA2_512_HASH_LEN 64
85#define MD5_KPDK_HASH_LEN 16
86#define SHA1_KPDK_HASH_LEN 20
87#define AES_GMAC_HASH_LEN 16
88#define POLY1305_HASH_LEN 16
1/* $FreeBSD$ */
2/* $OpenBSD: cryptodev.h,v 1.31 2002/06/11 11:14:29 beck Exp $ */
3
4/*-
5 * The author of this code is Angelos D. Keromytis (angelos@cis.upenn.edu)
6 * Copyright (c) 2002-2006 Sam Leffler, Errno Consulting
7 *
8 * This code was written by Angelos D. Keromytis in Athens, Greece, in

--- 72 unchanged lines hidden (view full) ---

81#define SHA2_224_HASH_LEN 28
82#define SHA2_256_HASH_LEN 32
83#define SHA2_384_HASH_LEN 48
84#define SHA2_512_HASH_LEN 64
85#define MD5_KPDK_HASH_LEN 16
86#define SHA1_KPDK_HASH_LEN 20
87#define AES_GMAC_HASH_LEN 16
88#define POLY1305_HASH_LEN 16
89#define AES_CBC_MAC_HASH_LEN 16
89/* Maximum hash algorithm result length */
90#define HASH_MAX_LEN SHA2_512_HASH_LEN /* Keep this updated */
91
92#define MD5_BLOCK_LEN 64
93#define SHA1_BLOCK_LEN 64
94#define RIPEMD160_BLOCK_LEN 64
95#define SHA2_224_BLOCK_LEN 64
96#define SHA2_256_BLOCK_LEN 64

--- 5 unchanged lines hidden (view full) ---

102/* Maximum HMAC block length */
103#define HMAC_MAX_BLOCK_LEN SHA2_512_BLOCK_LEN /* Keep this updated */
104#define HMAC_IPAD_VAL 0x36
105#define HMAC_OPAD_VAL 0x5C
106/* HMAC Key Length */
107#define AES_128_GMAC_KEY_LEN 16
108#define AES_192_GMAC_KEY_LEN 24
109#define AES_256_GMAC_KEY_LEN 32
90/* Maximum hash algorithm result length */
91#define HASH_MAX_LEN SHA2_512_HASH_LEN /* Keep this updated */
92
93#define MD5_BLOCK_LEN 64
94#define SHA1_BLOCK_LEN 64
95#define RIPEMD160_BLOCK_LEN 64
96#define SHA2_224_BLOCK_LEN 64
97#define SHA2_256_BLOCK_LEN 64

--- 5 unchanged lines hidden (view full) ---

103/* Maximum HMAC block length */
104#define HMAC_MAX_BLOCK_LEN SHA2_512_BLOCK_LEN /* Keep this updated */
105#define HMAC_IPAD_VAL 0x36
106#define HMAC_OPAD_VAL 0x5C
107/* HMAC Key Length */
108#define AES_128_GMAC_KEY_LEN 16
109#define AES_192_GMAC_KEY_LEN 24
110#define AES_256_GMAC_KEY_LEN 32
111#define AES_128_CBC_MAC_KEY_LEN 16
112#define AES_192_CBC_MAC_KEY_LEN 24
113#define AES_256_CBC_MAC_KEY_LEN 32
110
111#define POLY1305_KEY_LEN 32
112
113/* Encryption algorithm block sizes */
114#define NULL_BLOCK_LEN 4 /* IPsec to maintain alignment */
115#define DES_BLOCK_LEN 8
116#define DES3_BLOCK_LEN 8
117#define BLOWFISH_BLOCK_LEN 8

--- 76 unchanged lines hidden (view full) ---

194#define CRYPTO_CHACHA20 31 /* Chacha20 stream cipher */
195#define CRYPTO_SHA2_224_HMAC 32
196#define CRYPTO_RIPEMD160 33
197#define CRYPTO_SHA2_224 34
198#define CRYPTO_SHA2_256 35
199#define CRYPTO_SHA2_384 36
200#define CRYPTO_SHA2_512 37
201#define CRYPTO_POLY1305 38
114
115#define POLY1305_KEY_LEN 32
116
117/* Encryption algorithm block sizes */
118#define NULL_BLOCK_LEN 4 /* IPsec to maintain alignment */
119#define DES_BLOCK_LEN 8
120#define DES3_BLOCK_LEN 8
121#define BLOWFISH_BLOCK_LEN 8

--- 76 unchanged lines hidden (view full) ---

198#define CRYPTO_CHACHA20 31 /* Chacha20 stream cipher */
199#define CRYPTO_SHA2_224_HMAC 32
200#define CRYPTO_RIPEMD160 33
201#define CRYPTO_SHA2_224 34
202#define CRYPTO_SHA2_256 35
203#define CRYPTO_SHA2_384 36
204#define CRYPTO_SHA2_512 37
205#define CRYPTO_POLY1305 38
202#define CRYPTO_ALGORITHM_MAX 38 /* Keep updated - see below */
206#define CRYPTO_AES_CCM_CBC_MAC 39 /* auth side */
207#define CRYPTO_ALGORITHM_MAX 39 /* Keep updated - see below */
203
204#define CRYPTO_ALGO_VALID(x) ((x) >= CRYPTO_ALGORITHM_MIN && \
205 (x) <= CRYPTO_ALGORITHM_MAX)
206
207/* Algorithm flags */
208#define CRYPTO_ALG_FLAG_SUPPORTED 0x01 /* Algorithm is supported */
209#define CRYPTO_ALG_FLAG_RNG_ENABLE 0x02 /* Has HW RNG for DH/DSA */
210#define CRYPTO_ALG_FLAG_DSA_SHA 0x04 /* Can do SHA on msg */

--- 360 unchanged lines hidden ---
208
209#define CRYPTO_ALGO_VALID(x) ((x) >= CRYPTO_ALGORITHM_MIN && \
210 (x) <= CRYPTO_ALGORITHM_MAX)
211
212/* Algorithm flags */
213#define CRYPTO_ALG_FLAG_SUPPORTED 0x01 /* Algorithm is supported */
214#define CRYPTO_ALG_FLAG_RNG_ENABLE 0x02 /* Has HW RNG for DH/DSA */
215#define CRYPTO_ALG_FLAG_DSA_SHA 0x04 /* Can do SHA on msg */

--- 360 unchanged lines hidden ---