ReactOS  0.4.14-dev-599-g2d4d3f5
aes.c File Reference
#include "tomcrypt.h"
Include dependency graph for aes.c:

Go to the source code of this file.

Macros

#define Te0(x)   TE0[x]
 
#define Te1(x)   TE1[x]
 
#define Te2(x)   TE2[x]
 
#define Te3(x)   TE3[x]
 
#define Td0(x)   TD0[x]
 
#define Td1(x)   TD1[x]
 
#define Td2(x)   TD2[x]
 
#define Td3(x)   TD3[x]
 

Functions

static ulong32 setup_mix (ulong32 temp)
 
int aes_setup (const unsigned char *key, int keylen, int rounds, aes_key *skey)
 
void aes_ecb_encrypt (const unsigned char *pt, unsigned char *ct, aes_key *skey)
 
void aes_ecb_decrypt (const unsigned char *ct, unsigned char *pt, aes_key *skey)
 

Variables

static const ulong32 TE0 [256]
 
static const ulong32 TD0 [256]
 
static const ulong32 Td4 [256]
 
static const ulong32 TE1 [256]
 
static const ulong32 TE2 [256]
 
static const ulong32 TE3 [256]
 
static const ulong32 Te4_0 []
 
static const ulong32 Te4_1 []
 
static const ulong32 Te4_2 []
 
static const ulong32 Te4_3 []
 
static const ulong32 TD1 [256]
 
static const ulong32 TD2 [256]
 
static const ulong32 TD3 [256]
 
static const ulong32 Tks0 []
 
static const ulong32 Tks1 []
 
static const ulong32 Tks2 []
 
static const ulong32 Tks3 []
 
static const ulong32 rcon []
 

Macro Definition Documentation

◆ Td0

#define Td0 (   x)    TD0[x]

Definition at line 239 of file aes.c.

◆ Td1

#define Td1 (   x)    TD1[x]

Definition at line 240 of file aes.c.

◆ Td2

#define Td2 (   x)    TD2[x]

Definition at line 241 of file aes.c.

◆ Td3

#define Td3 (   x)    TD3[x]

Definition at line 242 of file aes.c.

◆ Te0

#define Te0 (   x)    TE0[x]

Definition at line 234 of file aes.c.

◆ Te1

#define Te1 (   x)    TE1[x]

Definition at line 235 of file aes.c.

◆ Te2

#define Te2 (   x)    TE2[x]

Definition at line 236 of file aes.c.

◆ Te3

#define Te3 (   x)    TE3[x]

Definition at line 237 of file aes.c.

Function Documentation

◆ aes_ecb_decrypt()

void aes_ecb_decrypt ( const unsigned char ct,
unsigned char pt,
aes_key skey 
)

Definition at line 1165 of file aes.c.

