#include "system.h"
#include "beecrypt.h"
#include "aesopt.h"
#include "aes.h"
#include "endianness.h"
#include "mp32.h"
#include "debug.h"
Go to the source code of this file.
Defines | |
#define | etfs(i) |
#define | esft(i) |
#define | elr() |
#define | dtfs(i) |
#define | dsft(i) |
#define | dlr() |
Functions | |
int | aesSetup (aesParam *ap, const uint32 *key, int keybits, cipherOperation op) |
int | aesSetIV (aesParam *ap, const uint32 *iv) |
int | aesEncrypt (aesParam *ap, uint32 *dst, const uint32 *src) |
int | aesDecrypt (aesParam *ap, uint32 *dst, const uint32 *src) |
int | aesECBEncrypt (aesParam *ap, int count, uint32 *dst, const uint32 *src) |
int | aesECBDecrypt (aesParam *ap, int count, uint32 *dst, const uint32 *src) |
int | aesCBCEncrypt (aesParam *ap, int count, uint32 *dst, const uint32 *src) |
int | aesCBCDecrypt (aesParam *ap, int count, uint32 *dst, const uint32 *src) |
Variables | |
const uint32 | _ae0 [256] |
const uint32 | _ae1 [256] |
const uint32 | _ae2 [256] |
const uint32 | _ae3 [256] |
const uint32 | _ae4 [256] |
const uint32 | _ad0 [256] |
const uint32 | _ad1 [256] |
const uint32 | _ad2 [256] |
const uint32 | _ad3 [256] |
const uint32 | _ad4 [256] |
const uint32 | _arc [] |
const blockMode | aesModes [2] |
const blockCipher | aes = { "AES", sizeof(aesParam), 16, 128, 256, 64, (blockCipherSetup) aesSetup, (blockCipherSetIV) aesSetIV, (blockCipherEncrypt) aesEncrypt, (blockCipherDecrypt) aesDecrypt, aesModes } |
Definition in file aes.c.
|
Value: s0 = \ (_ad4[(t0 >> 24) ] & 0xff000000) ^ \ (_ad4[(t3 >> 16) & 0xff] & 0x00ff0000) ^ \ (_ad4[(t2 >> 8) & 0xff] & 0x0000ff00) ^ \ (_ad4[(t1 ) & 0xff] & 0x000000ff) ^ \ rk[0]; \ s1 = \ (_ad4[(t1 >> 24) ] & 0xff000000) ^ \ (_ad4[(t0 >> 16) & 0xff] & 0x00ff0000) ^ \ (_ad4[(t3 >> 8) & 0xff] & 0x0000ff00) ^ \ (_ad4[(t2 ) & 0xff] & 0x000000ff) ^ \ rk[1]; \ s2 = \ (_ad4[(t2 >> 24) ] & 0xff000000) ^ \ (_ad4[(t1 >> 16) & 0xff] & 0x00ff0000) ^ \ (_ad4[(t0 >> 8) & 0xff] & 0x0000ff00) ^ \ (_ad4[(t3 ) & 0xff] & 0x000000ff) ^ \ rk[2]; \ s3 = \ (_ad4[(t3 >> 24) ] & 0xff000000) ^ \ (_ad4[(t2 >> 16) & 0xff] & 0x00ff0000) ^ \ (_ad4[(t1 >> 8) & 0xff] & 0x0000ff00) ^ \ (_ad4[(t0 ) & 0xff] & 0x000000ff) ^ \ rk[3]; Definition at line 1107 of file aes.c. Referenced by aesDecrypt. |
|
Value: s0 = \ _ad0[(t0 >> 24) ] ^ \ _ad1[(t3 >> 16) & 0xff] ^ \ _ad2[(t2 >> 8) & 0xff] ^ \ _ad3[(t1 ) & 0xff] ^ \ rk[i+0]; \ s1 = \ _ad0[(t1 >> 24) ] ^ \ _ad1[(t0 >> 16) & 0xff] ^ \ _ad2[(t3 >> 8) & 0xff] ^ \ _ad3[(t2 ) & 0xff] ^ \ rk[i+1]; \ s2 = \ _ad0[(t2 >> 24) ] ^ \ _ad1[(t1 >> 16) & 0xff] ^ \ _ad2[(t0 >> 8) & 0xff] ^ \ _ad3[(t3 ) & 0xff] ^ \ rk[i+2]; \ s3 = \ _ad0[(t3 >> 24) ] ^ \ _ad1[(t2 >> 16) & 0xff] ^ \ _ad2[(t1 >> 8) & 0xff] ^ \ _ad3[(t0 ) & 0xff] ^ \ rk[i+3]; Definition at line 1081 of file aes.c. Referenced by aesDecrypt. |
|
Value: t0 = \ _ad0[(s0 >> 24) ] ^ \ _ad1[(s3 >> 16) & 0xff] ^ \ _ad2[(s2 >> 8) & 0xff] ^ \ _ad3[(s1 ) & 0xff] ^ \ rk[i+0]; \ t1 = \ _ad0[(s1 >> 24) ] ^ \ _ad1[(s0 >> 16) & 0xff] ^ \ _ad2[(s3 >> 8) & 0xff] ^ \ _ad3[(s2 ) & 0xff] ^ \ rk[i+1]; \ t2 = \ _ad0[(s2 >> 24) ] ^ \ _ad1[(s1 >> 16) & 0xff] ^ \ _ad2[(s0 >> 8) & 0xff] ^ \ _ad3[(s3 ) & 0xff] ^ \ rk[i+2]; \ t3 = \ _ad0[(s3 >> 24) ] ^ \ _ad1[(s2 >> 16) & 0xff] ^ \ _ad2[(s1 >> 8) & 0xff] ^ \ _ad3[(s0 ) & 0xff] ^ \ rk[i+3]; Definition at line 1055 of file aes.c. Referenced by aesDecrypt. |
|
Value: s0 = \ (_ae4[(t0 >> 24) ] & 0xff000000) ^ \ (_ae4[(t1 >> 16) & 0xff] & 0x00ff0000) ^ \ (_ae4[(t2 >> 8) & 0xff] & 0x0000ff00) ^ \ (_ae4[(t3 ) & 0xff] & 0x000000ff) ^ \ rk[0]; \ s1 = \ (_ae4[(t1 >> 24) ] & 0xff000000) ^ \ (_ae4[(t2 >> 16) & 0xff] & 0x00ff0000) ^ \ (_ae4[(t3 >> 8) & 0xff] & 0x0000ff00) ^ \ (_ae4[(t0 ) & 0xff] & 0x000000ff) ^ \ rk[1]; \ s2 = \ (_ae4[(t2 >> 24) ] & 0xff000000) ^ \ (_ae4[(t3 >> 16) & 0xff] & 0x00ff0000) ^ \ (_ae4[(t0 >> 8) & 0xff] & 0x0000ff00) ^ \ (_ae4[(t1 ) & 0xff] & 0x000000ff) ^ \ rk[2]; \ s3 = \ (_ae4[(t3 >> 24) ] & 0xff000000) ^ \ (_ae4[(t0 >> 16) & 0xff] & 0x00ff0000) ^ \ (_ae4[(t1 >> 8) & 0xff] & 0x0000ff00) ^ \ (_ae4[(t2 ) & 0xff] & 0x000000ff) ^ \ rk[3]; Definition at line 967 of file aes.c. Referenced by aesEncrypt. |
|
Value: s0 = \ _ae0[(t0 >> 24) ] ^ \ _ae1[(t1 >> 16) & 0xff] ^ \ _ae2[(t2 >> 8) & 0xff] ^ \ _ae3[(t3 ) & 0xff] ^ \ rk[i+0]; \ s1 = \ _ae0[(t1 >> 24) ] ^ \ _ae1[(t2 >> 16) & 0xff] ^ \ _ae2[(t3 >> 8) & 0xff] ^ \ _ae3[(t0 ) & 0xff] ^ \ rk[i+1]; \ s2 = \ _ae0[(t2 >> 24) ] ^ \ _ae1[(t3 >> 16) & 0xff] ^ \ _ae2[(t0 >> 8) & 0xff] ^ \ _ae3[(t1 ) & 0xff] ^ \ rk[i+2]; \ s3 = \ _ae0[(t3 >> 24) ] ^ \ _ae1[(t0 >> 16) & 0xff] ^ \ _ae2[(t1 >> 8) & 0xff] ^ \ _ae3[(t2 ) & 0xff] ^ \ rk[i+3]; Definition at line 941 of file aes.c. Referenced by aesEncrypt. |
|
Value: t0 = \ _ae0[(s0 >> 24) ] ^ \ _ae1[(s1 >> 16) & 0xff] ^ \ _ae2[(s2 >> 8) & 0xff] ^ \ _ae3[(s3 ) & 0xff] ^ \ rk[i+0]; \ t1 = \ _ae0[(s1 >> 24) ] ^ \ _ae1[(s2 >> 16) & 0xff] ^ \ _ae2[(s3 >> 8) & 0xff] ^ \ _ae3[(s0 ) & 0xff] ^ \ rk[i+1]; \ t2 = \ _ae0[(s2 >> 24) ] ^ \ _ae1[(s3 >> 16) & 0xff] ^ \ _ae2[(s0 >> 8) & 0xff] ^ \ _ae3[(s1 ) & 0xff] ^ \ rk[i+2]; \ t3 = \ _ae0[(s3 >> 24) ] ^ \ _ae1[(s0 >> 16) & 0xff] ^ \ _ae2[(s1 >> 8) & 0xff] ^ \ _ae3[(s2 ) & 0xff] ^ \ rk[i+3]; Definition at line 915 of file aes.c. Referenced by aesEncrypt. |
|
Definition at line 389 of file aes.c. Referenced by aesSetup. |
|
Definition at line 459 of file aes.c. Referenced by aesSetup. |
|
Definition at line 529 of file aes.c. Referenced by aesSetup. |
|
Definition at line 599 of file aes.c. Referenced by aesSetup. |
|
|
|
|
|
|
|
|
|
|
|
Definition at line 319 of file aes.c. Referenced by aesSetup. |
|
Initial value: { 0x01000000, 0x02000000, 0x04000000, 0x08000000, 0x10000000, 0x20000000, 0x40000000, 0x80000000, 0x1B000000, 0x36000000 } Definition at line 740 of file aes.c. Referenced by aesSetup. |
|
Initial value: { { (blockModeEncrypt) aesECBEncrypt, (blockModeDecrypt) aesECBDecrypt }, { (blockModeEncrypt) aesCBCEncrypt, (blockModeDecrypt) aesCBCDecrypt } } |