aes-x86

aes-x86

Functions

Types and Values

#define AES_KEY_ALIGN_SIZE
#define AES_MAXNR
  AES_KEY

Description

Functions

register_x86_crypto ()

void
register_x86_crypto (void);

ALIGN16()

#define             ALIGN16(x)

CHECK_AES_KEYSIZE()

#define             CHECK_AES_KEYSIZE(s)

aesni_ecb_encrypt ()

void
aesni_ecb_encrypt (const unsigned char *in,
                   unsigned char *out,
                   size_t len,
                   const AES_KEY *key,
                   int enc);

aesni_cbc_encrypt ()

void
aesni_cbc_encrypt (const unsigned char *in,
                   unsigned char *out,
                   size_t len,
                   const AES_KEY *key,
                   unsigned char *ivec,
                   const int enc);

aesni_set_decrypt_key ()

int
aesni_set_decrypt_key (const unsigned char *userKey,
                       const int bits,
                       AES_KEY *key);

aesni_set_encrypt_key ()

int
aesni_set_encrypt_key (const unsigned char *userKey,
                       const int bits,
                       AES_KEY *key);

aesni_ctr32_encrypt_blocks ()

void
aesni_ctr32_encrypt_blocks (const unsigned char *in,
                            unsigned char *out,
                            size_t blocks,
                            const void *key,
                            const unsigned char *ivec);

aesni_gcm_encrypt ()

size_t
aesni_gcm_encrypt (const void *inp,
                   void *out,
                   size_t len,
                   const AES_KEY *key,
                   const unsigned char iv[16],
                   uint64_t *Xi);

aesni_gcm_decrypt ()

size_t
aesni_gcm_decrypt (const void *inp,
                   void *out,
                   size_t len,
                   const AES_KEY *key,
                   const unsigned char iv[16],
                   uint64_t *Xi);

aesni_xts_encrypt ()

void
aesni_xts_encrypt (const unsigned char *in,
                   unsigned char *out,
                   size_t len,
                   const AES_KEY *key,
                   const AES_KEY *key2,
                   const unsigned char iv[16]);

aesni_xts_decrypt ()

void
aesni_xts_decrypt (const unsigned char *in,
                   unsigned char *out,
                   size_t len,
                   const AES_KEY *key,
                   const AES_KEY *key2,
                   const unsigned char iv[16]);

vpaes_set_encrypt_key ()

int
vpaes_set_encrypt_key (const unsigned char *userKey,
                       int bits,
                       AES_KEY *key);

vpaes_set_decrypt_key ()

int
vpaes_set_decrypt_key (const unsigned char *userKey,
                       int bits,
                       AES_KEY *key);

vpaes_cbc_encrypt ()

void
vpaes_cbc_encrypt (const unsigned char *in,
                   unsigned char *out,
                   size_t length,
                   const AES_KEY *key,
                   unsigned char *ivec,
                   int enc);

vpaes_encrypt ()

void
vpaes_encrypt (const unsigned char *in,
               unsigned char *out,
               const AES_KEY *key);

vpaes_decrypt ()

void
vpaes_decrypt (const unsigned char *in,
               unsigned char *out,
               const AES_KEY *key);

Types and Values

AES_KEY_ALIGN_SIZE

#define             AES_KEY_ALIGN_SIZE

AES_MAXNR

#define             AES_MAXNR

AES_KEY

typedef struct {
	/* We add few more integers to allow alignment

	 * on a 16-byte boundary.
	 */
	uint32_t rd_key[4 * (AES_MAXNR + 1) + AES_KEY_ALIGN_SIZE];
	uint32_t rounds;
} AES_KEY;