Blame view

include/crypto/aes.h 1019 Bytes
89e126543   Sebastian Siewior   [CRYPTO] aes: Mov...
1
2
3
4
5
6
  /*
   * Common values for AES algorithms
   */
  
  #ifndef _CRYPTO_AES_H
  #define _CRYPTO_AES_H
96e82e455   Sebastian Siewior   [CRYPTO] aes-gene...
7
8
  #include <linux/types.h>
  #include <linux/crypto.h>
89e126543   Sebastian Siewior   [CRYPTO] aes: Mov...
9
10
11
12
13
14
  #define AES_MIN_KEY_SIZE	16
  #define AES_MAX_KEY_SIZE	32
  #define AES_KEYSIZE_128		16
  #define AES_KEYSIZE_192		24
  #define AES_KEYSIZE_256		32
  #define AES_BLOCK_SIZE		16
5427663f4   Sebastian Siewior   [CRYPTO] aes: Exp...
15
16
  #define AES_MAX_KEYLENGTH	(15 * 16)
  #define AES_MAX_KEYLENGTH_U32	(AES_MAX_KEYLENGTH / sizeof(u32))
89e126543   Sebastian Siewior   [CRYPTO] aes: Mov...
17

109568e11   Huang Ying   crypto: aes - Mov...
18
19
20
21
  /*
   * Please ensure that the first two fields are 16-byte aligned
   * relative to the start of the structure, i.e., don't move them!
   */
96e82e455   Sebastian Siewior   [CRYPTO] aes-gene...
22
  struct crypto_aes_ctx {
5427663f4   Sebastian Siewior   [CRYPTO] aes: Exp...
23
24
  	u32 key_enc[AES_MAX_KEYLENGTH_U32];
  	u32 key_dec[AES_MAX_KEYLENGTH_U32];
109568e11   Huang Ying   crypto: aes - Mov...
25
  	u32 key_length;
96e82e455   Sebastian Siewior   [CRYPTO] aes-gene...
26
  };
0ee4a9690   Herbert Xu   crypto: aes - Pre...
27
28
29
30
  extern const u32 crypto_ft_tab[4][256];
  extern const u32 crypto_fl_tab[4][256];
  extern const u32 crypto_it_tab[4][256];
  extern const u32 crypto_il_tab[4][256];
96e82e455   Sebastian Siewior   [CRYPTO] aes-gene...
31
32
33
  
  int crypto_aes_set_key(struct crypto_tfm *tfm, const u8 *in_key,
  		unsigned int key_len);
5427663f4   Sebastian Siewior   [CRYPTO] aes: Exp...
34
35
  int crypto_aes_expand_key(struct crypto_aes_ctx *ctx, const u8 *in_key,
  		unsigned int key_len);
89e126543   Sebastian Siewior   [CRYPTO] aes: Mov...
36
  #endif