camellia.c revision 2
2N/A/* This file was automatically imported with 2N/A import_gcry.py. Please don't modify it */ 2N/A * Copyright (C) 2006,2007 2N/A * NTT (Nippon Telegraph and Telephone Corporation). 2N/A * This library is free software; you can redistribute it and/or 2N/A * modify it under the terms of the GNU Lesser General Public 2N/A * License as published by the Free Software Foundation; either 2N/A * version 2.1 of the License, or (at your option) any later version. 2N/A * This library is distributed in the hope that it will be useful, 2N/A * but WITHOUT ANY WARRANTY; without even the implied warranty of 2N/A * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 2N/A * Lesser General Public License for more details. 2N/A * You should have received a copy of the GNU Lesser General Public 2N/A * License along with this library; if not, write to the Free Software 2N/A * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 2N/A * Algorithm Specification 2N/A/* u32 must be 32bit word */ 2N/A#
else /* not MS-VC */ 2N/A/* rotation right shift 1byte */ 2N/A/* rotation left shift 1bit */ 2N/A/* rotation left shift 1byte */ 2N/A#
define CAMELLIA_FLS(
ll,
lr,
rl,
rr,
kll,
klr,
krl,
krr,
t0,
t1,
t2,
t3) \
2N/A 0x70707000,
0x82828200,
0x2c2c2c00,
0xececec00,
2N/A 0xb3b3b300,
0x27272700,
0xc0c0c000,
0xe5e5e500,
2N/A 0xe4e4e400,
0x85858500,
0x57575700,
0x35353500,
2N/A 0xeaeaea00,
0x0c0c0c00,
0xaeaeae00,
0x41414100,
2N/A 0x23232300,
0xefefef00,
0x6b6b6b00,
0x93939300,
2N/A 0x45454500,
0x19191900,
0xa5a5a500,
0x21212100,
2N/A 0xededed00,
0x0e0e0e00,
0x4f4f4f00,
0x4e4e4e00,
2N/A 0x1d1d1d00,
0x65656500,
0x92929200,
0xbdbdbd00,
2N/A 0x86868600,
0xb8b8b800,
0xafafaf00,
0x8f8f8f00,
2N/A 0x7c7c7c00,
0xebebeb00,
0x1f1f1f00,
0xcecece00,
2N/A 0x3e3e3e00,
0x30303000,
0xdcdcdc00,
0x5f5f5f00,
2N/A 0x5e5e5e00,
0xc5c5c500,
0x0b0b0b00,
0x1a1a1a00,
2N/A 0xa6a6a600,
0xe1e1e100,
0x39393900,
0xcacaca00,
2N/A 0xd5d5d500,
0x47474700,
0x5d5d5d00,
0x3d3d3d00,
2N/A 0xd9d9d900,
0x01010100,
0x5a5a5a00,
0xd6d6d600,
2N/A 0x51515100,
0x56565600,
0x6c6c6c00,
0x4d4d4d00,
2N/A 0x8b8b8b00,
0x0d0d0d00,
0x9a9a9a00,
0x66666600,
2N/A 0xfbfbfb00,
0xcccccc00,
0xb0b0b000,
0x2d2d2d00,
2N/A 0x74747400,
0x12121200,
0x2b2b2b00,
0x20202000,
2N/A 0xf0f0f000,
0xb1b1b100,
0x84848400,
0x99999900,
2N/A 0xdfdfdf00,
0x4c4c4c00,
0xcbcbcb00,
0xc2c2c200,
2N/A 0x34343400,
0x7e7e7e00,
0x76767600,
0x05050500,
2N/A 0x6d6d6d00,
0xb7b7b700,
0xa9a9a900,
0x31313100,
2N/A 0xd1d1d100,
0x17171700,
0x04040400,
0xd7d7d700,
2N/A 0x14141400,
0x58585800,
0x3a3a3a00,
0x61616100,
2N/A 0xdedede00,
0x1b1b1b00,
0x11111100,
0x1c1c1c00,
2N/A 0x32323200,
0x0f0f0f00,
0x9c9c9c00,
0x16161600,
2N/A 0x53535300,
0x18181800,
0xf2f2f200,
0x22222200,
2N/A 0xfefefe00,
0x44444400,
0xcfcfcf00,
0xb2b2b200,
2N/A 0xc3c3c300,
0xb5b5b500,
0x7a7a7a00,
0x91919100,
2N/A 0x24242400,
0x08080800,
0xe8e8e800,
0xa8a8a800,
2N/A 0x60606000,
0xfcfcfc00,
0x69696900,
0x50505000,
2N/A 0xaaaaaa00,
0xd0d0d000,
0xa0a0a000,
0x7d7d7d00,
2N/A 0xa1a1a100,
0x89898900,
0x62626200,
0x97979700,
2N/A 0x54545400,
0x5b5b5b00,
0x1e1e1e00,
0x95959500,
2N/A 0xe0e0e000,
0xffffff00,
0x64646400,
0xd2d2d200,
2N/A 0x10101000,
0xc4c4c400,
0x00000000,
0x48484800,
2N/A 0xa3a3a300,
0xf7f7f700,
0x75757500,
0xdbdbdb00,
2N/A 0x8a8a8a00,
0x03030300,
0xe6e6e600,
0xdadada00,
2N/A 0x09090900,
0x3f3f3f00,
0xdddddd00,
0x94949400,
2N/A 0x87878700,
0x5c5c5c00,
0x83838300,
0x02020200,
2N/A 0xcdcdcd00,
0x4a4a4a00,
0x90909000,
0x33333300,
2N/A 0x73737300,
0x67676700,
0xf6f6f600,
0xf3f3f300,
2N/A 0x9d9d9d00,
0x7f7f7f00,
0xbfbfbf00,
0xe2e2e200,
2N/A 0x52525200,
0x9b9b9b00,
0xd8d8d800,
0x26262600,
2N/A 0xc8c8c800,
0x37373700,
0xc6c6c600,
0x3b3b3b00,
2N/A 0x81818100,
0x96969600,
0x6f6f6f00,
0x4b4b4b00,
2N/A 0x13131300,
0xbebebe00,
0x63636300,
0x2e2e2e00,
2N/A 0xe9e9e900,
0x79797900,
0xa7a7a700,
0x8c8c8c00,
2N/A 0x9f9f9f00,
0x6e6e6e00,
0xbcbcbc00,
0x8e8e8e00,
2N/A 0x29292900,
0xf5f5f500,
0xf9f9f900,
0xb6b6b600,
2N/A 0x2f2f2f00,
0xfdfdfd00,
0xb4b4b400,
0x59595900,
2N/A 0x78787800,
0x98989800,
0x06060600,
0x6a6a6a00,
2N/A 0xe7e7e700,
0x46464600,
0x71717100,
0xbababa00,
2N/A 0xd4d4d400,
0x25252500,
0xababab00,
0x42424200,
2N/A 0x88888800,
0xa2a2a200,
0x8d8d8d00,
0xfafafa00,
2N/A 0x72727200,
0x07070700,
0xb9b9b900,
0x55555500,
2N/A 0xf8f8f800,
0xeeeeee00,
0xacacac00,
0x0a0a0a00,
2N/A 0x36363600,
0x49494900,
0x2a2a2a00,
0x68686800,
2N/A 0x3c3c3c00,
0x38383800,
0xf1f1f100,
0xa4a4a400,
2N/A 0x40404000,
0x28282800,
0xd3d3d300,
0x7b7b7b00,
2N/A 0xbbbbbb00,
0xc9c9c900,
0x43434300,
0xc1c1c100,
2N/A 0x15151500,
0xe3e3e300,
0xadadad00,
0xf4f4f400,
2N/A 0x77777700,
0xc7c7c700,
0x80808000,
0x9e9e9e00,
2N/A 0x00e0e0e0,
0x00050505,
0x00585858,
0x00d9d9d9,
2N/A 0x00676767,
0x004e4e4e,
0x00818181,
0x00cbcbcb,
2N/A 0x00c9c9c9,
0x000b0b0b,
0x00aeaeae,
0x006a6a6a,
2N/A 0x00d5d5d5,
0x00181818,
0x005d5d5d,
0x00828282,
2N/A 0x00464646,
0x00dfdfdf,
0x00d6d6d6,
0x00272727,
2N/A 0x008a8a8a,
0x00323232,
0x004b4b4b,
0x00424242,
2N/A 0x00dbdbdb,
0x001c1c1c,
0x009e9e9e,
0x009c9c9c,
2N/A 0x003a3a3a,
0x00cacaca,
0x00252525,
0x007b7b7b,
2N/A 0x000d0d0d,
0x00717171,
0x005f5f5f,
0x001f1f1f,
2N/A 0x00f8f8f8,
0x00d7d7d7,
0x003e3e3e,
0x009d9d9d,
2N/A 0x007c7c7c,
0x00606060,
0x00b9b9b9,
0x00bebebe,
2N/A 0x00bcbcbc,
0x008b8b8b,
0x00161616,
0x00343434,
2N/A 0x004d4d4d,
0x00c3c3c3,
0x00727272,
0x00959595,
2N/A 0x00ababab,
0x008e8e8e,
0x00bababa,
0x007a7a7a,
2N/A 0x00b3b3b3,
0x00020202,
0x00b4b4b4,
0x00adadad,
2N/A 0x00a2a2a2,
0x00acacac,
0x00d8d8d8,
0x009a9a9a,
2N/A 0x00171717,
0x001a1a1a,
0x00353535,
0x00cccccc,
2N/A 0x00f7f7f7,
0x00999999,
0x00616161,
0x005a5a5a,
2N/A 0x00e8e8e8,
0x00242424,
0x00565656,
0x00404040,
2N/A 0x00e1e1e1,
0x00636363,
0x00090909,
0x00333333,
2N/A 0x00bfbfbf,
0x00989898,
0x00979797,
0x00858585,
2N/A 0x00686868,
0x00fcfcfc,
0x00ececec,
0x000a0a0a,
2N/A 0x00dadada,
0x006f6f6f,
0x00535353,
0x00626262,
2N/A 0x00a3a3a3,
0x002e2e2e,
0x00080808,
0x00afafaf,
2N/A 0x00282828,
0x00b0b0b0,
0x00747474,
0x00c2c2c2,
2N/A 0x00bdbdbd,
0x00363636,
0x00222222,
0x00383838,
2N/A 0x00646464,
0x001e1e1e,
0x00393939,
0x002c2c2c,
2N/A 0x00a6a6a6,
0x00303030,
0x00e5e5e5,
0x00444444,
2N/A 0x00fdfdfd,
0x00888888,
0x009f9f9f,
0x00656565,
2N/A 0x00878787,
0x006b6b6b,
0x00f4f4f4,
0x00232323,
2N/A 0x00484848,
0x00101010,
0x00d1d1d1,
0x00515151,
2N/A 0x00c0c0c0,
0x00f9f9f9,
0x00d2d2d2,
0x00a0a0a0,
2N/A 0x00555555,
0x00a1a1a1,
0x00414141,
0x00fafafa,
2N/A 0x00434343,
0x00131313,
0x00c4c4c4,
0x002f2f2f,
2N/A 0x00a8a8a8,
0x00b6b6b6,
0x003c3c3c,
0x002b2b2b,
2N/A 0x00c1c1c1,
0x00ffffff,
0x00c8c8c8,
0x00a5a5a5,
2N/A 0x00202020,
0x00898989,
0x00000000,
0x00909090,
2N/A 0x00474747,
0x00efefef,
0x00eaeaea,
0x00b7b7b7,
2N/A 0x00151515,
0x00060606,
0x00cdcdcd,
0x00b5b5b5,
2N/A 0x00121212,
0x007e7e7e,
0x00bbbbbb,
0x00292929,
2N/A 0x000f0f0f,
0x00b8b8b8,
0x00070707,
0x00040404,
2N/A 0x009b9b9b,
0x00949494,
0x00212121,
0x00666666,
2N/A 0x00e6e6e6,
0x00cecece,
0x00ededed,
0x00e7e7e7,
2N/A 0x003b3b3b,
0x00fefefe,
0x007f7f7f,
0x00c5c5c5,
2N/A 0x00a4a4a4,
0x00373737,
0x00b1b1b1,
0x004c4c4c,
2N/A 0x00919191,
0x006e6e6e,
0x008d8d8d,
0x00767676,
2N/A 0x00030303,
0x002d2d2d,
0x00dedede,
0x00969696,
2N/A 0x00262626,
0x007d7d7d,
0x00c6c6c6,
0x005c5c5c,
2N/A 0x00d3d3d3,
0x00f2f2f2,
0x004f4f4f,
0x00191919,
2N/A 0x003f3f3f,
0x00dcdcdc,
0x00797979,
0x001d1d1d,
2N/A 0x00525252,
0x00ebebeb,
0x00f3f3f3,
0x006d6d6d,
2N/A 0x005e5e5e,
0x00fbfbfb,
0x00696969,
0x00b2b2b2,
2N/A 0x00f0f0f0,
0x00313131,
0x000c0c0c,
0x00d4d4d4,
2N/A 0x00cfcfcf,
0x008c8c8c,
0x00e2e2e2,
0x00757575,
2N/A 0x00a9a9a9,
0x004a4a4a,
0x00575757,
0x00848484,
2N/A 0x00111111,
0x00454545,
0x001b1b1b,
0x00f5f5f5,
2N/A 0x00e4e4e4,
0x000e0e0e,
0x00737373,
0x00aaaaaa,
2N/A 0x00f1f1f1,
0x00dddddd,
0x00595959,
0x00141414,
2N/A 0x006c6c6c,
0x00929292,
0x00545454,
0x00d0d0d0,
2N/A 0x00787878,
0x00707070,
0x00e3e3e3,
0x00494949,
2N/A 0x00808080,
0x00505050,
0x00a7a7a7,
0x00f6f6f6,
2N/A 0x00777777,
0x00939393,
0x00868686,
0x00838383,
2N/A 0x002a2a2a,
0x00c7c7c7,
0x005b5b5b,
0x00e9e9e9,
2N/A 0x00eeeeee,
0x008f8f8f,
0x00010101,
0x003d3d3d,
2N/A 0x38003838,
0x41004141,
0x16001616,
0x76007676,
2N/A 0xd900d9d9,
0x93009393,
0x60006060,
0xf200f2f2,
2N/A 0x72007272,
0xc200c2c2,
0xab00abab,
0x9a009a9a,
2N/A 0x75007575,
0x06000606,
0x57005757,
0xa000a0a0,
2N/A 0x91009191,
0xf700f7f7,
0xb500b5b5,
0xc900c9c9,
2N/A 0xa200a2a2,
0x8c008c8c,
0xd200d2d2,
0x90009090,
2N/A 0xf600f6f6,
0x07000707,
0xa700a7a7,
0x27002727,
2N/A 0x8e008e8e,
0xb200b2b2,
0x49004949,
0xde00dede,
2N/A 0x43004343,
0x5c005c5c,
0xd700d7d7,
0xc700c7c7,
2N/A 0x3e003e3e,
0xf500f5f5,
0x8f008f8f,
0x67006767,
2N/A 0x1f001f1f,
0x18001818,
0x6e006e6e,
0xaf00afaf,
2N/A 0x2f002f2f,
0xe200e2e2,
0x85008585,
0x0d000d0d,
2N/A 0x53005353,
0xf000f0f0,
0x9c009c9c,
0x65006565,
2N/A 0xea00eaea,
0xa300a3a3,
0xae00aeae,
0x9e009e9e,
2N/A 0xec00ecec,
0x80008080,
0x2d002d2d,
0x6b006b6b,
2N/A 0xa800a8a8,
0x2b002b2b,
0x36003636,
0xa600a6a6,
2N/A 0xc500c5c5,
0x86008686,
0x4d004d4d,
0x33003333,
2N/A 0xfd00fdfd,
0x66006666,
0x58005858,
0x96009696,
2N/A 0x3a003a3a,
0x09000909,
0x95009595,
0x10001010,
2N/A 0x78007878,
0xd800d8d8,
0x42004242,
0xcc00cccc,
2N/A 0xef00efef,
0x26002626,
0xe500e5e5,
0x61006161,
2N/A 0x1a001a1a,
0x3f003f3f,
0x3b003b3b,
0x82008282,
2N/A 0xb600b6b6,
0xdb00dbdb,
0xd400d4d4,
0x98009898,
2N/A 0xe800e8e8,
0x8b008b8b,
0x02000202,
0xeb00ebeb,
2N/A 0x0a000a0a,
0x2c002c2c,
0x1d001d1d,
0xb000b0b0,
2N/A 0x6f006f6f,
0x8d008d8d,
0x88008888,
0x0e000e0e,
2N/A 0x19001919,
0x87008787,
0x4e004e4e,
0x0b000b0b,
2N/A 0xa900a9a9,
0x0c000c0c,
0x79007979,
0x11001111,
2N/A 0x7f007f7f,
0x22002222,
0xe700e7e7,
0x59005959,
2N/A 0xe100e1e1,
0xda00dada,
0x3d003d3d,
0xc800c8c8,
2N/A 0x12001212,
0x04000404,
0x74007474,
0x54005454,
2N/A 0x30003030,
0x7e007e7e,
0xb400b4b4,
0x28002828,
2N/A 0x55005555,
0x68006868,
0x50005050,
0xbe00bebe,
2N/A 0xd000d0d0,
0xc400c4c4,
0x31003131,
0xcb00cbcb,
2N/A 0x2a002a2a,
0xad00adad,
0x0f000f0f,
0xca00caca,
2N/A 0x70007070,
0xff00ffff,
0x32003232,
0x69006969,
2N/A 0x08000808,
0x62006262,
0x00000000,
0x24002424,
2N/A 0xd100d1d1,
0xfb00fbfb,
0xba00baba,
0xed00eded,
2N/A 0x45004545,
0x81008181,
0x73007373,
0x6d006d6d,
2N/A 0x84008484,
0x9f009f9f,
0xee00eeee,
0x4a004a4a,
2N/A 0xc300c3c3,
0x2e002e2e,
0xc100c1c1,
0x01000101,
2N/A 0xe600e6e6,
0x25002525,
0x48004848,
0x99009999,
2N/A 0xb900b9b9,
0xb300b3b3,
0x7b007b7b,
0xf900f9f9,
2N/A 0xce00cece,
0xbf00bfbf,
0xdf00dfdf,
0x71007171,
2N/A 0x29002929,
0xcd00cdcd,
0x6c006c6c,
0x13001313,
2N/A 0x64006464,
0x9b009b9b,
0x63006363,
0x9d009d9d,
2N/A 0xc000c0c0,
0x4b004b4b,
0xb700b7b7,
0xa500a5a5,
2N/A 0x89008989,
0x5f005f5f,
0xb100b1b1,
0x17001717,
2N/A 0xf400f4f4,
0xbc00bcbc,
0xd300d3d3,
0x46004646,
2N/A 0xcf00cfcf,
0x37003737,
0x5e005e5e,
0x47004747,
2N/A 0x94009494,
0xfa00fafa,
0xfc00fcfc,
0x5b005b5b,
2N/A 0x97009797,
0xfe00fefe,
0x5a005a5a,
0xac00acac,
2N/A 0x3c003c3c,
0x4c004c4c,
0x03000303,
0x35003535,
2N/A 0xf300f3f3,
0x23002323,
0xb800b8b8,
0x5d005d5d,
2N/A 0x6a006a6a,
0x92009292,
0xd500d5d5,
0x21002121,
2N/A 0x44004444,
0x51005151,
0xc600c6c6,
0x7d007d7d,
2N/A 0x39003939,
0x83008383,
0xdc00dcdc,
0xaa00aaaa,
2N/A 0x7c007c7c,
0x77007777,
0x56005656,
0x05000505,
2N/A 0x1b001b1b,
0xa400a4a4,
0x15001515,
0x34003434,
2N/A 0x1e001e1e,
0x1c001c1c,
0xf800f8f8,
0x52005252,
2N/A 0x20002020,
0x14001414,
0xe900e9e9,
0xbd00bdbd,
2N/A 0xdd00dddd,
0xe400e4e4,
0xa100a1a1,
0xe000e0e0,
2N/A 0x8a008a8a,
0xf100f1f1,
0xd600d6d6,
0x7a007a7a,
2N/A 0xbb00bbbb,
0xe300e3e3,
0x40004040,
0x4f004f4f,
2N/A 0x70700070,
0x2c2c002c,
0xb3b300b3,
0xc0c000c0,
2N/A 0xe4e400e4,
0x57570057,
0xeaea00ea,
0xaeae00ae,
2N/A 0x23230023,
0x6b6b006b,
0x45450045,
0xa5a500a5,
2N/A 0xeded00ed,
0x4f4f004f,
0x1d1d001d,
0x92920092,
2N/A 0x86860086,
0xafaf00af,
0x7c7c007c,
0x1f1f001f,
2N/A 0x3e3e003e,
0xdcdc00dc,
0x5e5e005e,
0x0b0b000b,
2N/A 0xa6a600a6,
0x39390039,
0xd5d500d5,
0x5d5d005d,
2N/A 0xd9d900d9,
0x5a5a005a,
0x51510051,
0x6c6c006c,
2N/A 0x8b8b008b,
0x9a9a009a,
0xfbfb00fb,
0xb0b000b0,
2N/A 0x74740074,
0x2b2b002b,
0xf0f000f0,
0x84840084,
2N/A 0xdfdf00df,
0xcbcb00cb,
0x34340034,
0x76760076,
2N/A 0x6d6d006d,
0xa9a900a9,
0xd1d100d1,
0x04040004,
2N/A 0x14140014,
0x3a3a003a,
0xdede00de,
0x11110011,
2N/A 0x32320032,
0x9c9c009c,
0x53530053,
0xf2f200f2,
2N/A 0xfefe00fe,
0xcfcf00cf,
0xc3c300c3,
0x7a7a007a,
2N/A 0x24240024,
0xe8e800e8,
0x60600060,
0x69690069,
2N/A 0xaaaa00aa,
0xa0a000a0,
0xa1a100a1,
0x62620062,
2N/A 0x54540054,
0x1e1e001e,
0xe0e000e0,
0x64640064,
2N/A 0x10100010,
0x00000000,
0xa3a300a3,
0x75750075,
2N/A 0x8a8a008a,
0xe6e600e6,
0x09090009,
0xdddd00dd,
2N/A 0x87870087,
0x83830083,
0xcdcd00cd,
0x90900090,
2N/A 0x73730073,
0xf6f600f6,
0x9d9d009d,
0xbfbf00bf,
2N/A 0x52520052,
0xd8d800d8,
0xc8c800c8,
0xc6c600c6,
2N/A 0x81810081,
0x6f6f006f,
0x13130013,
0x63630063,
2N/A 0xe9e900e9,
0xa7a700a7,
0x9f9f009f,
0xbcbc00bc,
2N/A 0x29290029,
0xf9f900f9,
0x2f2f002f,
0xb4b400b4,
2N/A 0x78780078,
0x06060006,
0xe7e700e7,
0x71710071,
2N/A 0xd4d400d4,
0xabab00ab,
0x88880088,
0x8d8d008d,
2N/A 0x72720072,
0xb9b900b9,
0xf8f800f8,
0xacac00ac,
2N/A 0x36360036,
0x2a2a002a,
0x3c3c003c,
0xf1f100f1,
2N/A 0x40400040,
0xd3d300d3,
0xbbbb00bb,
0x43430043,
2N/A 0x15150015,
0xadad00ad,
0x77770077,
0x80800080,
2N/A 0x82820082,
0xecec00ec,
0x27270027,
0xe5e500e5,
2N/A 0x85850085,
0x35350035,
0x0c0c000c,
0x41410041,
2N/A 0xefef00ef,
0x93930093,
0x19190019,
0x21210021,
2N/A 0x0e0e000e,
0x4e4e004e,
0x65650065,
0xbdbd00bd,
2N/A 0xb8b800b8,
0x8f8f008f,
0xebeb00eb,
0xcece00ce,
2N/A 0x30300030,
0x5f5f005f,
0xc5c500c5,
0x1a1a001a,
2N/A 0xe1e100e1,
0xcaca00ca,
0x47470047,
0x3d3d003d,
2N/A 0x01010001,
0xd6d600d6,
0x56560056,
0x4d4d004d,
2N/A 0x0d0d000d,
0x66660066,
0xcccc00cc,
0x2d2d002d,
2N/A 0x12120012,
0x20200020,
0xb1b100b1,
0x99990099,
2N/A 0x4c4c004c,
0xc2c200c2,
0x7e7e007e,
0x05050005,
2N/A 0xb7b700b7,
0x31310031,
0x17170017,
0xd7d700d7,
2N/A 0x58580058,
0x61610061,
0x1b1b001b,
0x1c1c001c,
2N/A 0x0f0f000f,
0x16160016,
0x18180018,
0x22220022,
2N/A 0x44440044,
0xb2b200b2,
0xb5b500b5,
0x91910091,
2N/A 0x08080008,
0xa8a800a8,
0xfcfc00fc,
0x50500050,
2N/A 0xd0d000d0,
0x7d7d007d,
0x89890089,
0x97970097,
2N/A 0x5b5b005b,
0x95950095,
0xffff00ff,
0xd2d200d2,
2N/A 0xc4c400c4,
0x48480048,
0xf7f700f7,
0xdbdb00db,
2N/A 0x03030003,
0xdada00da,
0x3f3f003f,
0x94940094,
2N/A 0x5c5c005c,
0x02020002,
0x4a4a004a,
0x33330033,
2N/A 0x67670067,
0xf3f300f3,
0x7f7f007f,
0xe2e200e2,
2N/A 0x9b9b009b,
0x26260026,
0x37370037,
0x3b3b003b,
2N/A 0x96960096,
0x4b4b004b,
0xbebe00be,
0x2e2e002e,
2N/A 0x79790079,
0x8c8c008c,
0x6e6e006e,
0x8e8e008e,
2N/A 0xf5f500f5,
0xb6b600b6,
0xfdfd00fd,
0x59590059,
2N/A 0x98980098,
0x6a6a006a,
0x46460046,
0xbaba00ba,
2N/A 0x25250025,
0x42420042,
0xa2a200a2,
0xfafa00fa,
2N/A 0x07070007,
0x55550055,
0xeeee00ee,
0x0a0a000a,
2N/A 0x49490049,
0x68680068,
0x38380038,
0xa4a400a4,
2N/A 0x28280028,
0x7b7b007b,
0xc9c900c9,
0xc1c100c1,
2N/A 0xe3e300e3,
0xf4f400f4,
0xc7c700c7,
0x9e9e009e,
2N/A * Stuff related to the Camellia key schedule 2N/A * k == kll || klr || krl || krr (|| is concatination) 2N/A * generate KL dependent subkeys 2N/A /* generate KA dependent subkeys */ 2N/A /* absorb kw2 to other subkeys */ 2N/A /* absorb kw4 to other subkeys */ 2N/A /* key XOR is end of F-function */ 2N/A /* apply the inverse of the last half of P-function */ 2N/A * key = (kll || klr || krl || krr || krll || krlr || krrl || krrr) 2N/A * (|| is concatination) 2N/A /* generate KL dependent subkeys */ 2N/A /* generate KR dependent subkeys */ 2N/A /* generate KA dependent subkeys */ 2N/A /* generate KB dependent subkeys */ 2N/A /* absorb kw2 to other subkeys */ 2N/A /* absorb kw4 to other subkeys */ 2N/A /* key XOR is end of F-function */ 2N/A /* apply the inverse of the last half of P-function */ 2N/A * "io" must be 4byte aligned and big-endian data. 2N/A /* pre whitening but absorb kw2*/ 2N/A /* main iteration */ 2N/A /* post whitening but kw4 */ 2N/A /* pre whitening but absorb kw2*/ 2N/A /* main iteration */ 2N/A /* post whitening but kw4 */ 2N/A /* pre whitening but absorb kw2*/ 2N/A /* main iteration */ 2N/A /* post whitening but kw4 */ 2N/A /* pre whitening but absorb kw2*/ 2N/A /* main iteration */ 2N/A /* post whitening but kw4 */ 2N/A * API for compatibility