aes.h¶
Headers for the implementation of the AES cipher-algorithm.
-
GETU32
( pt)¶ 1 2
(((u32)(pt)[0] << 24) ^ ((u32)(pt)[1] << 16) ^ \ ((u32)(pt)[2] << 8) ^ ((u32)(pt)[3]))
-
PUTU32
( ct, st)¶ 1 2 3 4
{ (ct)[0] = (u8)((st) >> 24); \ (ct)[1] = (u8)((st) >> 16); \ (ct)[2] = (u8)((st) >> 8); \ (ct)[3] = (u8)(st); }
-
AES_MAXNR
¶ 1
14
-
AES_BLOCK_SIZE
¶ 1
16
-
AES_KEY_SIZE
¶ 1
16
-
uint32_t
u32
¶
-
uint16_t
u16
¶
-
uint8_t
u8
¶
-
struct aes_key_st
AES_KEY
¶
-
int
aes_init
(cipher_context_t * context, const uint8_t * key, uint8_t keySize)¶ initializes the AES Cipher-algorithm with the passed parameters
Parameters
context: the cipher_context_t-struct to save the initialization of the cipher in keySize: the size of the key key: a pointer to the key Return values
- CIPHER_INIT_SUCCESS if the initialization was successful.
- CIPHER_ERR_BAD_CONTEXT_SIZE if CIPHER_MAX_CONTEXT_SIZE has not been defined (which means that the cipher has not been included in the build)
-
int
aes_encrypt
(const cipher_context_t * context, const uint8_t * plain_block, uint8_t * cipher_block)¶ encrypts one plainBlock-block and saves the result in cipherblock.
encrypts one blocksize long block of plaintext pointed to by plainBlock to one blocksize long block of ciphertext which will be written to the the memory-area pointed to by cipherBlock
Parameters
context: the cipher_context_t-struct to use for this encryption plain_block: a pointer to the plaintext-block (of size blocksize) cipher_block: a pointer to the place where the ciphertext will be stored Return values
- 1 on success
- A negative value if the cipher key cannot be expanded with the AES key schedule
-
int
aes_decrypt
(const cipher_context_t * context, const uint8_t * cipher_block, uint8_t * plain_block)¶ decrypts one cipher-block and saves the plain-block in plainBlock.
decrypts one blocksize long block of ciphertext pointed to by cipherBlock to one blocksize long block of plaintext and stores the plaintext in the memory-area pointed to by plainBlock
Parameters
context: the cipher_context_t-struct to use for this decryption cipher_block: a pointer to the ciphertext-block (of size blocksize) to be decrypted plain_block: a pointer to the place where the decrypted plaintext will be stored Return values
- 1 on success
- A negative value if the cipher key cannot be expanded with the AES key schedule
-
struct
aes_key_st
¶ AES key.
See also
cipher_context_t