linux/crypto/anubis.c
<<
opti.6./spaue= .6./forme= .6.a opti.6 href="../linux+v3 1/crypto/anubis.c">opti.6.img src="../.static/gfx/right.png" alt=">>">op./spaue=op.spau class="lxr_search">optiopti.6.input typ vhidden" nam vnavtarget" > v">opti.6.input typ vtext" nam vsearch" id vsearch">opti.6.butt" typ vsubmit">Searchopti.6Prefs= .6./a>op./spaue=ti.6 6./dive=ti.6 6.form acvalu="ajax+*" method="post" onsubmit="return false;">op.input typ vhidden" nam vajax_lookup" id vajax_lookup" > v">oti.6 6./forme=oti.6 6.div class="headingbott"m">= .div id vfile_contents"e
6 61./a>.spau class="comment">/*./spaue=6 62./a>.spau class="comment"> * Cryptographic API../spaue=6 63./a>.spau class="comment"> *./spaue=6 64./a>.spau class="comment"> * Anubis Algorithm./spaue=6 65./a>.spau class="comment"> *./spaue=6 66./a>.spau class="comment"> * The Anubis algorithm was developed by Paulo S. L. M. Barreto and./spaue=6 67./a>.spau class="comment"> * Vincent Rijmen../spaue=6 68./a>.spau class="comment"> *./spaue=6 69./a>.spau class="comment"> * See./spaue=6 valua>.spau class="comment"> *./spaue=6 11./a>.spau class="comment"> *      P.S.L.M. Barreto, V. Rijmen,./spaue=6 12./a>.spau class="comment"> *      ``The Anubis block cipher,''./spaue=6 13./a>.spau class="comment"> *      NESSIE submissalu, 2000../spaue=6 14./a>.spau class="comment"> *./spaue=6 15./a>.spau class="comment"> * This software implements the "tweaked" versalu of Anubis../spaue=6 16./a>.spau class="comment"> * Only the S-box and (consequently) the rounds constants have been./spaue=6 17./a>.spau class="comment"> * changed../spaue=6 18./a>.spau class="comment"> *./spaue=6 19./a>.spau class="comment"> * The original authors have disclaimed all copyright interest in this./spaue=6 2alua>.spau class="comment"> * code and thus put it in the public domain. The subsequent authors./spaue=6 21./a>.spau class="comment"> * have put this under the GNU General Public License../spaue=6 22./a>.spau class="comment"> *./spaue=6 23./a>.spau class="comment"> * By Aarlu Grothe ajgrothe@yahoo.com, October 28, 2004./spaue=6 24./a>.spau class="comment"> *./spaue=6 25./a>.spau class="comment"> * This program is free software; you cau redistribute it and/or modify./spaue=6 26./a>.spau class="comment"> * it under the terms of the GNU General Public License as published by./spaue=6 27./a>.spau class="comment"> * the Free Software Foundavalu; either versalu 2 of the License, or./spaue=6 28./a>.spau class="comment"> * (at your n valu) any later versalu../spaue=6 29./a>.spau class="comment"> *./spaue=6 3alua>.spau class="comment"> */./spaue=6 31./a>=6 32./a>#include <linux/init.h./a>>=6 33./a>#include <linux/module.h./a>>=6 34./a>#include <linux/mm.h./a>>=6 35./a>#include <asm/byteorder.h./a>>=6 36./a>#include <linux/crypto.h./a>>=6 37./a>#include <linux/typ s.h./a>>=6 38./a>=6 39./a>#define6.a href="+code=ANUBIS_MIN_KEY_SIZE" class="sref">ANUBIS_MIN_KEY_SIZE./a>     16=6 40./a>#define6.a href="+code=ANUBIS_MAX_KEY_SIZE" class="sref">ANUBIS_MAX_KEY_SIZE./a>     40=6 41./a>#define6.a href="+code=ANUBIS_BLOCK_SIZE" class="sref">ANUBIS_BLOCK_SIZE./a>       16=6 42./a>#define6.a href="+code=ANUBIS_MAX_N" class="sref">ANUBIS_MAX_N./a>            10=6 43./a>#define6.a href="+code=ANUBIS_MAX_ROUNDS" class="sref">ANUBIS_MAX_ROUNDS./a>       (8 +6.a href="+code=ANUBIS_MAX_N" class="sref">ANUBIS_MAX_N./a>)=6 44./a>=6 45./a>struct6.a href="+code=anubis_ctx" class="sref">anubis_ctx./a> {=6 46./a>        int6.a href="+code=key_len" class="sref">key_len./a>; .spau class="comment">// in bits./spaue=6 47./a>        int6.a href="+code=R" class="sref">R./a>;=6 48./a>        .a href="+code=u32" class="sref">u32./a> .a href="+code=E" class="sref">E./a>[.a href="+code=ANUBIS_MAX_ROUNDS" class="sref">ANUBIS_MAX_ROUNDS./a> + 1][4];=6 49./a>        .a href="+code=u32" class="sref">u32./a> .a href="+code=D" class="sref">D./a>[.a href="+code=ANUBIS_MAX_ROUNDS" class="sref">ANUBIS_MAX_ROUNDS./a> + 1][4];=6 50./a>};=6 51./a>=6 52./a>static const .a href="+code=u32" class="sref">u32./a> .a href="+code=T0" class="sref">T0./a>[256] = {=6 53./a>        0xba69d2bbU, 0x54a84de5U, 0x2f5ebce2U, 0x74e8cd25U,=6 54./a>        0x53a651f7U, 0xd3bb6bd0U, 0xd2b96fd6U, 0x4d9a29b3U,=6 55./a>        0x50a05dfdU, 0xac458acfU, 0x8d070e09U, 0xbf63c6a5U,=6 56./a>        0x70e0dd3dU, 0x52a455f1U, 0x9a29527bU, 0x4c982db5U,=6 57./a>        0xeac98f46U, 0xd5b773c4U, 0x97336655U, 0xd1bf63dcU,=6 58./a>        0x3366ccaaU, 0x51a259fbU, 0x5bb671c7U, 0xa651a2f3U,=6 59./a>        0xdea15ffeU, 0x48903dadU, 0xa84d9ad7U, 0x992f5e71U,=6 60./a>        0xdbab4be0U, 0x3264c8acU, 0xb773e695U, 0xfce5d732U,=6 61./a>        0xe3dbab70U, 0x9e214263U, 0x913f7e41U, 0x9b2b567dU,=6 62./a>        0xe2d9af76U, 0xbb6bd6bdU, 0x4182199bU, 0x6edca579U,=6 63./a>        0xa557aef9U, 0xcb8b0b80U, 0x6bd6b167U, 0x95376e59U,=6 64./a>        0xa15fbee1U, 0xf3fbeb10U, 0xb17ffe81U, 0x0204080cU,=6 65./a>        0xcc851792U, 0xc49537a2U, 0x1d3a744eU, 0x14285078U,=6 66./a>        0xc39b2bb0U, 0x63c69157U, 0xdaa94fe6U, 0x5dba69d3U,=6 67./a>        0x5fbe61dfU, 0xdca557f2U, 0x7dfae913U, 0xcd871394U,=6 68./a>        0x7ffee11fU, 0x5ab475c1U, 0x6cd8ad75U, 0x5cb86dd5U,=6 69./a>        0xf7f3fb08U, 0x264c98d4U, 0xffe3db38U, 0xedc79354U,=6 70./a>        0xe8cd874aU, 0x9d274e69U, 0x6fdea17fU, 0x8e010203U,=6 71./a>        0x19326456U, 0xa05dbae7U, 0xf0fde71aU, 0x890f1e11U,=6 72./a>        0x0f1e3c22U, 0x070e1c12U, 0xaf4386c5U, 0xfbebcb20U,=6 73./a>        0x08102030U, 0x152a547eU, 0x0d1a342eU, 0x04081018U,=6 74./a>        0x01020406U, 0x64c88d45U, 0xdfa35bf8U, 0x76ecc529U,=6 75./a>        0x79f2f90bU, 0xdda753f4U, 0x3d7af48eU, 0x162c5874U,=6 76./a>        0x3f7efc82U, 0x376edcb2U, 0x6ddaa973U, 0x3870e090U,=6 77./a>        0xb96fdeb1U, 0x73e6d137U, 0xe9cf834cU, 0x356ad4beU,=6 78./a>        0x55aa49e3U, 0x71e2d93bU, 0x7bf6f107U, 0x8c050a0fU,=6 79./a>        0x72e4d531U, 0x880d1a17U, 0xf6f1ff0eU, 0x2a54a8fcU,=6 80./a>        0x3e7cf884U, 0x5ebc65d9U, 0x274e9cd2U, 0x468c0589U,=6 81./a>        0x0c183028U, 0x65ca8943U, 0x68d0bd6dU, 0x61c2995bU,=6 82./a>        0x03060c0aU, 0xc19f23bcU, 0x57ae41efU, 0xd6b17fceU,=6 83./a>        0xd9af43ecU, 0x58b07dcdU, 0xd8ad47eaU, 0x66cc8549U,=6 84./a>        0xd7b37bc8U, 0x3a74e89cU, 0xc88d078aU, 0x3c78f088U,=6 85./a>        0xfae9cf26U, 0x96316253U, 0xa753a6f5U, 0x982d5a77U,=6 86./a>        0xecc59752U, 0xb86ddab7U, 0xc7933ba8U, 0xae4182c3U,=6 87./a>        0x69d2b96bU, 0x4b9631a7U, 0xab4b96ddU, 0xa94f9ed1U,=6 88./a>        0x67ce814fU, 0x0a14283cU, 0x478e018fU, 0xf2f9ef16U,=6 89./a>        0xb577ee99U, 0x224488ccU, 0xe5d7b364U, 0xeec19f5eU,=6 90./a>        0xbe61c2a3U, 0x2b56acfaU, 0x811f3e21U, 0x1224486cU,=6 91./a>        0x831b362dU, 0x1b366c5aU, 0x0e1c3824U, 0x23468ccaU,=6 92./a>        0xf5f7f304U, 0x458a0983U, 0x214284c6U, 0xce811f9eU,=6 93./a>        0x499239abU, 0x2c58b0e8U, 0xf9efc32cU, 0xe6d1bf6eU,=6 94./a>        0xb671e293U, 0x2850a0f0U, 0x172e5c72U, 0x8219322bU,=6 95./a>        0x1a34685cU, 0x8b0b161dU, 0xfee1df3eU, 0x8a09121bU,=6 96./a>        0x09122436U, 0xc98f038cU, 0x87132635U, 0x4e9c25b9U,=6 97./a>        0xe1dfa37cU, 0x2e5cb8e4U, 0xe4d5b762U, 0xe0dda77aU,=6 98./a>        0xebcb8b40U, 0x903d7a47U, 0xa455aaffU, 0x1e3c7844U,=6 99./a>        0x85172e39U, 0x60c09d5dU, 0x00000000U, 0x254a94deU,=6100./a>        0xf4f5f702U, 0xf1ffe31cU, 0x94356a5fU, 0x0b162c3aU,=6101./a>        0xe7d3bb68U, 0x75eac923U, 0xefc39b58U, 0x3468d0b8U,=6102./a>        0x3162c4a6U, 0xd4b577c2U, 0xd0bd67daU, 0x86112233U,=6103./a>        0x7efce519U, 0xad478ec9U, 0xfde7d334U, 0x2952a4f6U,=6104./a>        0x3060c0a0U, 0x3b76ec9aU, 0x9f234665U, 0xf8edc72aU,=6105./a>        0xc6913faeU, 0x13264c6aU, 0x060c1814U, 0x050a141eU,=6106./a>        0xc59733a4U, 0x11224466U, 0x77eec12fU, 0x7cf8ed15U,=6107./a>        0x7af4f501U, 0x78f0fd0dU, 0x366cd8b4U, 0x1c387048U,=6108./a>        0x3972e496U, 0x59b279cbU, 0x18306050U, 0x56ac45e9U,=6109./a>        0xb37bf68dU, 0xb07dfa87U, 0x244890d8U, 0x204080c0U,=6110./a>        0xb279f28bU, 0x9239724bU, 0xa35bb6edU, 0xc09d27baU,=6111./a>        0x44880d85U, 0x62c49551U, 0x10204060U, 0xb475ea9fU,=6112./a>        0x84152a3fU, 0x43861197U, 0x933b764dU, 0xc2992fb6U,=6113./a>        0x4a9435a1U, 0xbd67cea9U, 0x8f030605U, 0x2d5ab4eeU,=6114./a>        0xbc65caafU, 0x9c254a6fU, 0x6ad4b561U, 0x40801d9dU,=6115./a>        0xcf831b98U, 0xa259b2ebU, 0x801d3a27U, 0x4f9e21bfU,=6116./a>        0x1f3e7c42U, 0xca890f86U, 0xaa4992dbU, 0x42841591U,=6117./a>};=6118./a>=6119./a>static const .a href="+code=u32" class="sref">u32./a> .a href="+code=T1" class="sref">T1./a>[256] = {=6120./a>        0x69babbd2U, 0xa854e54dU, 0x5e2fe2bcU, 0xe87425cdU,=6121./a>        0xa653f751U, 0xbbd3d06bU, 0xb9d2d66fU, 0x9a4db329U,=6122./a>        0xa050fd5dU, 0x45accf8aU, 0x078d090eU, 0x63bfa5c6U,=6123./a>        0xe0703dddU, 0xa452f155U, 0x299a7b52U, 0x984cb52dU,=6124./a>        0xc9ea468fU, 0xb7d5c473U, 0x33975566U, 0xbfd1dc63U,=6125./a>        0x6633aaccU, 0xa251fb59U, 0xb65bc771U, 0x51a6f3a2U,=6126./a>        0xa1defe5fU, 0x9048ad3dU, 0x4da8d79aU, 0x2f99715eU,=6127./a>        0xabdbe04bU, 0x6432acc8U, 0x73b795e6U, 0xe5fc32d7U,=6128./a>        0xdbe370abU, 0x219e6342U, 0x3f91417eU, 0x2b9b7d56U,=6129./a>        0xd9e276afU, 0x6bbbbdd6U, 0x82419b19U, 0xdc6e79a5U,=6130./a>        0x57a5f9aeU, 0x8bcb800bU, 0xd66b67b1U, 0x3795596eU,=6131./a>        0x5fa1e1beU, 0xfbf310ebU, 0x7fb181feU, 0x04020c08U,=6132./a>        0x85cc9217U, 0x95c4a237U, 0x3a1d4e74U, 0x28147850U,=6133./a>        0x9bc3b02bU, 0xc6635791U, 0xa9dae64fU, 0xba5dd369U,=6134./a>        0xbe5fdf61U, 0xa5dcf257U, 0xfa7d13e9U, 0x87cd9413U,=6135./a>        0xfe7f1fe1U, 0xb45ac175U, 0xd86c75adU, 0xb85cd56dU,=6136./a>        0xf3f708fbU, 0x4c26d498U, 0xe3ff38dbU, 0xc7ed5493U,=6137./a>        0xcde84a87U, 0x279d694eU, 0xde6f7fa1U, 0x018e0302U,=6138./a>        0x32195664U, 0x5da0e7baU, 0xfdf01ae7U, 0x0f89111eU,=6139./a>        0x1e0f223cU, 0x0e07121cU, 0x43afc586U, 0xebfb20cbU,=6140./a>        0x10083020U, 0x2a157e54U, 0x1a0d2e34U, 0x08041810U,=6141./a>        0x02010604U, 0xc864458dU, 0xa3dff85bU, 0xec7629c5U,=6142./a>        0xf2790bf9U, 0xa7ddf453U, 0x7a3d8ef4U, 0x2c167458U,=6143./a>        0x7e3f82fcU, 0x6e37b2dcU, 0xda6d73a9U, 0x703890e0U,=6144./a>        0x6fb9b1deU, 0xe67337d1U, 0xcfe94c83U, 0x6a35bed4U,=6145./a>        0xaa55e349U, 0xe2713bd9U, 0xf67b07f1U, 0x058c0f0aU,=6146./a>        0xe47231d5U, 0x0d88171aU, 0xf1f60effU, 0x542afca8U,=6147./a>        0x7c3e84f8U, 0xbc5ed965U, 0x4e27d29cU, 0x8c468905U,=6148./a>        0x180c2830U, 0xca654389U, 0xd0686dbdU, 0xc2615b99U,=6149./a>        0x06030a0cU, 0x9fc1bc23U, 0xae57ef41U, 0xb1d6ce7fU,=6150./a>        0xafd9ec43U, 0xb058cd7dU, 0xadd8ea47U, 0xcc664985U,=6151./a>        0xb3d7c87bU, 0x743a9ce8U, 0x8dc88a07U, 0x783c88f0U,=6152./a>        0xe9fa26cfU, 0x31965362U, 0x53a7f5a6U, 0x2d98775aU,=6153./a>        0xc5ec5297U, 0x6db8b7daU, 0x93c7a83bU, 0x41aec382U,=6154./a>        0xd2696bb9U, 0x964ba731U, 0x4babdd96U, 0x4fa9d19eU,=6155./a>        0xce674f81U, 0x140a3c28U, 0x8e478f01U, 0xf9f216efU,=6156./a>        0x77b599eeU, 0x4422cc88U, 0xd7e564b3U, 0xc1ee5e9fU,=6157./a>        0x61bea3c2U, 0x562bfaacU, 0x1f81213eU, 0x24126c48U,=6158./a>        0x1b832d36U, 0x361b5a6cU, 0x1c0e2438U, 0x4623ca8cU,=6159./a>        0xf7f504f3U, 0x8a458309U, 0x4221c684U, 0x81ce9e1fU,=6160./a>        0x9249ab39U, 0x582ce8b0U, 0xeff92cc3U, 0xd1e66ebfU,=6161./a>        0x71b693e2U, 0x5028f0a0U, 0x2e17725cU, 0x19822b32U,=6162./a>        0x341a5c68U, 0x0b8b1d16U, 0xe1fe3edfU, 0x098a1b12U,=6163./a>        0x12093624U, 0x8fc98c03U, 0x13873526U, 0x9c4eb925U,=6164./a>        0xdfe17ca3U, 0x5c2ee4b8U, 0xd5e462b7U, 0xdde07aa7U,=6165./a>        0xcbeb408bU, 0x3d90477aU, 0x55a4ffaaU, 0x3c1e4478U,=6166./a>        0x1785392eU, 0xc0605d9dU, 0x00000000U, 0x4a25de94U,=6167./a>        0xf5f402f7U, 0xfff11ce3U, 0x35945f6aU, 0x160b3a2cU,=6168./a>        0xd3e768bbU, 0xea7523c9U, 0xc3ef589bU, 0x6834b8d0U,=6169./a>        0x6231a6c4U, 0xb5d4c277U, 0xbdd0da67U, 0x11863322U,=6170./a>        0xfc7e19e5U, 0x47adc98eU, 0xe7fd34d3U, 0x5229f6a4U,=6171./a>        0x6030a0c0U, 0x763b9aecU, 0x239f6546U, 0xedf82ac7U,=6172./a>        0x91c6ae3fU, 0x26136a4cU, 0x0c061418U, 0x0a051e14U,=6173./a>        0x97c5a433U, 0x22116644U, 0xee772fc1U, 0xf87c15edU,=6174./a>        0xf47a01f5U, 0xf0780dfdU, 0x6c36b4d8U, 0x381c4870U,=6175./a>        0x723996e4U, 0xb259cb79U, 0x30185060U, 0xac56e945U,=6176./a>        0x7bb38df6U, 0x7db087faU, 0x4824d890U, 0x4020c080U,=6177./a>        0x79b28bf2U, 0x39924b72U, 0x5ba3edb6U, 0x9dc0ba27U,=6178./a>        0x8844850dU, 0xc4625195U, 0x20106040U, 0x75b49feaU,=6179./a>        0x15843f2aU, 0x86439711U, 0x3b934d76U, 0x99c2b62fU,=6180./a>        0x944aa135U, 0x67bda9ceU, 0x038f0506U, 0x5a2deeb4U,=6181./a>        0x65bcafcaU, 0x259c6f4aU, 0xd46a61b5U, 0x80409d1dU,=6182./a>        0x83cf981bU, 0x59a2ebb2U, 0x1d80273aU, 0x9e4fbf21U,=6183./a>        0x3e1f427cU, 0x89ca860fU, 0x49aadb92U, 0x84429115U,=6184./a>};=6185./a>=6186./a>static const .a href="+code=u32" class="sref">u32./a> .a href="+code=T2" class="sref">T2./a>[256] = {=6187./a>        0xd2bbba69U, 0x4de554a8U, 0xbce22f5eU, 0xcd2574e8U,=6188./a>        0x51f753a6U, 0x6bd0d3bbU, 0x6fd6d2b9U, 0x29b34d9aU,=6189./a>        0x5dfd50a0U, 0x8acfac45U, 0x0e098d07U, 0xc6a5bf63U,=6190./a>        0xdd3d70e0U, 0x55f152a4U, 0x527b9a29U, 0x2db54c98U,=6191./a>        0x8f46eac9U, 0x73c4d5b7U, 0x66559733U, 0x63dcd1bfU,=6192./a>        0xccaa3366U, 0x59fb51a2U, 0x71c75bb6U, 0xa2f3a651U,=6193./a>        0x5ffedea1U, 0x3dad4890U, 0x9ad7a84dU, 0x5e71992fU,=6194./a>        0x4be0dbabU, 0xc8ac3264U, 0xe695b773U, 0xd732fce5U,=6195./a>        0xab70e3dbU, 0x42639e21U, 0x7e41913fU, 0x567d9b2bU,=6196./a>        0xaf76e2d9U, 0xd6bdbb6bU, 0x199b4182U, 0xa5796edcU,=6197./a>        0xaef9a557U, 0x0b80cb8bU, 0xb1676bd6U, 0x6e599537U,=6198./a>        0xbee1a15fU, 0xeb10f3fbU, 0xfe81b17fU, 0x080c0204U,=6199./a>        0x1792cc85U, 0x37a2c495U, 0x744e1d3aU, 0x50781428U,=6200./a>        0x2bb0c39bU, 0x915763c6U, 0x4fe6daa9U, 0x69d35dbaU,=6201./a>        0x61df5fbeU, 0x57f2dca5U, 0xe9137dfaU, 0x1394cd87U,=6202./a>        0xe11f7ffeU, 0x75c15ab4U, 0xad756cd8U, 0x6dd55cb8U,=6203./a>        0xfb08f7f3U, 0x98d4264cU, 0xdb38ffe3U, 0x9354edc7U,=6204./a>        0x874ae8cdU, 0x4e699d27U, 0xa17f6fdeU, 0x02038e01U,=6205./a>        0x64561932U, 0xbae7a05dU, 0xe71af0fdU, 0x1e11890fU,=6206./a>        0x3c220f1eU, 0x1c12070eU, 0x86c5af43U, 0xcb20fbebU,=6207./a>        0x20300810U, 0x547e152aU, 0x342e0d1aU, 0x10180408U,=6208./a>        0x04060102U, 0x8d4564c8U, 0x5bf8dfa3U, 0xc52976ecU,=6209./a>        0xf90b79f2U, 0x53f4dda7U, 0xf48e3d7aU, 0x5874162cU,=6210./a>        0xfc823f7eU, 0xdcb2376eU, 0xa9736ddaU, 0xe0903870U,=6211./a>        0xdeb1b96fU, 0xd13773e6U, 0x834ce9cfU, 0xd4be356aU,=6212./a>        0x49e355aaU, 0xd93b71e2U, 0xf1077bf6U, 0x0a0f8c05U,=6213./a>        0xd53172e4U, 0x1a17880dU, 0xff0ef6f1U, 0xa8fc2a54U,=6214./a>        0xf8843e7cU, 0x65d95ebcU, 0x9cd2274eU, 0x0589468cU,=6215./a>        0x30280c18U, 0x894365caU, 0xbd6d68d0U, 0x995b61c2U,=6216./a>        0x0c0a0306U, 0x23bcc19fU, 0x41ef57aeU, 0x7fced6b1U,=6217./a>        0x43ecd9afU, 0x7dcd58b0U, 0x47ead8adU, 0x854966ccU,=6218./a>        0x7bc8d7b3U, 0xe89c3a74U, 0x078ac88dU, 0xf0883c78U,=6219./a>        0xcf26fae9U, 0x62539631U, 0xa6f5a753U, 0x5a77982dU,=6220./a>        0x9752ecc5U, 0xdab7b86dU, 0x3ba8c793U, 0x82c3ae41U,=6221./a>        0xb96b69d2U, 0x31a74b96U, 0x96ddab4bU, 0x9ed1a94fU,=6222./a>        0x814f67ceU, 0x283c0a14U, 0x018f478eU, 0xef16f2f9U,=6223./a>        0xee99b577U, 0x88cc2244U, 0xb364e5d7U, 0x9f5eeec1U,=6224./a>        0xc2a3be61U, 0xacfa2b56U, 0x3e21811fU, 0x486c1224U,=6225./a>        0x362d831bU, 0x6c5a1b36U, 0x38240e1cU, 0x8cca2346U,=6226./a>        0xf304f5f7U, 0x0983458aU, 0x84c62142U, 0x1f9ece81U,=6227./a>        0x39ab4992U, 0xb0e82c58U, 0xc32cf9efU, 0xbf6ee6d1U,=6228./a>        0xe293b671U, 0xa0f02850U, 0x5c72172eU, 0x322b8219U,=6229./a>        0x685c1a34U, 0x161d8b0bU, 0xdf3efee1U, 0x121b8a09U,=6230./a>        0x24360912U, 0x038cc98fU, 0x26358713U, 0x25b94e9cU,=6231./a>        0xa37ce1dfU, 0xb8e42e5cU, 0xb762e4d5U, 0xa77ae0ddU,=6232./a>        0x8b40ebcbU, 0x7a47903dU, 0xaaffa455U, 0x78441e3cU,=6233./a>        0x2e398517U, 0x9d5d60c0U, 0x00000000U, 0x94de254aU,=6234./a>        0xf702f4f5U, 0xe31cf1ffU, 0x6a5f9435U, 0x2c3a0b16U,=6235./a>        0xbb68e7d3U, 0xc92375eaU, 0x9b58efc3U, 0xd0b83468U,=6236./a>        0xc4a63162U, 0x77c2d4b5U, 0x67dad0bdU, 0x22338611U,=6237./a>        0xe5197efcU, 0x8ec9ad47U, 0xd334fde7U, 0xa4f62952U,=6238./a>        0xc0a03060U, 0xec9a3b76U, 0x46659f23U, 0xc72af8edU,=6239./a>        0x3faec691U, 0x4c6a1326U, 0x1814060cU, 0x141e050aU,=6240./a>        0x33a4c597U, 0x44661122U, 0xc12f77eeU, 0xed157cf8U,=6241./a>        0xf5017af4U, 0xfd0d78f0U, 0xd8b4366cU, 0x70481c38U,=6242./a>        0xe4963972U, 0x79cb59b2U, 0x60501830U, 0x45e956acU,=6243./a>        0xf68db37bU, 0xfa87b07dU, 0x90d82448U, 0x80c02040U,=6244./a>        0xf28bb279U, 0x724b9239U, 0xb6eda35bU, 0x27bac09dU,=6245./a>        0x0d854488U, 0x955162c4U, 0x40601020U, 0xea9fb475U,=6246./a>        0x2a3f8415U, 0x11974386U, 0x764d933bU, 0x2fb6c299U,=6247./a>        0x35a14a94U, 0xcea9bd67U, 0x06058f03U, 0xb4ee2d5aU,=6248./a>        0xcaafbc65U, 0x4a6f9c25U, 0xb5616ad4U, 0x1d9d4080U,=6249./a>        0x1b98cf83U, 0xb2eba259U, 0x3a27801dU, 0x21bf4f9eU,=6250./a>        0x7c421f3eU, 0x0f86ca89U, 0x92dbaa49U, 0x15914284U,=6251./a>};=6252./a>=6253./a>static const .a href="+code=u32" class="sref">u32./a> .a href="+code=T3" class="sref">T3./a>[256] = {=6254./a>        0xbbd269baU, 0xe54da854U, 0xe2bc5e2fU, 0x25cde874U,=6255./a>        0xf751a653U, 0xd06bbbd3U, 0xd66fb9d2U, 0xb3299a4dU,=6256./a>        0xfd5da050U, 0xcf8a45acU, 0x090e078dU, 0xa5c663bfU,=6257./a>        0x3ddde070U, 0xf155a452U, 0x7b52299aU, 0xb52d984cU,=6258./a>        0x468fc9eaU, 0xc473b7d5U, 0x55663397U, 0xdc63bfd1U,=6259./a>        0xaacc6633U, 0xfb59a251U, 0xc771b65bU, 0xf3a251a6U,=6260./a>        0xfe5fa1deU, 0xad3d9048U, 0xd79a4da8U, 0x715e2f99U,=6261./a>        0xe04babdbU, 0xacc86432U, 0x95e673b7U, 0x32d7e5fcU,=6262./a>        0x70abdbe3U, 0x6342219eU, 0x417e3f91U, 0x7d562b9bU,=6263./a>        0x76afd9e2U, 0xbdd66bbbU, 0x9b198241U, 0x79a5dc6eU,=6264./a>        0xf9ae57a5U, 0x800b8bcbU, 0x67b1d66bU, 0x596e3795U,=6265./a>        0xe1be5fa1U, 0x10ebfbf3U, 0x81fe7fb1U, 0x0c080402U,=6266./a>        0x921785ccU, 0xa23795c4U, 0x4e743a1dU, 0x78502814U,=6267./a>        0xb02b9bc3U, 0x5791c663U, 0xe64fa9daU, 0xd369ba5dU,=6268./a>        0xdf61be5fU, 0xf257a5dcU, 0x13e9fa7dU, 0x941387cdU,=6269./a>        0x1fe1fe7fU, 0xc175b45aU, 0x75add86cU, 0xd56db85cU,=6270./a>        0x08fbf3f7U, 0xd4984c26U, 0x38dbe3ffU, 0x5493c7edU,=6271./a>        0x4a87cde8U, 0x694e279dU, 0x7fa1de6fU, 0x0302018eU,=6272./a>        0x56643219U, 0xe7ba5da0U, 0x1ae7fdf0U, 0x111e0f89U,=6273./a>        0x223c1e0fU, 0x121c0e07U, 0xc58643afU, 0x20cbebfbU,=6274./a>        0x30201008U, 0x7e542a15U, 0x2e341a0dU, 0x18100804U,=6275./a>        0x06040201U, 0x458dc864U, 0xf85ba3dfU, 0x29c5ec76U,=6276./a>        0x0bf9f279U, 0xf453a7ddU, 0x8ef47a3dU, 0x74582c16U,=6277./a>        0x82fc7e3fU, 0xb2dc6e37U, 0x73a9da6dU, 0x90e07038U,=6278./a>        0xb1de6fb9U, 0x37d1e673U, 0x4c83cfe9U, 0xbed46a35U,=6279./a>        0xe349aa55U, 0x3bd9e271U, 0x07f1f67bU, 0x0f0a058cU,=6280./a>        0x31d5e472U, 0x171a0d88U, 0x0efff1f6U, 0xfca8542aU,=6281./a>        0x84f87c3eU, 0xd965bc5eU, 0xd29c4e27U, 0x89058c46U,=6282./a>        0x2830180cU, 0x4389ca65U, 0x6dbdd068U, 0x5b99c261U,=6283./a>        0x0a0c0603U, 0xbc239fc1U, 0xef41ae57U, 0xce7fb1d6U,=6284./a>        0xec43afd9U, 0xcd7db058U, 0xea47add8U, 0x4985cc66U,=6285./a>        0xc87bb3d7U, 0x9ce8743aU, 0x8a078dc8U, 0x88f0783cU,=6286./a>        0x26cfe9faU, 0x53623196U, 0xf5a653a7U, 0x775a2d98U,=6287./a>        0x5297c5ecU, 0xb7da6db8U, 0xa83b93c7U, 0xc38241aeU,=6288./a>        0x6bb9d269U, 0xa731964bU, 0xdd964babU, 0xd19e4fa9U,=6289./a>        0x4f81ce67U, 0x3c28140aU, 0x8f018e4767U, 05#L174" iam  vmU, 0xd19e4fa9U,=< hre1902 id v2190" class="linem  v" na97c5ecc" na/a>    0x77, 0xL286">e3./abd67cea9U, 0x8f030605U, 0x2d5ab24c98U,=e" n8/a>         x0b8b1d16U, 0xe1fe3edfU, 0x098a21bfU,=    368U,./a>    0xf6262vL285"" n8/xc19f23bcU, 0x57ae41efU, 0xd6b1292fU,=    884./x499239 0x9U, 0a>    e 0xcecd7db058U, 0xea47add8U, 0x4985cce5U,=    c      vL191 0x1U, 0vL287"9">614c19f23bcU, 0x57ae41efU, 0xd6b129aeU,=    0x3 nam19f23bcU, 0x57ae41efU, 0xd6b13428U,=        0x2e3985 0xc2eU,19f23bcU, 0x57ae41efU, 0xd6b13418U,=618cd7db058U, 0xea47add8U, 0x49853dc7U,=      0x4x2a3f84 0x6628399239 a 0xdx44661122U, 0xc12f77eeU, 0xed15390fU,=    0xfx1624661122U, 0xc12f77eeU, 0xed15399fU,=    7618cx3c220f 0x1   049b4996 0xax894365caU, 0xbd6d68d0U, 0x995b3a54U,=    0x6U, 094365caU, 0xbd6d68d0U, 0x995b3a01U,=    1e" n4894365caU, 0xbd6d68d0U, 0x995b3a8fU,=62513c78U,=6251382dU,=6253./a>static const .a href="+code=u32" clas4a>static const T4a href="+code=T3" class="sref">T3./a>[253e41U,=">">">vL131"c"c"c"c94365caU, 0xbd6d68d0U, 0x995b3978U,=    1 1 1 1a>    b b b b94365caU, 0xbd6d68d0U, 0x995b3a09U,=    1 1 1 1a>    e e e e94365caU, 0xbd6d68d0U, 0x995b3a41U,=           xL286"c"c"c"c94365caU, 0xbd6d68d0U, 0x995b3a7fU,=    f f f fvL131"9f9f9f994365caU, 0xbd6d68d0U, 0x995b3541U,=   7d7d7d7dvL152"8"8"8"894365caU, 0xbd6d68d0U, 0x995b3501U,=">">">vL215 0 0 0 0vL152"535353594365caU, 0xbd6d68d0U, 0x995b35c2U,=">">"2a3be8c8c8c8c94365caU, 0xbd6d68d0U, 0x995b357fU,=    0 0 0 0a>    747474794365caU, 0xbd6d68d0U, 0x995b3578U,=">">">a>           a>   7666666694365caU, 0xbd6d68d0U, 0x995b3f4fU,=   77777777a>    eaeaeae94365caU, 0xbd6d68d0U, 0x995b3f01U,=    eaeaeaevL288"9"9"9"994365caU, 0xbd6d68d0U, 0x995b3fc2U,=    000000094365caU, 0xbd6d68d0U, 0x995b3f8fU,=    e e e ea>     2 2 2 94365caU, 0xbd6d68d0U, 0x995b31a6U,=     2 2 2 a>   7ececece94365caU, 0xbd6d68d0U, 0x995b3141U,=     e e e 94365caU, 0xbd6d68d0U, 0x995b314fU,=    "e"e"e"a>     e e e 94365caU, 0xbd6d68d0U, 0x995b31c2U,=">">0a3f84 0 0 0 0a>        0x2e39852727272594365caU, 0xbd6d68d0U, 0x995b3a5dU,=    4949494a>    b b b b94365caU, 0xbd6d68d0U, 0x995b3a78U,=    "e"e"e"a>    4 4 4 494365caU, 0xbd6d68d0U, 0x995b385cU,=">">">vL131" f f f e39852929292994365caU, 0xbd6d68d0U, 0x995b384fU,=>>>>>>vL191""""""""vL191"777777794365caU, 0xbd6d68d0U, 0x995b3801U,=">">">e398524242424e39852020202094365caU, 0xbd6d68d0U, 0x995b385dU,=   7ececece94365caU, 0xbd6d68d0U, 0x995b3878U,=           2a3be8"8"8"8"e39852       94365caU, 0xbd6d68d0U, 0x995b354fU,=    747474794365caU, 0xbd6d68d0U, 0x995b3505U,=    f4f4f4f94365caU, 0xbd6d68d0U, 0x995b3554U,=    242424294365caU, 0xbd6d68d0U, 0x995b3501U,=6251383cU,=6251387fU,=6253./a>static const .a href="+code=u32" clas5a>static const T5a href="+code=T3" class="sref">T3./a>[2531aeU,=   am  22xe89c3a74U, 0x078ac88dU, 0xf08831bfU,=e3985 0xe72x75c15ab4U, 0xad756cd8U, 0x6dd5392fU,=    b96a76294365caU, 0xbd6d68d0U, 0x995b497fU,=    0x6b372a>    0x0b94/a>    0xbbf4294365caU, 0xbd6d68d0U, 0x995b498fU,=a6f7a294365caU, 0xbd6d68d0U, 0x995b499fU,=    dead3  c220f14./d282a>   am  dfc 94365caU, 0xbd6d68d0U, 0x995b456aU,=   73c6573f94365caU, 0xbd6d68d0U, 0x995b4c05U,=     e6379f94365caU, 0xbd6d68d0U, 0x995b417fU,=    0x829926cfe9fae, 0xf94365caU, 0xbd6d68d0U, 0x995b418fU,=   am  01fn99239 0x407ff94365caU, 0xbd6d68d0U, 0x995b419fU,=    0x24dx8d4564c8U, 0x5bf8dfa3U, 0xc5294901U,= 3f7x59fb51a2U, 0x71c75bb6U, 0xa2f34a09U,=   am  8df77c2d4b5U, 0x67dad0bdU, 0x22334a05U,=   am  b00 94365caU, 0xbd6d68d0U, 0x995b4a7fU,=    9 , 0xd9643e1a89"61ma>    "8"80 694365caU, 0xbd6d68d0U, 0x995b4a78U,=afec./a>    0x2e6""a>   dbabe09794365caU, 0xbd6d68d0U, 0x995b4505U,=vL215 5d7cx>"2a3be 0xb6e./a>    7d3686b94365caU, 0xbd6d68d0U, 0x995b45c2U,=   eac94m  vL283am  40 b94365caU, 0xbd6d68d0U, 0x995b457fU,=   f3 b10cb94365caU, 0xbd6d68d0U, 0x995b4578U,=e9268 vL259">eb2081c12070eU, 0x86c5af43U, 0xcb204f41U,=   ffe338a1c12070eU, 0x86c5af43U, 0xcb204f4fU,=62514f05U,=62514f54U,=6253./a>static const .a href="+code=u32" clarca>static const rca hre+code=T3" class="sref">T3./a>[254f01U,=6272." na27 0 0 0 094365caU, 0xbd6d68d0U4 0x995b3146U,=627e8a> fin01./f19m  v31"9f9f9f994365caU, 0xbd6d68d0U4 0x995b3141U,=6251387fU,=comment">/* * map cipher key to initial key f01Ue (mu): */6253./a>stati4 cons487" id vL287" for (="crypto/anubisi3 3 2x5ffede50ai" id =f0;<="crypto/anubisi3 3 2x5ffede50ai" id <<="crypto/anubisNL254" id 4L255"N" ida<="crypto/anubisi3 3 2x5ffede50ai" id++)nubis.c#L254" id 4L254" clas const T54 href="+code=T3" class="4ref">483" id 3L278"         linba54x37/a>  kappa3 3 2x5ffede50akappadb0a>linba54x37/a>  i3 3 2x5ffede50ai" id] =f="crypto/anubisbec#_id_cpu3 3 2x5ffede50abec#_id_cpu" id(="crypto/anubiskey3 3 2x5ffede50akey" id>linba54x37/a>  i3 3 2x5ffede50ai" id])anubis.c#L254" id 4L254" clas 0x995b3f49U,=comment">/*comment">         * gener1Ue R + 1 round keys:comment">         */comment">/*comment">                 * gener1Ue r-th round key K^r:comment">                 */  K0L254" id 4L255"K0" id =f="crypto/anubis>   74747474a>   2323232(="crypto/anubiskappa3 3 2x5ffede50akappadb0a>linba54x37/a>  NL254" id 4L255"N" id - 1] >> 24)       ]anubis.c#L254" id 4L254" clas 0xac563949U,=   74747474a>   2323232(="crypto/anubiskappa3 3 2x5ffede50akappadb0a>linba54x37/a>  NL254" id 4L255"N" id - 1] >> 16)f& 4ref]anubis.c#L254" id 4L254" clas 0x995b3148U,=   74747474a>   2323232(="crypto/anubiskappa3 3 2x5ffede50akappadb0a>linba54x37/a>  NL254" id 4L255"N" id - 1] >>  8)f& 4ref]anubis.c#L254" id 4L254" cla5 0xac564458U,=   74747474a>   2323232(="crypto/anubiskappa3 3 2x5ffede50akappadb0a>linba54x37/a>  NL254" id 4L255"N" id - 1]      )f& 4ref]anubis.c#L254" id 4L254" cla5 1xac564458U,=  NL254" id 4L255"N" id - 2;<="crypto/anubisi3 3 2x5ffede50ai" id >=f0;<="crypto/anubisi3 3 2x5ffede50ai" id--)a0529a c94365caU, 0xbd6d68d0U5 0xac564458U,=  K0L254" id 4L255"K0" id =f="crypto/anubis>   74747474a>   2323232(="crypto/anubiskappa3 3 2x5ffede50akappadb0a>linba54x37/a>  i3 3 2x5ffede50ai" id] >> 24)       ] ^529a c94365caU, 0xbd6d68d0U5 3xac564458U,=   74747474a>   2323232(="crypto/anubiskappa3 3 2x5ffede50akappadb0a>linba54x37/a>  i3 3 2x5ffede50ai" id] >> 16)f& 4ref]f^529a c94365caU, 0xbd6d68d0U5 8x995b495fU,=  K#L254" id 4L255"K2" id =f="crypto/anubis>   74747474a>   2323232(="crypto/anubiskappa3 3 2x5ffede50akappadb0a>linba54x37/a>  i3 3 2x5ffede50ai" id] >>  8)f& 4ref]f^529a c94365caU, 0xbd6d68d0U5 3xac564457U,=   74747474a>   2323232(="crypto/anubiskappa3 3 2x5ffede50akappadb0a>linba54x37/a>  i3 3 2x5ffede50ai" id]      )f& 4ref]f^529a c94365caU, 0xbd6d68d0U5 8x995b495fU,=stati5 0xc5294951U,=  5tx3 3 2x5ffede50actx" id->="crypto/anubisE3 3 2x5ffede50aEdb0a>linba54x37/a>  r3 3 2x5ffede50ac" id][3] =f="crypto/anubisK3L254" id 4L255"K3" idanubis.c#L254" id 4L254" cla5 0x995b4958U,=comment">/*comment">                 * compute kappa^{r+1} from kappa^r:comment">                 */0L254" id 4L255"T023232(="crypto/anubiskappa3 3 2x5ffede50akappadb0a>linba54x37/a>  j3 3 2x5ffede50aj" id--] >> 24)       ]anubis.c#L254" id 4L254" cla5 0x995b4a5fU,=1L254" id 4L255"T123232(="crypto/anubiskappa3 3 2x5ffede50akappadb0a>linba54x37/a>  j3 3 2x5ffede50aj" id--] >> 16)f& 4ref]anubis.c#L254" id 4L254" cla5 0x995b4551U,=  ineer3 3 2x5ffede50aineerdb0a>linba54x37/a>  i3 3 2x5ffede50ai" id] ^=f="crypto/anubis>#L254" id 4L255"T223232(="crypto/anubiskappa3 3 2x5ffede50akappadb0a>linba54x37/a>  j3 3 2x5ffede50aj" id--] >>  8)f& 4ref]anubis.c#L254" id 4L254" cla5 0x995b4554U,=  ineer3 3 2x5ffede50aineerdb0a>linba54x37/a>  i3 3 2x5ffede50ai" id] ^=f="crypto/anubis>3L254" id 4L255"T323232(="crypto/anubiskappa3 3 2x5ffede50akappadb0a>linba54x37/a>  j3 3 2x5ffede50aj" id  ]      )f& 4ref]anubis.c#L254" id 4L254" cla5 6xac56445fU,=  kappa3 3 2x5ffede50akappadb0a>0] =f="crypto/anubisineer3 3 2x5ffede50aineerdb0a>0] ^"linba54x37/a>   73 3 2x5ffede50ac8db0a>linba54x37/a>  r3 3 2x5ffede50ac" id]anubis.c#L254" id 4L254" cla5 0x995b4958U,=linba54x37/a>  i3 3 2x5ffede50ai" id]anubis.c#L254" id 4L254" cla5 0xcb204f51U,=62514f54U,=comment">/*6253./a>stati5 cons5 .a hrcomment">         * gener1Ue inverse key fchedule: K'^0 =fK^R, K'^R =T3.5a>[254comment">         *                                K^0, K'^r =ftheta(K^{R-r}):comment">         */  5tx3 3 2x5ffede50actx" id->="crypto/anubisD3 3 2x5ffede50aDdb0a>0]>linba54x37/a>  i3 3 2x5ffede50ai" id] =f="crypto/anubis5tx3 3 2x5ffede50actx" id->="crypto/anubisE3 3 2x5ffede50aEdb0a>linba54x37/a>  RL254" id 4L255"R" id]>linba54x37/a>  i3 3 2x5ffede50ai" id]anubis.c#L254" id 4L254" cla5 0x995b4958U,=linba54x37/a>  i3 3 2x5ffede50ai" id] =f="crypto/anubis5tx3 3 2x5ffede50actx" id->="crypto/anubisE3 3 2x5ffede50aEdb0a>0]>linba54x37/a>  i3 3 2x5ffede50ai" id]anubis.c#L254" id 4L254" cla5 0xcb204f56U,=  .c#L254" id 4L255" class="linba54x37/a>  vL254" id 4L255"v" id =f="crypto/anubis5tx3 3 2x5ffede50actx" id->="crypto/anubisE3 3 2x5ffede50aEdb0a>linba54x37/a>  RL254" id 4L255"R" id - linba54x37/a>  r3 3 2x5ffede50ac" id][linba54x37/a>  i3 3 2x5ffede50ai" id]anubis.c#L254" id 4L254" cla5 ="line" 54U,=  i3 3 2x5ffede50ai" id] =nubis.c#L254" id 4L254" cla5 0x7fce4a51U,=stati5 const rc51U,=comment">/*comment">         * map plaineex  block to cipher f01Ue (mu)6251387fU,=comment">         * and add initial round key (sigma[K^0]):6253./a>stati5 cons583" idcomment">         */583" id 3L278" for (="crypto/anubisi3 3 2x5ffede50ai" id =f0;<="crypto/anubisi3 3 2x5ffede50ai" id <<4a<="crypto/anubisi3 3 2x5ffede50ai" id++)nubis.c#L254" id 4L254" cla5 0x995b4959U,=   oundKey3 3 2x5ffede50a oundKey232320]>linba54x37/a>  i3 3 2x5ffede50ai" id]anubis.c#L254" id 4L254" cla5 0x995b315" iam  3mU, 0xd19e4fa9U,5< hre5932 idnubis.c#L254" id 4L254" cla5 0x995b3751U,=comment">/*comment">         * R - 1 full rounds:comment">         */stati5 0x6dd53951U,=  >0L254" id 4L255"T023232(="crypto/anubisf01Ue3 3 2x5ffede50as01Ue232320] >> 16)f& 4ref]f^529a c94365caU, 0xbd6d68d0U6 3xac564468U,=  >0L254" id 4L255"T023232(="crypto/anubisf01Ue3 3 2x5ffede50as01Ue232320] >>  8)f& 4ref]f^529a c94365caU, 0xbd6d68d0U6 9x995b496fU,=   oundKey3 3 2x5ffede50a oundKey23232="crypto/anubisr3 3 2x5ffede50ac" id][2]anubis.c#L254" id 4L254" cla6 3xac564467U,=  >0L254" id 4L255"T023232(="crypto/anubisf01Ue3 3 2x5ffede50as01Ue232320]      )f& 4ref]f^529a c94365caU, 0xbd6d68d0U6 5xac56446fU,=   oundKey3 3 2x5ffede50a oundKey23232="crypto/anubisr3 3 2x5ffede50ac" id][3]anubis.c#L254" id 4L254" cla6 9x995b496dU,=0]anubis.c#L254" id 4L254" cla6 0x995b4e61U,=1]anubis.c#L254" id 4L254" cla6 0x995b496fU,=2]anubis.c#L254" id 4L254" cla6 0x995b4965U,=3]anubis.c#L254" id 4L254" cla6 0x995b4967U,=comment">/*comment">         * L25t round:comment">         */   oundKey3 3 2x5ffede50a oundKey23232="crypto/anubisRL254" id 4L255"R" id]>0]anubis.c#L254" id 4L254" cla6 0x7fce4a62U,=   oundKey3 3 2x5ffede50a oundKey23232="crypto/anubisRL254" id 4L255"R" id]>1]anubis.c#L254" id 4L254" cla6 0x995b456fU,=   oundKey3 3 2x5ffede50a oundKey23232="crypto/anubisRL254" id 4L255"R" id]>2]anubis.c#L254" id 4L254" cla6 0x995b456fU,=62514f54U,=3]anubis.c#L254" id 4L254" cla6s="line" 6am  vL253">6253./a>stati6 cons65.a href="+code=u32" clarca>stati6s0x7fce4a6 hre+code=T3" class="sre6">T3.653" id 3L175" =span vL251">comment">/*comment">         * map cipher f01Ue to ciphereex  block (mu^{-1}):comment">         */linba54x37/a>  i3 3 2x5ffede50ai" id] =f="crypto/anubis5pu_id_bec#L254" id 4L255"5pu_id_bec#" id(="crypto/anubisineer3 3 2x5ffede50aineerdb0a>linba54x37/a>  i3 3 2x5ffede50ai" id])anubis.c#L254" id 4L254" cla6 0x995b3161U,=stati6 const rc61U,=string">"xbd6d6"6251387fU,=6253./a>stati6 cons686" id 3L276" .="crypto/anubis5ia_enc32" L254" id 4L255"5ia_enc32" " id 4L200"     =3L175" ="crypto/anubis4L254"_enc32" L254" id 4L255"4L254"_enc32" " id,nubis.c#L254" id 4L254" cla6 e39243ub6 href="+code=T3" class="6ref">683" id 3L278" .="crypto/anubis5ia_dec32" L254" id 4L255"5ia_dec32" " id 4L200"     =3L175" ="crypto/anubis4L254"_dec32" L254" id 4L255"4L254"_dec32" " id } }nubis.c#L254" id 4L254" cla6 0x995b4969U,=stati6 0x6dd53961U,=6251387fUe=u32" clarySv4" id f6fU,=
The original LXR software bynub5;="crypto/http://sourceforge.net/projects/lx4L>LXR lassuid=3L276"nub 6 experis="lal 0x7fion byn="crypto/mailto:lx4@id ux.no">lx4@id ux.nola6 0
lx4.id ux.no kindly hoL25d byn="crypto/http://www.redpill-id pro.no">Redpill Ld pro ASL276"nprovider of Ld ux8db0aultcry4f5amop4" cions services since 1995.