1166 {
1167  ulong32 s0, s1, s2, s3, t0, t1, t2, t3, *rk;
1168  int Nr, r;
1169 
1170  Nr = skey->Nr;
1171  rk = skey->dK;
1172 
1173  LOAD32H(s0, ct ); s0 ^= rk[0];
1174  LOAD32H(s1, ct + 4); s1 ^= rk[1];
1175  LOAD32H(s2, ct + 8); s2 ^= rk[2];
1176  LOAD32H(s3, ct + 12); s3 ^= rk[3];
1177 
1178  r = Nr >> 1;
1179  for (;;) {
1180 
1181  t0 =
1182  Td0(byte(s0, 3)) ^
1183  Td1(byte(s3, 2)) ^
1184  Td2(byte(s2, 1)) ^
1185  Td3(byte(s1, 0)) ^
1186  rk[4];
1187  t1 =
1188  Td0(byte(s1, 3)) ^
1189  Td1(byte(s0, 2)) ^
1190  Td2(byte(s3, 1)) ^
1191  Td3(byte(s2, 0)) ^
1192  rk[5];
1193  t2 =
1194  Td0(byte(s2, 3)) ^
1195  Td1(byte(s1, 2)) ^
1196  Td2(byte(s0, 1)) ^
1197  Td3(byte(s3, 0)) ^
1198  rk[6];
1199  t3 =
1200  Td0(byte(s3, 3)) ^
1201  Td1(byte(s2, 2)) ^
1202  Td2(byte(s1, 1)) ^
1203  Td3(byte(s0, 0)) ^
1204  rk[7];
1205 
1206  rk += 8;
1207  if (--r == 0) {
1208  break;
1209  }
1210 
1211 
1212  s0 =
1213  Td0(byte(t0, 3)) ^
1214  Td1(byte(t3, 2)) ^
1215  Td2(byte(t2, 1)) ^
1216  Td3(byte(t1, 0)) ^
1217  rk[0];
1218  s1 =
1219  Td0(byte(t1, 3)) ^
1220  Td1(byte(t0, 2)) ^
1221  Td2(byte(t3, 1)) ^
1222  Td3(byte(t2, 0)) ^
1223  rk[1];
1224  s2 =
1225  Td0(byte(t2, 3)) ^
1226  Td1(byte(t1, 2)) ^
1227  Td2(byte(t0, 1)) ^
1228  Td3(byte(t3, 0)) ^
1229  rk[2];
1230  s3 =
1231  Td0(byte(t3, 3)) ^
1232  Td1(byte(t2, 2)) ^
1233  Td2(byte(t1, 1)) ^
1234  Td3(byte(t0, 0)) ^
1235  rk[3];
1236  }
1237 
1238  s0 =
1239  (Td4[byte(t0, 3)] & 0xff000000) ^
1240  (Td4[byte(t3, 2)] & 0x00ff0000) ^
1241  (Td4[byte(t2, 1)] & 0x0000ff00) ^
1242  (Td4[byte(t1, 0)] & 0x000000ff) ^
1243  rk[0];
1244  STORE32H(s0, pt);
1245  s1 =
1246  (Td4[byte(t1, 3)] & 0xff000000) ^
1247  (Td4[byte(t0, 2)] & 0x00ff0000) ^
1248  (Td4[byte(t3, 1)] & 0x0000ff00) ^
1249  (Td4[byte(t2, 0)] & 0x000000ff) ^
1250  rk[1];
1251  STORE32H(s1, pt+4);
1252  s2 =
1253  (Td4[byte(t2, 3)] & 0xff000000) ^
1254  (Td4[byte(t1, 2)] & 0x00ff0000) ^
1255  (Td4[byte(t0, 1)] & 0x0000ff00) ^
1256  (Td4[byte(t3, 0)] & 0x000000ff) ^
1257  rk[2];
1258  STORE32H(s2, pt+8);
1259  s3 =
1260  (Td4[byte(t3, 3)] & 0xff000000) ^
1261  (Td4[byte(t2, 2)] & 0x00ff0000) ^
1262  (Td4[byte(t1, 1)] & 0x0000ff00) ^
1263  (Td4[byte(t0, 0)] & 0x000000ff) ^
1264  rk[3];
1265  STORE32H(s3, pt+12);
1266 }
ULONG32 ulong32
Definition: tomcrypt.h:84
struct S2 s2
#define pt(x, y)
Definition: drawing.c:79
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
#define Td1(x)
Definition: aes.c:240
static const ulong32 Td4[256]
Definition: aes.c:167
ulong32 dK[64]
Definition: tomcrypt.h:133
struct S1 s1
#define Td3(x)
Definition: aes.c:242
#define LOAD32H(x, y)
Definition: tomcrypt.h:91
#define byte(x, n)
Definition: tomcrypt.h:118
#define Td0(x)
Definition: aes.c:239
#define STORE32H(x, y)
Definition: tomcrypt.h:87
#define Td2(x)
Definition: aes.c:241

◆ aes_ecb_encrypt()

void aes_ecb_encrypt ( const unsigned char pt,
unsigned char ct,
aes_key skey 
)

Definition at line 1064 of file aes.c.

