PolarSSL v1.3.9
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
51int aesni_supports( unsigned int what );
52
63int aesni_crypt_ecb( aes_context *ctx,
64 int mode,
65 const unsigned char input[16],
66 unsigned char output[16] );
67
78void aesni_gcm_mult( unsigned char c[16],
79 const unsigned char a[16],
80 const unsigned char b[16] );
81
89void aesni_inverse_key( unsigned char *invkey,
90 const unsigned char *fwdkey, int nr );
91
101int 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 block cipher.
AES context structure.
Definition aes.h:69