#endif #ifdef IL4_SET const aes_32t il_tab[4][256] = { { isb_data(w0) }, { isb_data(w1) }, { isb_data(w2) }, { isb_data(w3) } }; #endif #ifdef LS1_SET const aes_32t ls_tab[256] = { sb_data(w0) }; #endif #ifdef LS4_SET const aes_32t ls_tab[4][256] = { { sb_data(w0) }, { sb_data(w1) }, { sb_data(w2) }, { sb_data(w3) } }; #endif #ifdef IM1_SET const aes_32t im_tab[256] = { mm_data(v0) }; #endif #ifdef IM4_SET const aes_32t im_tab[4][256] = { { mm_data(v0) }, { mm_data(v1) }, { mm_data(v2) }, { mm_data(v3) } }; #endif #else /* dynamic table generation */ aes_08t tab_init = 0; #define const aes_32t rcon_tab[RC_LENGTH]; #ifdef SBX_SET
#endif #ifdef IL4_SET const aes_32t t_dec(i,l)[4][256] = { { isb_data(w0) }, { isb_data(w1) }, { isb_data(w2) }, { isb_data(w3) } }; #endif #ifdef LS1_SET const aes_32t t_dec(l,s)[256] = { sb_data(w0) }; #endif #ifdef LS4_SET const aes_32t t_dec(l,s)[4][256] = { { sb_data(w0) }, { sb_data(w1) }, { sb_data(w2) }, { sb_data(w3) } }; #endif #ifdef IM1_SET const aes_32t t_dec(i,m)[256] = { mm_data(v0) }; #endif #ifdef IM4_SET const aes_32t t_dec(i,m)[4][256] = { { mm_data(v0) }, { mm_data(v1) }, { mm_data(v2) }, { mm_data(v3) } }; #endif #else /* dynamic table generation */ #ifdef GLOBALS aes_08t t_dec(in,it) = 0; aes_32t t_dec(r,c)[RC_LENGTH]; #ifdef SBX_SET
w(0xe0), w(0xe1), w(0xe2), w(0xe3), w(0xe4), w(0xe5), w(0xe6), w(0xe7),\ w(0xe8), w(0xe9), w(0xea), w(0xeb), w(0xec), w(0xed), w(0xee), w(0xef),\ w(0xf0), w(0xf1), w(0xf2), w(0xf3), w(0xf4), w(0xf5), w(0xf6), w(0xf7),\ w(0xf8), w(0xf9), w(0xfa), w(0xfb), w(0xfc), w(0xfd), w(0xfe), w(0xff) } static const uint8_t sbox[256] = sb_data(f1); #if defined( AES_DEC_PREKEYED ) static const uint8_t isbox[256] = isb_data(f1); #endif static const uint8_t gfm2_sbox[256] = sb_data(f2); static const uint8_t gfm3_sbox[256] = sb_data(f3); #if defined( AES_DEC_PREKEYED ) static const uint8_t gfmul_9[256] = mm_data(f9); static const uint8_t gfmul_b[256] = mm_data(fb); static const uint8_t gfmul_d[256] = mm_data(fd); static const uint8_t gfmul_e[256] = mm_data(fe); #endif #define s_box(x) sbox[(x)] #if defined( AES_DEC_PREKEYED ) #define is_box(x) isbox[(x)] #endif #define gfm2_sb(x) gfm2_sbox[(x)] #define gfm3_sb(x) gfm3_sbox[(x)] #if defined( AES_DEC_PREKEYED ) #define gfm_9(x) gfmul_9[(x)] #define gfm_b(x) gfmul_b[(x)] #define gfm_d(x) gfmul_d[(x)]
#endif #ifdef IL4_SET const uint32_t il_tab[4][256] = { { isb_data(w0) }, { isb_data(w1) }, { isb_data(w2) }, { isb_data(w3) } }; #endif #ifdef LS1_SET const uint32_t ls_tab[256] = { sb_data(w0) }; #endif #ifdef LS4_SET const uint32_t ls_tab[4][256] = { { sb_data(w0) }, { sb_data(w1) }, { sb_data(w2) }, { sb_data(w3) } }; #endif #ifdef IM1_SET const uint32_t im_tab[256] = { mm_data(v0) }; #endif #ifdef IM4_SET const uint32_t im_tab[4][256] = { { mm_data(v0) }, { mm_data(v1) }, { mm_data(v2) }, { mm_data(v3) } }; #endif #else /* dynamic table generation */ uint8_t tab_init = 0; #define const uint32_t rcon_tab[RC_LENGTH]; #ifdef SBX_SET