Kenji Arai / mbed-os_TYBLE16

Dependents:   TYBLE16_simple_data_logger TYBLE16_MP3_Air

Embed: (wiki syntax)

« Back to documentation index

aesni.h File Reference

aesni.h File Reference

AES-NI for hardware AES acceleration on some Intel processors. More...

Go to the source code of this file.

Functions

int mbedtls_aesni_has_support (unsigned int what)
 Internal function to detect the AES-NI feature in CPUs.
int mbedtls_aesni_crypt_ecb (mbedtls_aes_context *ctx, int mode, const unsigned char input[16], unsigned char output[16])
 Internal AES-NI AES-ECB block encryption and decryption.
void mbedtls_aesni_gcm_mult (unsigned char c[16], const unsigned char a[16], const unsigned char b[16])
 Internal GCM multiplication: c = a * b in GF(2^128)
void mbedtls_aesni_inverse_key (unsigned char *invkey, const unsigned char *fwdkey, int nr)
 Internal round key inversion.
int mbedtls_aesni_setkey_enc (unsigned char *rk, const unsigned char *key, size_t bits)
 Internal key expansion for encryption.

Detailed Description

AES-NI for hardware AES acceleration on some Intel processors.

Warning:
These functions are only for internal use by other library functions; you must not call them directly.

Definition in file aesni.h.


Function Documentation

int mbedtls_aesni_crypt_ecb ( mbedtls_aes_context ctx,
int  mode,
const unsigned char  input[16],
unsigned char  output[16] 
)

Internal AES-NI AES-ECB block encryption and decryption.

Note:
This function is only for internal use by other library functions; you must not call it directly.
Parameters:
ctxAES context
modeMBEDTLS_AES_ENCRYPT or MBEDTLS_AES_DECRYPT
input16-byte input block
output16-byte output block
Returns:
0 on success (cannot fail)

Definition at line 101 of file aesni.c.

void mbedtls_aesni_gcm_mult ( unsigned char  c[16],
const unsigned char  a[16],
const unsigned char  b[16] 
)

Internal GCM multiplication: c = a * b in GF(2^128)

Note:
This function is only for internal use by other library functions; you must not call it directly.
Parameters:
cResult
aFirst operand
bSecond operand
Note:
Both operands and result are bit strings interpreted as elements of GF(2^128) as per the GCM spec.

Definition at line 147 of file aesni.c.

int mbedtls_aesni_has_support ( unsigned int  what )

Internal function to detect the AES-NI feature in CPUs.

Note:
This function is only for internal use by other library functions; you must not call it directly.
Parameters:
whatThe feature to detect (MBEDTLS_AESNI_AES or MBEDTLS_AESNI_CLMUL)
Returns:
1 if CPU has support for the feature, 0 otherwise

Definition at line 54 of file aesni.c.

void mbedtls_aesni_inverse_key ( unsigned char *  invkey,
const unsigned char *  fwdkey,
int  nr 
)

Internal round key inversion.

This function computes decryption round keys from the encryption round keys.

Note:
This function is only for internal use by other library functions; you must not call it directly.
Parameters:
invkeyRound keys for the equivalent inverse cipher
fwdkeyOriginal round keys (for encryption)
nrNumber of rounds (that is, number of round keys minus one)

Definition at line 258 of file aesni.c.

int mbedtls_aesni_setkey_enc ( unsigned char *  rk,
const unsigned char *  key,
size_t  bits 
)

Internal key expansion for encryption.

Note:
This function is only for internal use by other library functions; you must not call it directly.
Parameters:
rkDestination buffer where the round keys are written
keyEncryption key
bitsKey size in bits (must be 128, 192 or 256)
Returns:
0 if successful, or MBEDTLS_ERR_AES_INVALID_KEY_LENGTH

Definition at line 453 of file aesni.c.