#include <asterisk/aes.h>
Go to the source code of this file.
Defines | |
#define | BRG_LITTLE_ENDIAN 1234 |
#define | BRG_BIG_ENDIAN 4321 |
#define | NO_TABLES 0 |
#define | ONE_TABLE 1 |
#define | FOUR_TABLES 4 |
#define | NONE 0 |
#define | PARTIAL 1 |
#define | FULL 2 |
#define | brot(x, n) (((aes_32t)(x) << n) | ((aes_32t)(x) >> (32 - n))) |
#define | aes_sw32(x) ((brot((x),8) & 0x00ff00ff) | (brot((x),24) & 0xff00ff00)) |
#define | ALGORITHM_BYTE_ORDER PLATFORM_BYTE_ORDER |
#define | SAFE_IO |
#define | ENC_UNROLL FULL |
#define | DEC_UNROLL FULL |
#define | FF_TABLES |
#define | ARRAYS |
#define | s(x, c) x[c] |
#define | FIXED_TABLES |
#define | ENC_ROUND FOUR_TABLES |
#define | LAST_ENC_ROUND FOUR_TABLES |
#define | DEC_ROUND FOUR_TABLES |
#define | LAST_DEC_ROUND FOUR_TABLES |
#define | KEY_SCHED FOUR_TABLES |
#define | RC_LENGTH (5 * (AES_BLOCK_SIZE / 4 - 2)) |
#define | word_in(x, c) |
#define | word_out(x, c, v) |
#define | WPOLY 0x011b |
#define | BPOLY 0x1b |
#define | m1 0x80808080 |
#define | m2 0x7f7f7f7f |
#define | gf_mulx(x) ((((x) & m2) << 1) ^ ((((x) & m1) >> 7) * BPOLY)) |
#define | no_table(x, box, vf, rf, c) |
#define | one_table(x, op, tab, vf, rf, c) |
#define | four_tables(x, tab, vf, rf, c) |
#define | vf1(x, r, c) (x) |
#define | rf1(r, c) (r) |
#define | rf2(r, c) ((8+r-c)&3) |
#define | dec_fmvars aes_32t g2 |
#define | fwd_mcol(x) (g2 = gf_mulx(x), g2 ^ upr((x) ^ g2, 3) ^ upr((x), 2) ^ upr((x), 1)) |
#define | dec_imvars aes_32t g2, g4, g9 |
#define | inv_mcol(x) |
#define | ls_box(x, c) no_table(x,t_use(s,box),vf1,rf2,c) |
#define | t_dec(m, n) t_##m##n |
#define | t_set(m, n) t_##m##n |
#define | t_use(m, n) t_##m##n |
#define | d_1(t, n, b, v) extern const t n[256] |
#define | d_4(t, n, b, v) extern const t n[4][256] |
Functions | |
const aes_32t | t_dec (r, c)[RC_LENGTH] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Value: ( tab[0][bval(vf(x,0,c),rf(0,c))] \ ^ tab[1][bval(vf(x,1,c),rf(1,c))] \ ^ tab[2][bval(vf(x,2,c),rf(2,c))] \ ^ tab[3][bval(vf(x,3,c),rf(3,c))]) |
|
|
|
|
|
|
|
|
|
Value: |
|
|
|
|
|
|
|
|
|
|
|
|
|
Value: bytes2word( \ box[bval(vf(x,0,c),rf(0,c))], \ box[bval(vf(x,1,c),rf(1,c))], \ box[bval(vf(x,2,c),rf(2,c))], \ box[bval(vf(x,3,c),rf(3,c))]) |
|
|
|
|
|
Value: ( tab[bval(vf(x,0,c),rf(0,c))] \ ^ op(tab[bval(vf(x,1,c),rf(1,c))],1) \ ^ op(tab[bval(vf(x,2,c),rf(2,c))],2) \ ^ op(tab[bval(vf(x,3,c),rf(3,c))],3)) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Value: bytes2word(((aes_08t*)(x)+4*c)[0], ((aes_08t*)(x)+4*c)[1], \ ((aes_08t*)(x)+4*c)[2], ((aes_08t*)(x)+4*c)[3]) |
|
Value: { ((aes_08t*)(x)+4*c)[0] = bval(v,0); ((aes_08t*)(x)+4*c)[1] = bval(v,1); \ ((aes_08t*)(x)+4*c)[2] = bval(v,2); ((aes_08t*)(x)+4*c)[3] = bval(v,3); } |
|
|
|
|