static const u32 aes_little_constants[522] = { 0x00000001, 0x00000002, 0x00000004, 0x00000008, 0x00000010, 0x00000020, 0x00000040, 0x00000080, 0x0000001b, 0x00000036, 0xc6a56300, 0xc6a56363, 0xf8847c00, 0xf8847c7c, 0xee997700, 0xee997777, 0xf68d7b00, 0xf68d7b7b, 0xff0df200, 0xff0df2f2, 0xd6bd6b00, 0xd6bd6b6b, 0xdeb16f00, 0xdeb16f6f, 0x9154c500, 0x9154c5c5, 0x60503000, 0x60503030, 0x02030100, 0x02030101, 0xcea96700, 0xcea96767, 0x567d2b00, 0x567d2b2b, 0xe719fe00, 0xe719fefe, 0xb562d700, 0xb562d7d7, 0x4de6ab00, 0x4de6abab, 0xec9a7600, 0xec9a7676, 0x8f45ca00, 0x8f45caca, 0x1f9d8200, 0x1f9d8282, 0x8940c900, 0x8940c9c9, 0xfa877d00, 0xfa877d7d, 0xef15fa00, 0xef15fafa, 0xb2eb5900, 0xb2eb5959, 0x8ec94700, 0x8ec94747, 0xfb0bf000, 0xfb0bf0f0, 0x41ecad00, 0x41ecadad, 0xb367d400, 0xb367d4d4, 0x5ffda200, 0x5ffda2a2, 0x45eaaf00, 0x45eaafaf, 0x23bf9c00, 0x23bf9c9c, 0x53f7a400, 0x53f7a4a4, 0xe4967200, 0xe4967272, 0x9b5bc000, 0x9b5bc0c0, 0x75c2b700, 0x75c2b7b7, 0xe11cfd00, 0xe11cfdfd, 0x3dae9300, 0x3dae9393, 0x4c6a2600, 0x4c6a2626, 0x6c5a3600, 0x6c5a3636, 0x7e413f00, 0x7e413f3f, 0xf502f700, 0xf502f7f7, 0x834fcc00, 0x834fcccc, 0x685c3400, 0x685c3434, 0x51f4a500, 0x51f4a5a5, 0xd134e500, 0xd134e5e5, 0xf908f100, 0xf908f1f1, 0xe2937100, 0xe2937171, 0xab73d800, 0xab73d8d8, 0x62533100, 0x62533131, 0x2a3f1500, 0x2a3f1515, 0x080c0400, 0x080c0404, 0x9552c700, 0x9552c7c7, 0x46652300, 0x46652323, 0x9d5ec300, 0x9d5ec3c3, 0x30281800, 0x30281818, 0x37a19600, 0x37a19696, 0x0a0f0500, 0x0a0f0505, 0x2fb59a00, 0x2fb59a9a, 0x0e090700, 0x0e090707, 0x24361200, 0x24361212, 0x1b9b8000, 0x1b9b8080, 0xdf3de200, 0xdf3de2e2, 0xcd26eb00, 0xcd26ebeb, 0x4e692700, 0x4e692727, 0x7fcdb200, 0x7fcdb2b2, 0xea9f7500, 0xea9f7575, 0x121b0900, 0x121b0909, 0x1d9e8300, 0x1d9e8383, 0x58742c00, 0x58742c2c, 0x342e1a00, 0x342e1a1a, 0x362d1b00, 0x362d1b1b, 0xdcb26e00, 0xdcb26e6e, 0xb4ee5a00, 0xb4ee5a5a, 0x5bfba000, 0x5bfba0a0, 0xa4f65200, 0xa4f65252, 0x764d3b00, 0x764d3b3b, 0xb761d600, 0xb761d6d6, 0x7dceb300, 0x7dceb3b3, 0x527b2900, 0x527b2929, 0xdd3ee300, 0xdd3ee3e3, 0x5e712f00, 0x5e712f2f, 0x13978400, 0x13978484, 0xa6f55300, 0xa6f55353, 0xb968d100, 0xb968d1d1, 0x00000000, 0x00000000, 0xc12ced00, 0xc12ceded, 0x40602000, 0x40602020, 0xe31ffc00, 0xe31ffcfc, 0x79c8b100, 0x79c8b1b1, 0xb6ed5b00, 0xb6ed5b5b, 0xd4be6a00, 0xd4be6a6a, 0x8d46cb00, 0x8d46cbcb, 0x67d9be00, 0x67d9bebe, 0x724b3900, 0x724b3939, 0x94de4a00, 0x94de4a4a, 0x98d44c00, 0x98d44c4c, 0xb0e85800, 0xb0e85858, 0x854acf00, 0x854acfcf, 0xbb6bd000, 0xbb6bd0d0, 0xc52aef00, 0xc52aefef, 0x4fe5aa00, 0x4fe5aaaa, 0xed16fb00, 0xed16fbfb, 0x86c54300, 0x86c54343, 0x9ad74d00, 0x9ad74d4d, 0x66553300, 0x66553333, 0x11948500, 0x11948585, 0x8acf4500, 0x8acf4545, 0xe910f900, 0xe910f9f9, 0x04060200, 0x04060202, 0xfe817f00, 0xfe817f7f, 0xa0f05000, 0xa0f05050, 0x78443c00, 0x78443c3c, 0x25ba9f00, 0x25ba9f9f, 0x4be3a800, 0x4be3a8a8, 0xa2f35100, 0xa2f35151, 0x5dfea300, 0x5dfea3a3, 0x80c04000, 0x80c04040, 0x058a8f00, 0x058a8f8f, 0x3fad9200, 0x3fad9292, 0x21bc9d00, 0x21bc9d9d, 0x70483800, 0x70483838, 0xf104f500, 0xf104f5f5, 0x63dfbc00, 0x63dfbcbc, 0x77c1b600, 0x77c1b6b6, 0xaf75da00, 0xaf75dada, 0x42632100, 0x42632121, 0x20301000, 0x20301010, 0xe51aff00, 0xe51affff, 0xfd0ef300, 0xfd0ef3f3, 0xbf6dd200, 0xbf6dd2d2, 0x814ccd00, 0x814ccdcd, 0x18140c00, 0x18140c0c, 0x26351300, 0x26351313, 0xc32fec00, 0xc32fecec, 0xbee15f00, 0xbee15f5f, 0x35a29700, 0x35a29797, 0x88cc4400, 0x88cc4444, 0x2e391700, 0x2e391717, 0x9357c400, 0x9357c4c4, 0x55f2a700, 0x55f2a7a7, 0xfc827e00, 0xfc827e7e, 0x7a473d00, 0x7a473d3d, 0xc8ac6400, 0xc8ac6464, 0xbae75d00, 0xbae75d5d, 0x322b1900, 0x322b1919, 0xe6957300, 0xe6957373, 0xc0a06000, 0xc0a06060, 0x19988100, 0x19988181, 0x9ed14f00, 0x9ed14f4f, 0xa37fdc00, 0xa37fdcdc, 0x44662200, 0x44662222, 0x547e2a00, 0x547e2a2a, 0x3bab9000, 0x3bab9090, 0x0b838800, 0x0b838888, 0x8cca4600, 0x8cca4646, 0xc729ee00, 0xc729eeee, 0x6bd3b800, 0x6bd3b8b8, 0x283c1400, 0x283c1414, 0xa779de00, 0xa779dede, 0xbce25e00, 0xbce25e5e, 0x161d0b00, 0x161d0b0b, 0xad76db00, 0xad76dbdb, 0xdb3be000, 0xdb3be0e0, 0x64563200, 0x64563232, 0x744e3a00, 0x744e3a3a, 0x141e0a00, 0x141e0a0a, 0x92db4900, 0x92db4949, 0x0c0a0600, 0x0c0a0606, 0x486c2400, 0x486c2424, 0xb8e45c00, 0xb8e45c5c, 0x9f5dc200, 0x9f5dc2c2, 0xbd6ed300, 0xbd6ed3d3, 0x43efac00, 0x43efacac, 0xc4a66200, 0xc4a66262, 0x39a89100, 0x39a89191, 0x31a49500, 0x31a49595, 0xd337e400, 0xd337e4e4, 0xf28b7900, 0xf28b7979, 0xd532e700, 0xd532e7e7, 0x8b43c800, 0x8b43c8c8, 0x6e593700, 0x6e593737, 0xdab76d00, 0xdab76d6d, 0x018c8d00, 0x018c8d8d, 0xb164d500, 0xb164d5d5, 0x9cd24e00, 0x9cd24e4e, 0x49e0a900, 0x49e0a9a9, 0xd8b46c00, 0xd8b46c6c, 0xacfa5600, 0xacfa5656, 0xf307f400, 0xf307f4f4, 0xcf25ea00, 0xcf25eaea, 0xcaaf6500, 0xcaaf6565, 0xf48e7a00, 0xf48e7a7a, 0x47e9ae00, 0x47e9aeae, 0x10180800, 0x10180808, 0x6fd5ba00, 0x6fd5baba, 0xf0887800, 0xf0887878, 0x4a6f2500, 0x4a6f2525, 0x5c722e00, 0x5c722e2e, 0x38241c00, 0x38241c1c, 0x57f1a600, 0x57f1a6a6, 0x73c7b400, 0x73c7b4b4, 0x9751c600, 0x9751c6c6, 0xcb23e800, 0xcb23e8e8, 0xa17cdd00, 0xa17cdddd, 0xe89c7400, 0xe89c7474, 0x3e211f00, 0x3e211f1f, 0x96dd4b00, 0x96dd4b4b, 0x61dcbd00, 0x61dcbdbd, 0x0d868b00, 0x0d868b8b, 0x0f858a00, 0x0f858a8a, 0xe0907000, 0xe0907070, 0x7c423e00, 0x7c423e3e, 0x71c4b500, 0x71c4b5b5, 0xccaa6600, 0xccaa6666, 0x90d84800, 0x90d84848, 0x06050300, 0x06050303, 0xf701f600, 0xf701f6f6, 0x1c120e00, 0x1c120e0e, 0xc2a36100, 0xc2a36161, 0x6a5f3500, 0x6a5f3535, 0xaef95700, 0xaef95757, 0x69d0b900, 0x69d0b9b9, 0x17918600, 0x17918686, 0x9958c100, 0x9958c1c1, 0x3a271d00, 0x3a271d1d, 0x27b99e00, 0x27b99e9e, 0xd938e100, 0xd938e1e1, 0xeb13f800, 0xeb13f8f8, 0x2bb39800, 0x2bb39898, 0x22331100, 0x22331111, 0xd2bb6900, 0xd2bb6969, 0xa970d900, 0xa970d9d9, 0x07898e00, 0x07898e8e, 0x33a79400, 0x33a79494, 0x2db69b00, 0x2db69b9b, 0x3c221e00, 0x3c221e1e, 0x15928700, 0x15928787, 0xc920e900, 0xc920e9e9, 0x8749ce00, 0x8749cece, 0xaaff5500, 0xaaff5555, 0x50782800, 0x50782828, 0xa57adf00, 0xa57adfdf, 0x038f8c00, 0x038f8c8c, 0x59f8a100, 0x59f8a1a1, 0x09808900, 0x09808989, 0x1a170d00, 0x1a170d0d, 0x65dabf00, 0x65dabfbf, 0xd731e600, 0xd731e6e6, 0x84c64200, 0x84c64242, 0xd0b86800, 0xd0b86868, 0x82c34100, 0x82c34141, 0x29b09900, 0x29b09999, 0x5a772d00, 0x5a772d2d, 0x1e110f00, 0x1e110f0f, 0x7bcbb000, 0x7bcbb0b0, 0xa8fc5400, 0xa8fc5454, 0x6dd6bb00, 0x6dd6bbbb, 0x2c3a1600, 0x2c3a1616, } ; #define table0 (3 + (char *) &aes_little_constants[10]) #define table1 (2 + (char *) &aes_little_constants[10]) #define table2 (1 + (char *) &aes_little_constants[10]) #define table3 (4 + (char *) &aes_little_constants[10]) #define tablex (0 + (char *) &aes_little_constants[10])