BeeCrypt  4.2.1
Data Structures | Functions | Variables
aes.h File Reference

AES block cipher, as specified by NIST FIPS 197. More...

#include "beecrypt/beecrypt.h"
#include "beecrypt/aesopt.h"
Include dependency graph for aes.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  aesParam
 Holds all the parameters necessary for the AES cipher. More...
 

Functions

int aesSetup (aesParam *ap, const byte *key, size_t keybits, cipherOperation op)
 This function performs the cipher's key expansion. More...
 
int aesSetIV (aesParam *ap, const byte *iv)
 This function sets the Initialization Vector. More...
 
int aesSetCTR (aesParam *ap, const byte *nivz, size_t counter)
 This function sets the CTR mode counter. More...
 
int aesEncrypt (aesParam *ap, uint32_t *dst, const uint32_t *src)
 This function performs the raw AES encryption; it encrypts one block of 128 bits. More...
 
int aesDecrypt (aesParam *ap, uint32_t *dst, const uint32_t *src)
 This function performs the raw AES decryption; it decrypts one block of 128 bits. More...
 
uint32_t * aesFeedback (aesParam *ap)
 

Variables

const blockCipher aes
 Holds the full API description of the AES algorithm. More...
 

Detailed Description

AES block cipher, as specified by NIST FIPS 197.

Author
Bob Deblier bob.d.nosp@m.ebli.nosp@m.er@te.nosp@m.lene.nosp@m.t.be

Function Documentation

aesDecrypt ( aesParam ap,
uint32_t *  dst,
const uint32_t *  src 
)

This function performs the raw AES decryption; it decrypts one block of 128 bits.

Parameters
apThe cipher's parameter block.
dstThe cleartext; should be aligned on 32-bit boundary.
srcThe ciphertext; should be aligned on 32-bit boundary.
Return values
0on success.
aesEncrypt ( aesParam ap,
uint32_t *  dst,
const uint32_t *  src 
)

This function performs the raw AES encryption; it encrypts one block of 128 bits.

Parameters
apThe cipher's parameter block.
dstThe ciphertext; should be aligned on 32-bit boundary.
srcThe cleartext; should be aligned on 32-bit boundary.
Return values
0on success.
uint32_t* aesFeedback ( aesParam ap)
int aesSetCTR ( aesParam ap,
const byte nivz,
size_t  counter 
)

This function sets the CTR mode counter.

Note
This function is only useful in CTR modes.
Parameters
apThe cipher's parameter block.
nivzThe concatenation of Nonce, IV, and padding Zeroes.
counterThe counter.
Return values
0on success.
int aesSetIV ( aesParam ap,
const byte iv 
)

This function sets the Initialization Vector.

Note
This function is only useful in block chaining or feedback modes.
Parameters
apThe cipher's parameter block.
ivThe initialization vector; may be null.
Return values
0on success.
int aesSetup ( aesParam ap,
const byte key,
size_t  keybits,
cipherOperation  op 
)

This function performs the cipher's key expansion.

Parameters
apThe cipher's parameter block.
keyThe key value.
keybitsThe number of bits in the key; legal values are: 128, 192 and 256.
opENCRYPT or DECRYPT.
Return values
0on success.
-1on failure.

Variable Documentation

aes

Holds the full API description of the AES algorithm.