1065 {
1066  ulong32 s0, s1, s2, s3, t0, t1, t2, t3, *rk;
1067  int Nr, r;
1068 
1069  Nr = skey->Nr;
1070  rk = skey->eK;
1071 
1072  LOAD32H(s0, pt ); s0 ^= rk[0];
1073  LOAD32H(s1, pt + 4); s1 ^= rk[1];
1074  LOAD32H(s2, pt + 8); s2 ^= rk[2];
1075  LOAD32H(s3, pt + 12); s3 ^= rk[3];
1076 
1077  r = Nr >> 1;
1078  for (;;) {
1079  t0 =
1080  Te0(byte(s0, 3)) ^
1081  Te1(byte(s1, 2)) ^
1082  Te2(byte(s2, 1)) ^
1083  Te3(byte(s3, 0)) ^
1084  rk[4];
1085  t1 =
1086  Te0(byte(s1, 3)) ^
1087  Te1(byte(s2, 2)) ^
1088  Te2(byte(s3, 1)) ^
1089  Te3(byte(s0, 0)) ^
1090  rk[5];
1091  t2 =
1092  Te0(byte(s2, 3)) ^
1093  Te1(byte(s3, 2)) ^
1094  Te2(byte(s0, 1)) ^
1095  Te3(byte(s1, 0)) ^
1096  rk[6];
1097  t3 =
1098  Te0(byte(s3, 3)) ^
1099  Te1(byte(s0, 2)) ^
1100  Te2(byte(s1, 1)) ^
1101  Te3(byte(s2, 0)) ^
1102  rk[7];
1103 
1104  rk += 8;
1105  if (--r == 0) {
1106  break;
1107  }
1108 
1109  s0 =
1110  Te0(byte(t0, 3)) ^
1111  Te1(byte(t1, 2)) ^
1112  Te2(byte(t2, 1)) ^
1113  Te3(byte(t3, 0)) ^
1114  rk[0];
1115  s1 =
1116  Te0(byte(t1, 3)) ^
1117  Te1(byte(t2, 2)) ^
1118  Te2(byte(t3, 1)) ^
1119  Te3(byte(t0, 0)) ^
1120  rk[1];
1121  s2 =
1122  Te0(byte(t2, 3)) ^
1123  Te1(byte(t3, 2)) ^
1124  Te2(byte(t0, 1)) ^
1125  Te3(byte(t1, 0)) ^
1126  rk[2];
1127  s3 =
1128  Te0(byte(t3, 3)) ^
1129  Te1(byte(t0, 2)) ^
1130  Te2(byte(t1, 1)) ^
1131  Te3(byte(t2, 0)) ^
1132  rk[3];
1133  }
1134 
1135  s0 =
1136  (Te4_3[byte(t0, 3)]) ^
1137  (Te4_2[byte(t1, 2)]) ^
1138  (Te4_1[byte(t2, 1)]) ^
1139  (Te4_0[byte(t3, 0)]) ^
1140  rk[0];
1141  STORE32H(s0, ct);
1142  s1 =
1143  (Te4_3[byte(t1, 3)]) ^
1144  (Te4_2[byte(t2, 2)]) ^
1145  (Te4_1[byte(t3, 1)]) ^
1146  (Te4_0[byte(t0, 0)]) ^
1147  rk[1];
1148  STORE32H(s1, ct+4);
1149  s2 =
1150  (Te4_3[byte(t2, 3)]) ^
1151  (Te4_2[byte(t3, 2)]) ^
1152  (Te4_1[byte(t0, 1)]) ^
1153  (Te4_0[byte(t1, 0)]) ^
1154  rk[2];
1155  STORE32H(s2, ct+8);
1156  s3 =
1157  (Te4_3[byte(t3, 3)]) ^
1158  (Te4_2[byte(t0, 2)]) ^
1159  (Te4_1[byte(t1, 1)]) ^
1160  (Te4_0[byte(t2, 0)]) ^
1161  rk[3];
1162  STORE32H(s3, ct+12);
1163 }
ULONG32 ulong32
Definition: tomcrypt.h:84
struct S2 s2
#define pt(x, y)
Definition: drawing.c:79
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
static const ulong32 Te4_3[]
Definition: aes.c:549
ulong32 eK[64]
Definition: tomcrypt.h:133
static const ulong32 Te4_0[]
Definition: aes.c:444
#define Te2(x)
Definition: aes.c:236
struct S1 s1
#define Te3(x)
Definition: aes.c:237
#define LOAD32H(x, y)
Definition: tomcrypt.h:91
static const ulong32 Te4_1[]
Definition: aes.c:479
#define byte(x, n)
Definition: tomcrypt.h:118
static const ulong32 Te4_2[]
Definition: aes.c:514
#define Te1(x)
Definition: aes.c:235
#define Te0(x)
Definition: aes.c:234
#define STORE32H(x, y)
Definition: tomcrypt.h:87

◆ aes_setup()

int aes_setup ( const unsigned char key,
int  keylen,
int  rounds,
aes_key skey 
)

Definition at line 937 of file aes.c.

