• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /**
2    @file sober128tab.c
3    SOBER-128 Tables
4 */
5 /* $Id: sober128tab.c,v 1.2 2005/05/05 14:35:59 tom Exp $ */
6 /* @(#)TuringMultab.h   1.3 (QUALCOMM) 02/09/03 */
7 /* Multiplication table for Turing using 0xD02B4367 */
8 static const ulong32 Multab[256] = {
9     0x00000000, 0xD02B4367, 0xED5686CE, 0x3D7DC5A9,
10     0x97AC41D1, 0x478702B6, 0x7AFAC71F, 0xAAD18478,
11     0x631582EF, 0xB33EC188, 0x8E430421, 0x5E684746,
12     0xF4B9C33E, 0x24928059, 0x19EF45F0, 0xC9C40697,
13     0xC62A4993, 0x16010AF4, 0x2B7CCF5D, 0xFB578C3A,
14     0x51860842, 0x81AD4B25, 0xBCD08E8C, 0x6CFBCDEB,
15     0xA53FCB7C, 0x7514881B, 0x48694DB2, 0x98420ED5,
16     0x32938AAD, 0xE2B8C9CA, 0xDFC50C63, 0x0FEE4F04,
17     0xC154926B, 0x117FD10C, 0x2C0214A5, 0xFC2957C2,
18     0x56F8D3BA, 0x86D390DD, 0xBBAE5574, 0x6B851613,
19     0xA2411084, 0x726A53E3, 0x4F17964A, 0x9F3CD52D,
20     0x35ED5155, 0xE5C61232, 0xD8BBD79B, 0x089094FC,
21     0x077EDBF8, 0xD755989F, 0xEA285D36, 0x3A031E51,
22     0x90D29A29, 0x40F9D94E, 0x7D841CE7, 0xADAF5F80,
23     0x646B5917, 0xB4401A70, 0x893DDFD9, 0x59169CBE,
24     0xF3C718C6, 0x23EC5BA1, 0x1E919E08, 0xCEBADD6F,
25     0xCFA869D6, 0x1F832AB1, 0x22FEEF18, 0xF2D5AC7F,
26     0x58042807, 0x882F6B60, 0xB552AEC9, 0x6579EDAE,
27     0xACBDEB39, 0x7C96A85E, 0x41EB6DF7, 0x91C02E90,
28     0x3B11AAE8, 0xEB3AE98F, 0xD6472C26, 0x066C6F41,
29     0x09822045, 0xD9A96322, 0xE4D4A68B, 0x34FFE5EC,
30     0x9E2E6194, 0x4E0522F3, 0x7378E75A, 0xA353A43D,
31     0x6A97A2AA, 0xBABCE1CD, 0x87C12464, 0x57EA6703,
32     0xFD3BE37B, 0x2D10A01C, 0x106D65B5, 0xC04626D2,
33     0x0EFCFBBD, 0xDED7B8DA, 0xE3AA7D73, 0x33813E14,
34     0x9950BA6C, 0x497BF90B, 0x74063CA2, 0xA42D7FC5,
35     0x6DE97952, 0xBDC23A35, 0x80BFFF9C, 0x5094BCFB,
36     0xFA453883, 0x2A6E7BE4, 0x1713BE4D, 0xC738FD2A,
37     0xC8D6B22E, 0x18FDF149, 0x258034E0, 0xF5AB7787,
38     0x5F7AF3FF, 0x8F51B098, 0xB22C7531, 0x62073656,
39     0xABC330C1, 0x7BE873A6, 0x4695B60F, 0x96BEF568,
40     0x3C6F7110, 0xEC443277, 0xD139F7DE, 0x0112B4B9,
41     0xD31DD2E1, 0x03369186, 0x3E4B542F, 0xEE601748,
42     0x44B19330, 0x949AD057, 0xA9E715FE, 0x79CC5699,
43     0xB008500E, 0x60231369, 0x5D5ED6C0, 0x8D7595A7,
44     0x27A411DF, 0xF78F52B8, 0xCAF29711, 0x1AD9D476,
45     0x15379B72, 0xC51CD815, 0xF8611DBC, 0x284A5EDB,
46     0x829BDAA3, 0x52B099C4, 0x6FCD5C6D, 0xBFE61F0A,
47     0x7622199D, 0xA6095AFA, 0x9B749F53, 0x4B5FDC34,
48     0xE18E584C, 0x31A51B2B, 0x0CD8DE82, 0xDCF39DE5,
49     0x1249408A, 0xC26203ED, 0xFF1FC644, 0x2F348523,
50     0x85E5015B, 0x55CE423C, 0x68B38795, 0xB898C4F2,
51     0x715CC265, 0xA1778102, 0x9C0A44AB, 0x4C2107CC,
52     0xE6F083B4, 0x36DBC0D3, 0x0BA6057A, 0xDB8D461D,
53     0xD4630919, 0x04484A7E, 0x39358FD7, 0xE91ECCB0,
54     0x43CF48C8, 0x93E40BAF, 0xAE99CE06, 0x7EB28D61,
55     0xB7768BF6, 0x675DC891, 0x5A200D38, 0x8A0B4E5F,
56     0x20DACA27, 0xF0F18940, 0xCD8C4CE9, 0x1DA70F8E,
57     0x1CB5BB37, 0xCC9EF850, 0xF1E33DF9, 0x21C87E9E,
58     0x8B19FAE6, 0x5B32B981, 0x664F7C28, 0xB6643F4F,
59     0x7FA039D8, 0xAF8B7ABF, 0x92F6BF16, 0x42DDFC71,
60     0xE80C7809, 0x38273B6E, 0x055AFEC7, 0xD571BDA0,
61     0xDA9FF2A4, 0x0AB4B1C3, 0x37C9746A, 0xE7E2370D,
62     0x4D33B375, 0x9D18F012, 0xA06535BB, 0x704E76DC,
63     0xB98A704B, 0x69A1332C, 0x54DCF685, 0x84F7B5E2,
64     0x2E26319A, 0xFE0D72FD, 0xC370B754, 0x135BF433,
65     0xDDE1295C, 0x0DCA6A3B, 0x30B7AF92, 0xE09CECF5,
66     0x4A4D688D, 0x9A662BEA, 0xA71BEE43, 0x7730AD24,
67     0xBEF4ABB3, 0x6EDFE8D4, 0x53A22D7D, 0x83896E1A,
68     0x2958EA62, 0xF973A905, 0xC40E6CAC, 0x14252FCB,
69     0x1BCB60CF, 0xCBE023A8, 0xF69DE601, 0x26B6A566,
70     0x8C67211E, 0x5C4C6279, 0x6131A7D0, 0xB11AE4B7,
71     0x78DEE220, 0xA8F5A147, 0x958864EE, 0x45A32789,
72     0xEF72A3F1, 0x3F59E096, 0x0224253F, 0xD20F6658,
73 };
74 
75 /* $Id: sober128tab.c,v 1.2 2005/05/05 14:35:59 tom Exp $ */
76 /* Sbox for SOBER-128 */
77 /*
78  * This is really the combination of two SBoxes; the least significant
79  * 24 bits comes from:
80  * 8->32 Sbox generated by Millan et. al. at Queensland University of
81  * Technology. See: E. Dawson, W. Millan, L. Burnett, G. Carter,
82  * "On the Design of 8*32 S-boxes". Unpublished report, by the
83  * Information Systems Research Centre,
84  * Queensland University of Technology, 1999.
85  *
86  * The most significant 8 bits are the Skipjack "F table", which can be
87  * found at http://csrc.nist.gov/CryptoToolkit/skipjack/skipjack.pdf .
88  * In this optimised table, though, the intent is to XOR the word from
89  * the table selected by the high byte with the input word. Thus, the
90  * high byte is actually the Skipjack F-table entry XORED with its
91  * table index.
92  */
93 static const ulong32 Sbox[256] = {
94     0xa3aa1887, 0xd65e435c, 0x0b65c042, 0x800e6ef4,
95     0xfc57ee20, 0x4d84fed3, 0xf066c502, 0xf354e8ae,
96     0xbb2ee9d9, 0x281f38d4, 0x1f829b5d, 0x735cdf3c,
97     0x95864249, 0xbc2e3963, 0xa1f4429f, 0xf6432c35,
98     0xf7f40325, 0x3cc0dd70, 0x5f973ded, 0x9902dc5e,
99     0xda175b42, 0x590012bf, 0xdc94d78c, 0x39aab26b,
100     0x4ac11b9a, 0x8c168146, 0xc3ea8ec5, 0x058ac28f,
101     0x52ed5c0f, 0x25b4101c, 0x5a2db082, 0x370929e1,
102     0x2a1843de, 0xfe8299fc, 0x202fbc4b, 0x833915dd,
103     0x33a803fa, 0xd446b2de, 0x46233342, 0x4fcee7c3,
104     0x3ad607ef, 0x9e97ebab, 0x507f859b, 0xe81f2e2f,
105     0xc55b71da, 0xd7e2269a, 0x1339c3d1, 0x7ca56b36,
106     0xa6c9def2, 0xb5c9fc5f, 0x5927b3a3, 0x89a56ddf,
107     0xc625b510, 0x560f85a7, 0xace82e71, 0x2ecb8816,
108     0x44951e2a, 0x97f5f6af, 0xdfcbc2b3, 0xce4ff55d,
109     0xcb6b6214, 0x2b0b83e3, 0x549ea6f5, 0x9de041af,
110     0x792f1f17, 0xf73b99ee, 0x39a65ec0, 0x4c7016c6,
111     0x857709a4, 0xd6326e01, 0xc7b280d9, 0x5cfb1418,
112     0xa6aff227, 0xfd548203, 0x506b9d96, 0xa117a8c0,
113     0x9cd5bf6e, 0xdcee7888, 0x61fcfe64, 0xf7a193cd,
114     0x050d0184, 0xe8ae4930, 0x88014f36, 0xd6a87088,
115     0x6bad6c2a, 0x1422c678, 0xe9204de7, 0xb7c2e759,
116     0x0200248e, 0x013b446b, 0xda0d9fc2, 0x0414a895,
117     0x3a6cc3a1, 0x56fef170, 0x86c19155, 0xcf7b8a66,
118     0x551b5e69, 0xb4a8623e, 0xa2bdfa35, 0xc4f068cc,
119     0x573a6acd, 0x6355e936, 0x03602db9, 0x0edf13c1,
120     0x2d0bb16d, 0x6980b83c, 0xfeb23763, 0x3dd8a911,
121     0x01b6bc13, 0xf55579d7, 0xf55c2fa8, 0x19f4196e,
122     0xe7db5476, 0x8d64a866, 0xc06e16ad, 0xb17fc515,
123     0xc46feb3c, 0x8bc8a306, 0xad6799d9, 0x571a9133,
124     0x992466dd, 0x92eb5dcd, 0xac118f50, 0x9fafb226,
125     0xa1b9cef3, 0x3ab36189, 0x347a19b1, 0x62c73084,
126     0xc27ded5c, 0x6c8bc58f, 0x1cdde421, 0xed1e47fb,
127     0xcdcc715e, 0xb9c0ff99, 0x4b122f0f, 0xc4d25184,
128     0xaf7a5e6c, 0x5bbf18bc, 0x8dd7c6e0, 0x5fb7e420,
129     0x521f523f, 0x4ad9b8a2, 0xe9da1a6b, 0x97888c02,
130     0x19d1e354, 0x5aba7d79, 0xa2cc7753, 0x8c2d9655,
131     0x19829da1, 0x531590a7, 0x19c1c149, 0x3d537f1c,
132     0x50779b69, 0xed71f2b7, 0x463c58fa, 0x52dc4418,
133     0xc18c8c76, 0xc120d9f0, 0xafa80d4d, 0x3b74c473,
134     0xd09410e9, 0x290e4211, 0xc3c8082b, 0x8f6b334a,
135     0x3bf68ed2, 0xa843cc1b, 0x8d3c0ff3, 0x20e564a0,
136     0xf8f55a4f, 0x2b40f8e7, 0xfea7f15f, 0xcf00fe21,
137     0x8a6d37d6, 0xd0d506f1, 0xade00973, 0xefbbde36,
138     0x84670fa8, 0xfa31ab9e, 0xaedab618, 0xc01f52f5,
139     0x6558eb4f, 0x71b9e343, 0x4b8d77dd, 0x8cb93da6,
140     0x740fd52d, 0x425412f8, 0xc5a63360, 0x10e53ad0,
141     0x5a700f1c, 0x8324ed0b, 0xe53dc1ec, 0x1a366795,
142     0x6d549d15, 0xc5ce46d7, 0xe17abe76, 0x5f48e0a0,
143     0xd0f07c02, 0x941249b7, 0xe49ed6ba, 0x37a47f78,
144     0xe1cfffbd, 0xb007ca84, 0xbb65f4da, 0xb59f35da,
145     0x33d2aa44, 0x417452ac, 0xc0d674a7, 0x2d61a46a,
146     0xdc63152a, 0x3e12b7aa, 0x6e615927, 0xa14fb118,
147     0xa151758d, 0xba81687b, 0xe152f0b3, 0x764254ed,
148     0x34c77271, 0x0a31acab, 0x54f94aec, 0xb9e994cd,
149     0x574d9e81, 0x5b623730, 0xce8a21e8, 0x37917f0b,
150     0xe8a9b5d6, 0x9697adf8, 0xf3d30431, 0x5dcac921,
151     0x76b35d46, 0xaa430a36, 0xc2194022, 0x22bca65e,
152     0xdaec70ba, 0xdfaea8cc, 0x777bae8b, 0x242924d5,
153     0x1f098a5a, 0x4b396b81, 0x55de2522, 0x435c1cb8,
154     0xaeb8fe1d, 0x9db3c697, 0x5b164f83, 0xe0c16376,
155     0xa319224c, 0xd0203b35, 0x433ac0fe, 0x1466a19a,
156     0x45f0b24f, 0x51fda998, 0xc0d52d71, 0xfa0896a8,
157     0xf9e6053f, 0xa4b0d300, 0xd499cbcc, 0xb95e3d40,
158 };
159 
160 /* $Source: /cvs/libtom/libtomcrypt/src/prngs/sober128tab.c,v $ */
161 /* $Revision: 1.2 $ */
162 /* $Date: 2005/05/05 14:35:59 $ */
163