PolarSSL v1.3.8
aesni.h
Go to the documentation of this file.
1 
27 #ifndef POLARSSL_AESNI_H
28 #define POLARSSL_AESNI_H
29 
30 #include "aes.h"
31 
32 #define POLARSSL_AESNI_AES 0x02000000u
33 #define POLARSSL_AESNI_CLMUL 0x00000002u
34 
35 #if defined(POLARSSL_HAVE_ASM) && defined(__GNUC__) && \
36  ( defined(__amd64__) || defined(__x86_64__) ) && \
37  ! defined(POLARSSL_HAVE_X86_64)
38 #define POLARSSL_HAVE_X86_64
39 #endif
40 
41 #if defined(POLARSSL_HAVE_X86_64)
42 
51 int aesni_supports( unsigned int what );
52 
63 int aesni_crypt_ecb( aes_context *ctx,
64  int mode,
65  const unsigned char input[16],
66  unsigned char output[16] );
67 
78 void aesni_gcm_mult( unsigned char c[16],
79  const unsigned char a[16],
80  const unsigned char b[16] );
81 
89 void aesni_inverse_key( unsigned char *invkey,
90  const unsigned char *fwdkey, int nr );
91 
101 int aesni_setkey_enc( unsigned char *rk,
102  const unsigned char *key,
103  size_t bits );
104 
105 #endif /* POLARSSL_HAVE_X86_64 */
106 
107 #endif /* POLARSSL_AESNI_H */
AES context structure.
Definition: aes.h:68
AES block cipher.