938 {
939  int i, j;
940  ulong32 temp, *rk;
941  ulong32 *rrk;
942 
943  if (keylen != 16 && keylen != 24 && keylen != 32) {
944  return CRYPT_INVALID_KEYSIZE;
945  }
946 
947  if (rounds != 0 && rounds != (10 + ((keylen/8)-2)*2)) {
948  return CRYPT_INVALID_ROUNDS;
949  }
950 
951  skey->Nr = 10 + ((keylen/8)-2)*2;
952 
953  /* setup the forward key */
954  i = 0;
955  rk = skey->eK;
956  LOAD32H(rk[0], key );
957  LOAD32H(rk[1], key + 4);
958  LOAD32H(rk[2], key + 8);
959  LOAD32H(rk[3], key + 12);
960  if (keylen == 16) {
961  j = 44;
962  for (;;) {
963  temp = rk[3];
964  rk[4] = rk[0] ^ setup_mix(temp) ^ rcon[i];
965  rk[5] = rk[1] ^ rk[4];
966  rk[6] = rk[2] ^ rk[5];
967  rk[7] = rk[3] ^ rk[6];
968  if (++i == 10) {
969  break;
970  }
971  rk += 4;
972  }
973  } else if (keylen == 24) {
974  j = 52;
975  LOAD32H(rk[4], key + 16);
976  LOAD32H(rk[5], key + 20);
977  for (;;) {
978  temp = rk[5];
979  rk[ 6] = rk[ 0] ^ setup_mix(temp) ^ rcon[i];
980  rk[ 7] = rk[ 1] ^ rk[ 6];
981  rk[ 8] = rk[ 2] ^ rk[ 7];
982  rk[ 9] = rk[ 3] ^ rk[ 8];
983  if (++i == 8) {
984  break;
985  }
986  rk[10] = rk[ 4] ^ rk[ 9];
987  rk[11] = rk[ 5] ^ rk[10];
988  rk += 6;
989  }
990  } else if (keylen == 32) {
991  j = 60;
992  LOAD32H(rk[4], key + 16);
993  LOAD32H(rk[5], key + 20);
994  LOAD32H(rk[6], key + 24);
995  LOAD32H(rk[7], key + 28);
996  for (;;) {
997  temp = rk[7];
998  rk[ 8] = rk[ 0] ^ setup_mix(temp) ^ rcon[i];
999  rk[ 9] = rk[ 1] ^ rk[ 8];
1000  rk[10] = rk[ 2] ^ rk[ 9];
1001  rk[11] = rk[ 3] ^ rk[10];
1002  if (++i == 7) {
1003  break;
1004  }
1005  temp = rk[11];
1006  rk[12] = rk[ 4] ^ setup_mix(ROR(temp, 8));
1007  rk[13] = rk[ 5] ^ rk[12];
1008  rk[14] = rk[ 6] ^ rk[13];
1009  rk[15] = rk[ 7] ^ rk[14];
1010  rk += 8;
1011  }
1012  } else {
1013  j = 4;
1014  }
1015 
1016  rk = skey->dK;
1017  rrk = skey->eK + j - 4;
1018 
1019  *rk++ = *rrk++;
1020  *rk++ = *rrk++;
1021  *rk++ = *rrk++;
1022  *rk = *rrk;
1023  rk -= 3; rrk -= 3;
1024 
1025  for (i = 1; i < skey->Nr; i++) {
1026  rrk -= 4;
1027  rk += 4;
1028  temp = rrk[0];
1029  rk[0] =
1030  Tks0[byte(temp, 3)] ^
1031  Tks1[byte(temp, 2)] ^
1032  Tks2[byte(temp, 1)] ^
1033  Tks3[byte(temp, 0)];
1034  temp = rrk[1];
1035  rk[1] =
1036  Tks0[byte(temp, 3)] ^
1037  Tks1[byte(temp, 2)] ^
1038  Tks2[byte(temp, 1)] ^
1039  Tks3[byte(temp, 0)];
1040  temp = rrk[2];
1041  rk[2] =
1042  Tks0[byte(temp, 3)] ^
1043  Tks1[byte(temp, 2)] ^
1044  Tks2[byte(temp, 1)] ^
1045  Tks3[byte(temp, 0)];
1046  temp = rrk[3];
1047  rk[3] =
1048  Tks0[byte(temp, 3)] ^
1049  Tks1[byte(temp, 2)] ^
1050  Tks2[byte(temp, 1)] ^
1051  Tks3[byte(temp, 0)];
1052  }
1053 
1054  rrk -= 4;
1055  rk += 4;
1056  *rk++ = *rrk++;
1057  *rk++ = *rrk++;
1058  *rk++ = *rrk++;
1059  *rk = *rrk;
1060 
1061  return CRYPT_OK;
1062 }
ULONG32 ulong32
Definition: tomcrypt.h:84
static const ulong32 Tks0[]
Definition: aes.c:783
ulong32 eK[64]
Definition: tomcrypt.h:133
static const ulong32 Tks3[]
Definition: aes.c:888
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
ulong32 dK[64]
Definition: tomcrypt.h:133
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
Definition: glfuncs.h:250
static const ulong32 Tks2[]
Definition: aes.c:853
static ulong32 setup_mix(ulong32 temp)
Definition: aes.c:929
static const ulong32 rcon[]
Definition: aes.c:923
#define LOAD32H(x, y)
Definition: tomcrypt.h:91
#define byte(x, n)
Definition: tomcrypt.h:118
static calc_node_t temp
Definition: rpn_ieee.c:38
#define ROR(x, y)
Definition: tomcrypt.h:110
static const ulong32 Tks1[]
Definition: aes.c:818
Definition: path.c:41

