#include <assert.h>
#include <aversive.h>
#include "aes_locl.h"
#include "aes.h"
#include <aversive/pgmspace.h>
Go to the source code of this file.
Defines | |
#define | USE_PGMMEM |
#define | ROR_U32_1(a) ( (((a)&0xff)<<24) ^ ((((a)>>8)&0xff)<<0) ^ ((((a)>>16)&0xff)<<8) ^ (((a)>>24)<<16) ) |
#define | ROR_U32_2(a) ( (((a)&0xff)<<16) ^ ((((a)>>8)&0xff)<<24) ^ ((((a)>>16)&0xff)<<0) ^ (((a)>>24)<<8) ) |
#define | ROR_U32_3(a) ( (((a)&0xff)<<8) ^ ((((a)>>8)&0xff)<<16) ^ ((((a)>>16)&0xff)<<24)^ (((a)>>24)<<0) ) |
Functions | |
int | AES_set_encrypt_key (const unsigned char *userKey, const int bits, AES_KEY *key) |
int | AES_set_decrypt_key (const unsigned char *userKey, const int bits, AES_KEY *key) |
void | AES_encrypt (const unsigned char *in, unsigned char *out, const AES_KEY *key) |
void | AES_decrypt (const unsigned char *in, unsigned char *out, const AES_KEY *key) |
Variables | |
prog_uint32_t | Te0_ [256] |
prog_uint8_t | Te4_ [256] |
prog_uint32_t | Td0_ [256] |
prog_uint8_t | Td4_ [256] |
#define ROR_U32_1 | ( | a | ) | ( (((a)&0xff)<<24) ^ ((((a)>>8)&0xff)<<0) ^ ((((a)>>16)&0xff)<<8) ^ (((a)>>24)<<16) ) |
Definition at line 67 of file aes_core.c.
Referenced by AES_decrypt(), AES_encrypt(), and AES_set_decrypt_key().
#define ROR_U32_2 | ( | a | ) | ( (((a)&0xff)<<16) ^ ((((a)>>8)&0xff)<<24) ^ ((((a)>>16)&0xff)<<0) ^ (((a)>>24)<<8) ) |
Definition at line 68 of file aes_core.c.
Referenced by AES_decrypt(), AES_encrypt(), and AES_set_decrypt_key().
#define ROR_U32_3 | ( | a | ) | ( (((a)&0xff)<<8) ^ ((((a)>>8)&0xff)<<16) ^ ((((a)>>16)&0xff)<<24)^ (((a)>>24)<<0) ) |
Definition at line 69 of file aes_core.c.
Referenced by AES_decrypt(), AES_encrypt(), and AES_set_decrypt_key().
#define USE_PGMMEM |
Definition at line 36 of file aes_core.c.
void AES_decrypt | ( | const unsigned char * | in, | |
unsigned char * | out, | |||
const AES_KEY * | key | |||
) |
Definition at line 677 of file aes_core.c.
References GETU32, PUTU32, aes_key_st::rd_key, ROR_U32_1, ROR_U32_2, ROR_U32_3, and aes_key_st::rounds.
void AES_encrypt | ( | const unsigned char * | in, | |
unsigned char * | out, | |||
const AES_KEY * | key | |||
) |
Definition at line 560 of file aes_core.c.
References GETU32, PUTU32, aes_key_st::rd_key, ROR_U32_1, ROR_U32_2, ROR_U32_3, and aes_key_st::rounds.
Referenced by AES_ctr128_encrypt().
int AES_set_decrypt_key | ( | const unsigned char * | userKey, | |
const int | bits, | |||
AES_KEY * | key | |||
) |
Expand the cipher key into the decryption key schedule.
Definition at line 508 of file aes_core.c.
References AES_set_encrypt_key(), aes_key_st::rd_key, ROR_U32_1, ROR_U32_2, ROR_U32_3, and aes_key_st::rounds.
int AES_set_encrypt_key | ( | const unsigned char * | userKey, | |
const int | bits, | |||
AES_KEY * | key | |||
) |
Expand the cipher key into the encryption key schedule.
Definition at line 407 of file aes_core.c.
References GETU32, aes_key_st::rd_key, and aes_key_st::rounds.
Referenced by AES_set_decrypt_key().
prog_uint32_t Td0_[256] |
Definition at line 237 of file aes_core.c.
prog_uint8_t Td4_[256] |
Definition at line 318 of file aes_core.c.
prog_uint32_t Te0_[256] |
Definition at line 73 of file aes_core.c.
prog_uint8_t Te4_[256] |
Definition at line 155 of file aes_core.c.