◆ setup_mix()

static ulong32 setup_mix ( ulong32  temp)
static

Definition at line 929 of file aes.c.

930 {
931  return (Te4_3[byte(temp, 2)]) ^
932  (Te4_2[byte(temp, 1)]) ^
933  (Te4_1[byte(temp, 0)]) ^
934  (Te4_0[byte(temp, 3)]);
935 }
static const ulong32 Te4_3[]
Definition: aes.c:549
static const ulong32 Te4_0[]
Definition: aes.c:444
static const ulong32 Te4_1[]
Definition: aes.c:479
#define byte(x, n)
Definition: tomcrypt.h:118
static calc_node_t temp
Definition: rpn_ieee.c:38
static const ulong32 Te4_2[]
Definition: aes.c:514

Referenced by aes_setup().

Variable Documentation

◆ rcon

const ulong32 rcon[]
static
Initial value:
= {
0x01000000UL, 0x02000000UL, 0x04000000UL, 0x08000000UL,
0x10000000UL, 0x20000000UL, 0x40000000UL, 0x80000000UL,
0x1B000000UL, 0x36000000UL
}
#define UL
Definition: tui.h:83

Definition at line 923 of file aes.c.

Referenced by aes_setup().

◆ TD0

const ulong32 TD0[256]
static

Definition at line 100 of file aes.c.

◆ TD1

const ulong32 TD1[256]
static

Definition at line 584 of file aes.c.

◆ TD2

const ulong32 TD2[256]
static

Definition at line 650 of file aes.c.

◆ TD3

const ulong32 TD3[256]
static

Definition at line 716 of file aes.c.

◆ Td4

const ulong32 Td4[256]
static

Definition at line 167 of file aes.c.

Referenced by aes_ecb_decrypt().

◆ TE0

const ulong32 TE0[256]
static

Definition at line 33 of file aes.c.

◆ TE1

const ulong32 TE1[256]
static

Definition at line 244 of file aes.c.

◆ TE2

const ulong32 TE2[256]
static

Definition at line 310 of file aes.c.

◆ TE3

const ulong32 TE3[256]
static

Definition at line 376 of file aes.c.

◆ Te4_0

const ulong32 Te4_0[]
static

Definition at line 444 of file aes.c.

Referenced by aes_ecb_encrypt(), and setup_mix().

◆ Te4_1

const ulong32 Te4_1[]
static

Definition at line 479 of file aes.c.

Referenced by aes_ecb_encrypt(), and setup_mix().

◆ Te4_2

const ulong32 Te4_2[]
static

Definition at line 514 of file aes.c.

Referenced by aes_ecb_encrypt(), and setup_mix().

◆ Te4_3

const ulong32 Te4_3[]
static

Definition at line 549 of file aes.c.

Referenced by aes_ecb_encrypt(), and setup_mix().

◆ Tks0

const ulong32 Tks0[]
static

Definition at line 783 of file aes.c.

Referenced by aes_setup().

◆ Tks1

const ulong32 Tks1[]
static

Definition at line 818 of file aes.c.

Referenced by aes_setup().

◆ Tks2

const ulong32 Tks2[]
static

Definition at line 853 of file aes.c.

Referenced by aes_setup().

◆ Tks3

const ulong32 Tks3[]
static

Definition at line 888 of file aes.c.

Referenced by aes_setup().