Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(1504)

Side by Side Diff: cast5/cast5.go

Issue 5564059: code review 5564059: go.crypto: initial code (Closed)
Patch Set: diff -r b50a7fb49394 https://code.google.com/p/go.crypto Created 12 years, 2 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « blowfish/const.go ('k') | cast5/cast5_test.go » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2010 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 // Package cast5 implements CAST5, as defined in RFC 2144. CAST5 is a common
6 // OpenPGP cipher.
7 package cast5
8
9 import "errors"
10
11 const BlockSize = 8
12 const KeySize = 16
13
14 type Cipher struct {
15 masking [16]uint32
16 rotate [16]uint8
17 }
18
19 func NewCipher(key []byte) (c *Cipher, err error) {
20 if len(key) != KeySize {
21 return nil, errors.New("CAST5: keys must be 16 bytes")
22 }
23
24 c = new(Cipher)
25 c.keySchedule(key)
26 return
27 }
28
29 func (c *Cipher) BlockSize() int {
30 return BlockSize
31 }
32
33 // Reset zeros the key material in memory.
34 func (c *Cipher) Reset() {
35 for i := 0; i < 16; i++ {
36 c.masking[i] = 0
37 c.rotate[i] = 0
38 }
39 }
40
41 func (c *Cipher) Encrypt(dst, src []byte) {
42 l := uint32(src[0])<<24 | uint32(src[1])<<16 | uint32(src[2])<<8 | uint3 2(src[3])
43 r := uint32(src[4])<<24 | uint32(src[5])<<16 | uint32(src[6])<<8 | uint3 2(src[7])
44
45 l, r = r, l^f1(r, c.masking[0], c.rotate[0])
46 l, r = r, l^f2(r, c.masking[1], c.rotate[1])
47 l, r = r, l^f3(r, c.masking[2], c.rotate[2])
48 l, r = r, l^f1(r, c.masking[3], c.rotate[3])
49
50 l, r = r, l^f2(r, c.masking[4], c.rotate[4])
51 l, r = r, l^f3(r, c.masking[5], c.rotate[5])
52 l, r = r, l^f1(r, c.masking[6], c.rotate[6])
53 l, r = r, l^f2(r, c.masking[7], c.rotate[7])
54
55 l, r = r, l^f3(r, c.masking[8], c.rotate[8])
56 l, r = r, l^f1(r, c.masking[9], c.rotate[9])
57 l, r = r, l^f2(r, c.masking[10], c.rotate[10])
58 l, r = r, l^f3(r, c.masking[11], c.rotate[11])
59
60 l, r = r, l^f1(r, c.masking[12], c.rotate[12])
61 l, r = r, l^f2(r, c.masking[13], c.rotate[13])
62 l, r = r, l^f3(r, c.masking[14], c.rotate[14])
63 l, r = r, l^f1(r, c.masking[15], c.rotate[15])
64
65 dst[0] = uint8(r >> 24)
66 dst[1] = uint8(r >> 16)
67 dst[2] = uint8(r >> 8)
68 dst[3] = uint8(r)
69 dst[4] = uint8(l >> 24)
70 dst[5] = uint8(l >> 16)
71 dst[6] = uint8(l >> 8)
72 dst[7] = uint8(l)
73 }
74
75 func (c *Cipher) Decrypt(dst, src []byte) {
76 l := uint32(src[0])<<24 | uint32(src[1])<<16 | uint32(src[2])<<8 | uint3 2(src[3])
77 r := uint32(src[4])<<24 | uint32(src[5])<<16 | uint32(src[6])<<8 | uint3 2(src[7])
78
79 l, r = r, l^f1(r, c.masking[15], c.rotate[15])
80 l, r = r, l^f3(r, c.masking[14], c.rotate[14])
81 l, r = r, l^f2(r, c.masking[13], c.rotate[13])
82 l, r = r, l^f1(r, c.masking[12], c.rotate[12])
83
84 l, r = r, l^f3(r, c.masking[11], c.rotate[11])
85 l, r = r, l^f2(r, c.masking[10], c.rotate[10])
86 l, r = r, l^f1(r, c.masking[9], c.rotate[9])
87 l, r = r, l^f3(r, c.masking[8], c.rotate[8])
88
89 l, r = r, l^f2(r, c.masking[7], c.rotate[7])
90 l, r = r, l^f1(r, c.masking[6], c.rotate[6])
91 l, r = r, l^f3(r, c.masking[5], c.rotate[5])
92 l, r = r, l^f2(r, c.masking[4], c.rotate[4])
93
94 l, r = r, l^f1(r, c.masking[3], c.rotate[3])
95 l, r = r, l^f3(r, c.masking[2], c.rotate[2])
96 l, r = r, l^f2(r, c.masking[1], c.rotate[1])
97 l, r = r, l^f1(r, c.masking[0], c.rotate[0])
98
99 dst[0] = uint8(r >> 24)
100 dst[1] = uint8(r >> 16)
101 dst[2] = uint8(r >> 8)
102 dst[3] = uint8(r)
103 dst[4] = uint8(l >> 24)
104 dst[5] = uint8(l >> 16)
105 dst[6] = uint8(l >> 8)
106 dst[7] = uint8(l)
107 }
108
109 type keyScheduleA [4][7]uint8
110 type keyScheduleB [4][5]uint8
111
112 // keyScheduleRound contains the magic values for a round of the key schedule.
113 // The keyScheduleA deals with the lines like:
114 // z0z1z2z3 = x0x1x2x3 ^ S5[xD] ^ S6[xF] ^ S7[xC] ^ S8[xE] ^ S7[x8]
115 // Conceptually, both x and z are in the same array, x first. The first
116 // element describes which word of this array gets written to and the
117 // second, which word gets read. So, for the line above, it's "4, 0", because
118 // it's writing to the first word of z, which, being after x, is word 4, and
119 // reading from the first word of x: word 0.
120 //
121 // Next are the indexes into the S-boxes. Now the array is treated as bytes. So
122 // "xD" is 0xd. The first byte of z is written as "16 + 0", just to be clear
123 // that it's z that we're indexing.
124 //
125 // keyScheduleB deals with lines like:
126 // K1 = S5[z8] ^ S6[z9] ^ S7[z7] ^ S8[z6] ^ S5[z2]
127 // "K1" is ignored because key words are always written in order. So the five
128 // elements are the S-box indexes. They use the same form as in keyScheduleA,
129 // above.
130
131 type keyScheduleRound struct{}
132 type keySchedule []keyScheduleRound
133
134 var schedule = []struct {
135 a keyScheduleA
136 b keyScheduleB
137 }{
138 {
139 keyScheduleA{
140 {4, 0, 0xd, 0xf, 0xc, 0xe, 0x8},
141 {5, 2, 16 + 0, 16 + 2, 16 + 1, 16 + 3, 0xa},
142 {6, 3, 16 + 7, 16 + 6, 16 + 5, 16 + 4, 9},
143 {7, 1, 16 + 0xa, 16 + 9, 16 + 0xb, 16 + 8, 0xb},
144 },
145 keyScheduleB{
146 {16 + 8, 16 + 9, 16 + 7, 16 + 6, 16 + 2},
147 {16 + 0xa, 16 + 0xb, 16 + 5, 16 + 4, 16 + 6},
148 {16 + 0xc, 16 + 0xd, 16 + 3, 16 + 2, 16 + 9},
149 {16 + 0xe, 16 + 0xf, 16 + 1, 16 + 0, 16 + 0xc},
150 },
151 },
152 {
153 keyScheduleA{
154 {0, 6, 16 + 5, 16 + 7, 16 + 4, 16 + 6, 16 + 0},
155 {1, 4, 0, 2, 1, 3, 16 + 2},
156 {2, 5, 7, 6, 5, 4, 16 + 1},
157 {3, 7, 0xa, 9, 0xb, 8, 16 + 3},
158 },
159 keyScheduleB{
160 {3, 2, 0xc, 0xd, 8},
161 {1, 0, 0xe, 0xf, 0xd},
162 {7, 6, 8, 9, 3},
163 {5, 4, 0xa, 0xb, 7},
164 },
165 },
166 {
167 keyScheduleA{
168 {4, 0, 0xd, 0xf, 0xc, 0xe, 8},
169 {5, 2, 16 + 0, 16 + 2, 16 + 1, 16 + 3, 0xa},
170 {6, 3, 16 + 7, 16 + 6, 16 + 5, 16 + 4, 9},
171 {7, 1, 16 + 0xa, 16 + 9, 16 + 0xb, 16 + 8, 0xb},
172 },
173 keyScheduleB{
174 {16 + 3, 16 + 2, 16 + 0xc, 16 + 0xd, 16 + 9},
175 {16 + 1, 16 + 0, 16 + 0xe, 16 + 0xf, 16 + 0xc},
176 {16 + 7, 16 + 6, 16 + 8, 16 + 9, 16 + 2},
177 {16 + 5, 16 + 4, 16 + 0xa, 16 + 0xb, 16 + 6},
178 },
179 },
180 {
181 keyScheduleA{
182 {0, 6, 16 + 5, 16 + 7, 16 + 4, 16 + 6, 16 + 0},
183 {1, 4, 0, 2, 1, 3, 16 + 2},
184 {2, 5, 7, 6, 5, 4, 16 + 1},
185 {3, 7, 0xa, 9, 0xb, 8, 16 + 3},
186 },
187 keyScheduleB{
188 {8, 9, 7, 6, 3},
189 {0xa, 0xb, 5, 4, 7},
190 {0xc, 0xd, 3, 2, 8},
191 {0xe, 0xf, 1, 0, 0xd},
192 },
193 },
194 }
195
196 func (c *Cipher) keySchedule(in []byte) {
197 var t [8]uint32
198 var k [32]uint32
199
200 for i := 0; i < 4; i++ {
201 j := i * 4
202 t[i] = uint32(in[j])<<24 | uint32(in[j+1])<<16 | uint32(in[j+2]) <<8 | uint32(in[j+3])
203 }
204
205 x := []byte{6, 7, 4, 5}
206 ki := 0
207
208 for half := 0; half < 2; half++ {
209 for _, round := range schedule {
210 for j := 0; j < 4; j++ {
211 var a [7]uint8
212 copy(a[:], round.a[j][:])
213 w := t[a[1]]
214 w ^= sBox[4][(t[a[2]>>2]>>(24-8*(a[2]&3)))&0xff]
215 w ^= sBox[5][(t[a[3]>>2]>>(24-8*(a[3]&3)))&0xff]
216 w ^= sBox[6][(t[a[4]>>2]>>(24-8*(a[4]&3)))&0xff]
217 w ^= sBox[7][(t[a[5]>>2]>>(24-8*(a[5]&3)))&0xff]
218 w ^= sBox[x[j]][(t[a[6]>>2]>>(24-8*(a[6]&3)))&0x ff]
219 t[a[0]] = w
220 }
221
222 for j := 0; j < 4; j++ {
223 var b [5]uint8
224 copy(b[:], round.b[j][:])
225 w := sBox[4][(t[b[0]>>2]>>(24-8*(b[0]&3)))&0xff]
226 w ^= sBox[5][(t[b[1]>>2]>>(24-8*(b[1]&3)))&0xff]
227 w ^= sBox[6][(t[b[2]>>2]>>(24-8*(b[2]&3)))&0xff]
228 w ^= sBox[7][(t[b[3]>>2]>>(24-8*(b[3]&3)))&0xff]
229 w ^= sBox[4+j][(t[b[4]>>2]>>(24-8*(b[4]&3)))&0xf f]
230 k[ki] = w
231 ki++
232 }
233 }
234 }
235
236 for i := 0; i < 16; i++ {
237 c.masking[i] = k[i]
238 c.rotate[i] = uint8(k[16+i] & 0x1f)
239 }
240 }
241
242 // These are the three 'f' functions. See RFC 2144, section 2.2.
243 func f1(d, m uint32, r uint8) uint32 {
244 t := m + d
245 I := (t << r) | (t >> (32 - r))
246 return ((sBox[0][I>>24] ^ sBox[1][(I>>16)&0xff]) - sBox[2][(I>>8)&0xff]) + sBox[3][I&0xff]
247 }
248
249 func f2(d, m uint32, r uint8) uint32 {
250 t := m ^ d
251 I := (t << r) | (t >> (32 - r))
252 return ((sBox[0][I>>24] - sBox[1][(I>>16)&0xff]) + sBox[2][(I>>8)&0xff]) ^ sBox[3][I&0xff]
253 }
254
255 func f3(d, m uint32, r uint8) uint32 {
256 t := m - d
257 I := (t << r) | (t >> (32 - r))
258 return ((sBox[0][I>>24] + sBox[1][(I>>16)&0xff]) ^ sBox[2][(I>>8)&0xff]) - sBox[3][I&0xff]
259 }
260
261 var sBox = [8][256]uint32{
262 {
263 0x30fb40d4, 0x9fa0ff0b, 0x6beccd2f, 0x3f258c7a, 0x1e213f2f, 0x9c 004dd3, 0x6003e540, 0xcf9fc949,
264 0xbfd4af27, 0x88bbbdb5, 0xe2034090, 0x98d09675, 0x6e63a0e0, 0x15 c361d2, 0xc2e7661d, 0x22d4ff8e,
265 0x28683b6f, 0xc07fd059, 0xff2379c8, 0x775f50e2, 0x43c340d3, 0xdf 2f8656, 0x887ca41a, 0xa2d2bd2d,
266 0xa1c9e0d6, 0x346c4819, 0x61b76d87, 0x22540f2f, 0x2abe32e1, 0xaa 54166b, 0x22568e3a, 0xa2d341d0,
267 0x66db40c8, 0xa784392f, 0x004dff2f, 0x2db9d2de, 0x97943fac, 0x4a 97c1d8, 0x527644b7, 0xb5f437a7,
268 0xb82cbaef, 0xd751d159, 0x6ff7f0ed, 0x5a097a1f, 0x827b68d0, 0x90 ecf52e, 0x22b0c054, 0xbc8e5935,
269 0x4b6d2f7f, 0x50bb64a2, 0xd2664910, 0xbee5812d, 0xb7332290, 0xe9 3b159f, 0xb48ee411, 0x4bff345d,
270 0xfd45c240, 0xad31973f, 0xc4f6d02e, 0x55fc8165, 0xd5b1caad, 0xa1 ac2dae, 0xa2d4b76d, 0xc19b0c50,
271 0x882240f2, 0x0c6e4f38, 0xa4e4bfd7, 0x4f5ba272, 0x564c1d2f, 0xc5 9c5319, 0xb949e354, 0xb04669fe,
272 0xb1b6ab8a, 0xc71358dd, 0x6385c545, 0x110f935d, 0x57538ad5, 0x6a 390493, 0xe63d37e0, 0x2a54f6b3,
273 0x3a787d5f, 0x6276a0b5, 0x19a6fcdf, 0x7a42206a, 0x29f9d4d5, 0xf6 1b1891, 0xbb72275e, 0xaa508167,
274 0x38901091, 0xc6b505eb, 0x84c7cb8c, 0x2ad75a0f, 0x874a1427, 0xa2 d1936b, 0x2ad286af, 0xaa56d291,
275 0xd7894360, 0x425c750d, 0x93b39e26, 0x187184c9, 0x6c00b32d, 0x73 e2bb14, 0xa0bebc3c, 0x54623779,
276 0x64459eab, 0x3f328b82, 0x7718cf82, 0x59a2cea6, 0x04ee002e, 0x89 fe78e6, 0x3fab0950, 0x325ff6c2,
277 0x81383f05, 0x6963c5c8, 0x76cb5ad6, 0xd49974c9, 0xca180dcf, 0x38 0782d5, 0xc7fa5cf6, 0x8ac31511,
278 0x35e79e13, 0x47da91d0, 0xf40f9086, 0xa7e2419e, 0x31366241, 0x05 1ef495, 0xaa573b04, 0x4a805d8d,
279 0x548300d0, 0x00322a3c, 0xbf64cddf, 0xba57a68e, 0x75c6372b, 0x50 afd341, 0xa7c13275, 0x915a0bf5,
280 0x6b54bfab, 0x2b0b1426, 0xab4cc9d7, 0x449ccd82, 0xf7fbf265, 0xab 85c5f3, 0x1b55db94, 0xaad4e324,
281 0xcfa4bd3f, 0x2deaa3e2, 0x9e204d02, 0xc8bd25ac, 0xeadf55b3, 0xd5 bd9e98, 0xe31231b2, 0x2ad5ad6c,
282 0x954329de, 0xadbe4528, 0xd8710f69, 0xaa51c90f, 0xaa786bf6, 0x22 513f1e, 0xaa51a79b, 0x2ad344cc,
283 0x7b5a41f0, 0xd37cfbad, 0x1b069505, 0x41ece491, 0xb4c332e6, 0x03 2268d4, 0xc9600acc, 0xce387e6d,
284 0xbf6bb16c, 0x6a70fb78, 0x0d03d9c9, 0xd4df39de, 0xe01063da, 0x47 36f464, 0x5ad328d8, 0xb347cc96,
285 0x75bb0fc3, 0x98511bfb, 0x4ffbcc35, 0xb58bcf6a, 0xe11f0abc, 0xbf c5fe4a, 0xa70aec10, 0xac39570a,
286 0x3f04442f, 0x6188b153, 0xe0397a2e, 0x5727cb79, 0x9ceb418f, 0x1c acd68d, 0x2ad37c96, 0x0175cb9d,
287 0xc69dff09, 0xc75b65f0, 0xd9db40d8, 0xec0e7779, 0x4744ead4, 0xb1 1c3274, 0xdd24cb9e, 0x7e1c54bd,
288 0xf01144f9, 0xd2240eb1, 0x9675b3fd, 0xa3ac3755, 0xd47c27af, 0x51 c85f4d, 0x56907596, 0xa5bb15e6,
289 0x580304f0, 0xca042cf1, 0x011a37ea, 0x8dbfaadb, 0x35ba3e4a, 0x35 26ffa0, 0xc37b4d09, 0xbc306ed9,
290 0x98a52666, 0x5648f725, 0xff5e569d, 0x0ced63d0, 0x7c63b2cf, 0x70 0b45e1, 0xd5ea50f1, 0x85a92872,
291 0xaf1fbda7, 0xd4234870, 0xa7870bf3, 0x2d3b4d79, 0x42e04198, 0x0c d0ede7, 0x26470db8, 0xf881814c,
292 0x474d6ad7, 0x7c0c5e5c, 0xd1231959, 0x381b7298, 0xf5d2f4db, 0xab 838653, 0x6e2f1e23, 0x83719c9e,
293 0xbd91e046, 0x9a56456e, 0xdc39200c, 0x20c8c571, 0x962bda1c, 0xe1 e696ff, 0xb141ab08, 0x7cca89b9,
294 0x1a69e783, 0x02cc4843, 0xa2f7c579, 0x429ef47d, 0x427b169c, 0x5a c9f049, 0xdd8f0f00, 0x5c8165bf,
295 },
296 {
297 0x1f201094, 0xef0ba75b, 0x69e3cf7e, 0x393f4380, 0xfe61cf7a, 0xee c5207a, 0x55889c94, 0x72fc0651,
298 0xada7ef79, 0x4e1d7235, 0xd55a63ce, 0xde0436ba, 0x99c430ef, 0x5f 0c0794, 0x18dcdb7d, 0xa1d6eff3,
299 0xa0b52f7b, 0x59e83605, 0xee15b094, 0xe9ffd909, 0xdc440086, 0xef 944459, 0xba83ccb3, 0xe0c3cdfb,
300 0xd1da4181, 0x3b092ab1, 0xf997f1c1, 0xa5e6cf7b, 0x01420ddb, 0xe4 e7ef5b, 0x25a1ff41, 0xe180f806,
301 0x1fc41080, 0x179bee7a, 0xd37ac6a9, 0xfe5830a4, 0x98de8b7f, 0x77 e83f4e, 0x79929269, 0x24fa9f7b,
302 0xe113c85b, 0xacc40083, 0xd7503525, 0xf7ea615f, 0x62143154, 0x0d 554b63, 0x5d681121, 0xc866c359,
303 0x3d63cf73, 0xcee234c0, 0xd4d87e87, 0x5c672b21, 0x071f6181, 0x39 f7627f, 0x361e3084, 0xe4eb573b,
304 0x602f64a4, 0xd63acd9c, 0x1bbc4635, 0x9e81032d, 0x2701f50c, 0x99 847ab4, 0xa0e3df79, 0xba6cf38c,
305 0x10843094, 0x2537a95e, 0xf46f6ffe, 0xa1ff3b1f, 0x208cfb6a, 0x8f 458c74, 0xd9e0a227, 0x4ec73a34,
306 0xfc884f69, 0x3e4de8df, 0xef0e0088, 0x3559648d, 0x8a45388c, 0x1d 804366, 0x721d9bfd, 0xa58684bb,
307 0xe8256333, 0x844e8212, 0x128d8098, 0xfed33fb4, 0xce280ae1, 0x27 e19ba5, 0xd5a6c252, 0xe49754bd,
308 0xc5d655dd, 0xeb667064, 0x77840b4d, 0xa1b6a801, 0x84db26a9, 0xe0 b56714, 0x21f043b7, 0xe5d05860,
309 0x54f03084, 0x066ff472, 0xa31aa153, 0xdadc4755, 0xb5625dbf, 0x68 561be6, 0x83ca6b94, 0x2d6ed23b,
310 0xeccf01db, 0xa6d3d0ba, 0xb6803d5c, 0xaf77a709, 0x33b4a34c, 0x39 7bc8d6, 0x5ee22b95, 0x5f0e5304,
311 0x81ed6f61, 0x20e74364, 0xb45e1378, 0xde18639b, 0x881ca122, 0xb9 6726d1, 0x8049a7e8, 0x22b7da7b,
312 0x5e552d25, 0x5272d237, 0x79d2951c, 0xc60d894c, 0x488cb402, 0x1b a4fe5b, 0xa4b09f6b, 0x1ca815cf,
313 0xa20c3005, 0x8871df63, 0xb9de2fcb, 0x0cc6c9e9, 0x0beeff53, 0xe3 214517, 0xb4542835, 0x9f63293c,
314 0xee41e729, 0x6e1d2d7c, 0x50045286, 0x1e6685f3, 0xf33401c6, 0x30 a22c95, 0x31a70850, 0x60930f13,
315 0x73f98417, 0xa1269859, 0xec645c44, 0x52c877a9, 0xcdff33a6, 0xa0 2b1741, 0x7cbad9a2, 0x2180036f,
316 0x50d99c08, 0xcb3f4861, 0xc26bd765, 0x64a3f6ab, 0x80342676, 0x25 a75e7b, 0xe4e6d1fc, 0x20c710e6,
317 0xcdf0b680, 0x17844d3b, 0x31eef84d, 0x7e0824e4, 0x2ccb49eb, 0x84 6a3bae, 0x8ff77888, 0xee5d60f6,
318 0x7af75673, 0x2fdd5cdb, 0xa11631c1, 0x30f66f43, 0xb3faec54, 0x15 7fd7fa, 0xef8579cc, 0xd152de58,
319 0xdb2ffd5e, 0x8f32ce19, 0x306af97a, 0x02f03ef8, 0x99319ad5, 0xc2 42fa0f, 0xa7e3ebb0, 0xc68e4906,
320 0xb8da230c, 0x80823028, 0xdcdef3c8, 0xd35fb171, 0x088a1bc8, 0xbe c0c560, 0x61a3c9e8, 0xbca8f54d,
321 0xc72feffa, 0x22822e99, 0x82c570b4, 0xd8d94e89, 0x8b1c34bc, 0x30 1e16e6, 0x273be979, 0xb0ffeaa6,
322 0x61d9b8c6, 0x00b24869, 0xb7ffce3f, 0x08dc283b, 0x43daf65a, 0xf7 e19798, 0x7619b72f, 0x8f1c9ba4,
323 0xdc8637a0, 0x16a7d3b1, 0x9fc393b7, 0xa7136eeb, 0xc6bcc63e, 0x1a 513742, 0xef6828bc, 0x520365d6,
324 0x2d6a77ab, 0x3527ed4b, 0x821fd216, 0x095c6e2e, 0xdb92f2fb, 0x5e ea29cb, 0x145892f5, 0x91584f7f,
325 0x5483697b, 0x2667a8cc, 0x85196048, 0x8c4bacea, 0x833860d4, 0x0d 23e0f9, 0x6c387e8a, 0x0ae6d249,
326 0xb284600c, 0xd835731d, 0xdcb1c647, 0xac4c56ea, 0x3ebd81b3, 0x23 0eabb0, 0x6438bc87, 0xf0b5b1fa,
327 0x8f5ea2b3, 0xfc184642, 0x0a036b7a, 0x4fb089bd, 0x649da589, 0xa3 45415e, 0x5c038323, 0x3e5d3bb9,
328 0x43d79572, 0x7e6dd07c, 0x06dfdf1e, 0x6c6cc4ef, 0x7160a539, 0x73 bfbe70, 0x83877605, 0x4523ecf1,
329 },
330 {
331 0x8defc240, 0x25fa5d9f, 0xeb903dbf, 0xe810c907, 0x47607fff, 0x36 9fe44b, 0x8c1fc644, 0xaececa90,
332 0xbeb1f9bf, 0xeefbcaea, 0xe8cf1950, 0x51df07ae, 0x920e8806, 0xf0 ad0548, 0xe13c8d83, 0x927010d5,
333 0x11107d9f, 0x07647db9, 0xb2e3e4d4, 0x3d4f285e, 0xb9afa820, 0xfa de82e0, 0xa067268b, 0x8272792e,
334 0x553fb2c0, 0x489ae22b, 0xd4ef9794, 0x125e3fbc, 0x21fffcee, 0x82 5b1bfd, 0x9255c5ed, 0x1257a240,
335 0x4e1a8302, 0xbae07fff, 0x528246e7, 0x8e57140e, 0x3373f7bf, 0x8c 9f8188, 0xa6fc4ee8, 0xc982b5a5,
336 0xa8c01db7, 0x579fc264, 0x67094f31, 0xf2bd3f5f, 0x40fff7c1, 0x1f b78dfc, 0x8e6bd2c1, 0x437be59b,
337 0x99b03dbf, 0xb5dbc64b, 0x638dc0e6, 0x55819d99, 0xa197c81c, 0x4a 012d6e, 0xc5884a28, 0xccc36f71,
338 0xb843c213, 0x6c0743f1, 0x8309893c, 0x0feddd5f, 0x2f7fe850, 0xd7 c07f7e, 0x02507fbf, 0x5afb9a04,
339 0xa747d2d0, 0x1651192e, 0xaf70bf3e, 0x58c31380, 0x5f98302e, 0x72 7cc3c4, 0x0a0fb402, 0x0f7fef82,
340 0x8c96fdad, 0x5d2c2aae, 0x8ee99a49, 0x50da88b8, 0x8427f4a0, 0x1e ac5790, 0x796fb449, 0x8252dc15,
341 0xefbd7d9b, 0xa672597d, 0xada840d8, 0x45f54504, 0xfa5d7403, 0xe8 3ec305, 0x4f91751a, 0x925669c2,
342 0x23efe941, 0xa903f12e, 0x60270df2, 0x0276e4b6, 0x94fd6574, 0x92 7985b2, 0x8276dbcb, 0x02778176,
343 0xf8af918d, 0x4e48f79e, 0x8f616ddf, 0xe29d840e, 0x842f7d83, 0x34 0ce5c8, 0x96bbb682, 0x93b4b148,
344 0xef303cab, 0x984faf28, 0x779faf9b, 0x92dc560d, 0x224d1e20, 0x84 37aa88, 0x7d29dc96, 0x2756d3dc,
345 0x8b907cee, 0xb51fd240, 0xe7c07ce3, 0xe566b4a1, 0xc3e9615e, 0x3c f8209d, 0x6094d1e3, 0xcd9ca341,
346 0x5c76460e, 0x00ea983b, 0xd4d67881, 0xfd47572c, 0xf76cedd9, 0xbd a8229c, 0x127dadaa, 0x438a074e,
347 0x1f97c090, 0x081bdb8a, 0x93a07ebe, 0xb938ca15, 0x97b03cff, 0x3d c2c0f8, 0x8d1ab2ec, 0x64380e51,
348 0x68cc7bfb, 0xd90f2788, 0x12490181, 0x5de5ffd4, 0xdd7ef86a, 0x76 a2e214, 0xb9a40368, 0x925d958f,
349 0x4b39fffa, 0xba39aee9, 0xa4ffd30b, 0xfaf7933b, 0x6d498623, 0x19 3cbcfa, 0x27627545, 0x825cf47a,
350 0x61bd8ba0, 0xd11e42d1, 0xcead04f4, 0x127ea392, 0x10428db7, 0x82 72a972, 0x9270c4a8, 0x127de50b,
351 0x285ba1c8, 0x3c62f44f, 0x35c0eaa5, 0xe805d231, 0x428929fb, 0xb4 fcdf82, 0x4fb66a53, 0x0e7dc15b,
352 0x1f081fab, 0x108618ae, 0xfcfd086d, 0xf9ff2889, 0x694bcc11, 0x23 6a5cae, 0x12deca4d, 0x2c3f8cc5,
353 0xd2d02dfe, 0xf8ef5896, 0xe4cf52da, 0x95155b67, 0x494a488c, 0xb9 b6a80c, 0x5c8f82bc, 0x89d36b45,
354 0x3a609437, 0xec00c9a9, 0x44715253, 0x0a874b49, 0xd773bc40, 0x7c 34671c, 0x02717ef6, 0x4feb5536,
355 0xa2d02fff, 0xd2bf60c4, 0xd43f03c0, 0x50b4ef6d, 0x07478cd1, 0x00 6e1888, 0xa2e53f55, 0xb9e6d4bc,
356 0xa2048016, 0x97573833, 0xd7207d67, 0xde0f8f3d, 0x72f87b33, 0xab cc4f33, 0x7688c55d, 0x7b00a6b0,
357 0x947b0001, 0x570075d2, 0xf9bb88f8, 0x8942019e, 0x4264a5ff, 0x85 6302e0, 0x72dbd92b, 0xee971b69,
358 0x6ea22fde, 0x5f08ae2b, 0xaf7a616d, 0xe5c98767, 0xcf1febd2, 0x61 efc8c2, 0xf1ac2571, 0xcc8239c2,
359 0x67214cb8, 0xb1e583d1, 0xb7dc3e62, 0x7f10bdce, 0xf90a5c38, 0x0f f0443d, 0x606e6dc6, 0x60543a49,
360 0x5727c148, 0x2be98a1d, 0x8ab41738, 0x20e1be24, 0xaf96da0f, 0x68 458425, 0x99833be5, 0x600d457d,
361 0x282f9350, 0x8334b362, 0xd91d1120, 0x2b6d8da0, 0x642b1e31, 0x9c 305a00, 0x52bce688, 0x1b03588a,
362 0xf7baefd5, 0x4142ed9c, 0xa4315c11, 0x83323ec5, 0xdfef4636, 0xa1 33c501, 0xe9d3531c, 0xee353783,
363 },
364 {
365 0x9db30420, 0x1fb6e9de, 0xa7be7bef, 0xd273a298, 0x4a4f7bdb, 0x64 ad8c57, 0x85510443, 0xfa020ed1,
366 0x7e287aff, 0xe60fb663, 0x095f35a1, 0x79ebf120, 0xfd059d43, 0x64 97b7b1, 0xf3641f63, 0x241e4adf,
367 0x28147f5f, 0x4fa2b8cd, 0xc9430040, 0x0cc32220, 0xfdd30b30, 0xc0 a5374f, 0x1d2d00d9, 0x24147b15,
368 0xee4d111a, 0x0fca5167, 0x71ff904c, 0x2d195ffe, 0x1a05645f, 0x0c 13fefe, 0x081b08ca, 0x05170121,
369 0x80530100, 0xe83e5efe, 0xac9af4f8, 0x7fe72701, 0xd2b8ee5f, 0x06 df4261, 0xbb9e9b8a, 0x7293ea25,
370 0xce84ffdf, 0xf5718801, 0x3dd64b04, 0xa26f263b, 0x7ed48400, 0x54 7eebe6, 0x446d4ca0, 0x6cf3d6f5,
371 0x2649abdf, 0xaea0c7f5, 0x36338cc1, 0x503f7e93, 0xd3772061, 0x11 b638e1, 0x72500e03, 0xf80eb2bb,
372 0xabe0502e, 0xec8d77de, 0x57971e81, 0xe14f6746, 0xc9335400, 0x69 20318f, 0x081dbb99, 0xffc304a5,
373 0x4d351805, 0x7f3d5ce3, 0xa6c866c6, 0x5d5bcca9, 0xdaec6fea, 0x9f 926f91, 0x9f46222f, 0x3991467d,
374 0xa5bf6d8e, 0x1143c44f, 0x43958302, 0xd0214eeb, 0x022083b8, 0x3f b6180c, 0x18f8931e, 0x281658e6,
375 0x26486e3e, 0x8bd78a70, 0x7477e4c1, 0xb506e07c, 0xf32d0a25, 0x79 098b02, 0xe4eabb81, 0x28123b23,
376 0x69dead38, 0x1574ca16, 0xdf871b62, 0x211c40b7, 0xa51a9ef9, 0x00 14377b, 0x041e8ac8, 0x09114003,
377 0xbd59e4d2, 0xe3d156d5, 0x4fe876d5, 0x2f91a340, 0x557be8de, 0x00 eae4a7, 0x0ce5c2ec, 0x4db4bba6,
378 0xe756bdff, 0xdd3369ac, 0xec17b035, 0x06572327, 0x99afc8b0, 0x56 c8c391, 0x6b65811c, 0x5e146119,
379 0x6e85cb75, 0xbe07c002, 0xc2325577, 0x893ff4ec, 0x5bbfc92d, 0xd0 ec3b25, 0xb7801ab7, 0x8d6d3b24,
380 0x20c763ef, 0xc366a5fc, 0x9c382880, 0x0ace3205, 0xaac9548a, 0xec a1d7c7, 0x041afa32, 0x1d16625a,
381 0x6701902c, 0x9b757a54, 0x31d477f7, 0x9126b031, 0x36cc6fdb, 0xc7 0b8b46, 0xd9e66a48, 0x56e55a79,
382 0x026a4ceb, 0x52437eff, 0x2f8f76b4, 0x0df980a5, 0x8674cde3, 0xed da04eb, 0x17a9be04, 0x2c18f4df,
383 0xb7747f9d, 0xab2af7b4, 0xefc34d20, 0x2e096b7c, 0x1741a254, 0xe5 b6a035, 0x213d42f6, 0x2c1c7c26,
384 0x61c2f50f, 0x6552daf9, 0xd2c231f8, 0x25130f69, 0xd8167fa2, 0x04 18f2c8, 0x001a96a6, 0x0d1526ab,
385 0x63315c21, 0x5e0a72ec, 0x49bafefd, 0x187908d9, 0x8d0dbd86, 0x31 1170a7, 0x3e9b640c, 0xcc3e10d7,
386 0xd5cad3b6, 0x0caec388, 0xf73001e1, 0x6c728aff, 0x71eae2a1, 0x1f 9af36e, 0xcfcbd12f, 0xc1de8417,
387 0xac07be6b, 0xcb44a1d8, 0x8b9b0f56, 0x013988c3, 0xb1c52fca, 0xb4 be31cd, 0xd8782806, 0x12a3a4e2,
388 0x6f7de532, 0x58fd7eb6, 0xd01ee900, 0x24adffc2, 0xf4990fc5, 0x97 11aac5, 0x001d7b95, 0x82e5e7d2,
389 0x109873f6, 0x00613096, 0xc32d9521, 0xada121ff, 0x29908415, 0x7f bb977f, 0xaf9eb3db, 0x29c9ed2a,
390 0x5ce2a465, 0xa730f32c, 0xd0aa3fe8, 0x8a5cc091, 0xd49e2ce7, 0x0c e454a9, 0xd60acd86, 0x015f1919,
391 0x77079103, 0xdea03af6, 0x78a8565e, 0xdee356df, 0x21f05cbe, 0x8b 75e387, 0xb3c50651, 0xb8a5c3ef,
392 0xd8eeb6d2, 0xe523be77, 0xc2154529, 0x2f69efdf, 0xafe67afb, 0xf4 70c4b2, 0xf3e0eb5b, 0xd6cc9876,
393 0x39e4460c, 0x1fda8538, 0x1987832f, 0xca007367, 0xa99144f8, 0x29 6b299e, 0x492fc295, 0x9266beab,
394 0xb5676e69, 0x9bd3ddda, 0xdf7e052f, 0xdb25701c, 0x1b5e51ee, 0xf6 5324e6, 0x6afce36c, 0x0316cc04,
395 0x8644213e, 0xb7dc59d0, 0x7965291f, 0xccd6fd43, 0x41823979, 0x93 2bcdf6, 0xb657c34d, 0x4edfd282,
396 0x7ae5290c, 0x3cb9536b, 0x851e20fe, 0x9833557e, 0x13ecf0b0, 0xd3 ffb372, 0x3f85c5c1, 0x0aef7ed2,
397 },
398 {
399 0x7ec90c04, 0x2c6e74b9, 0x9b0e66df, 0xa6337911, 0xb86a7fff, 0x1d d358f5, 0x44dd9d44, 0x1731167f,
400 0x08fbf1fa, 0xe7f511cc, 0xd2051b00, 0x735aba00, 0x2ab722d8, 0x38 6381cb, 0xacf6243a, 0x69befd7a,
401 0xe6a2e77f, 0xf0c720cd, 0xc4494816, 0xccf5c180, 0x38851640, 0x15 b0a848, 0xe68b18cb, 0x4caadeff,
402 0x5f480a01, 0x0412b2aa, 0x259814fc, 0x41d0efe2, 0x4e40b48d, 0x24 8eb6fb, 0x8dba1cfe, 0x41a99b02,
403 0x1a550a04, 0xba8f65cb, 0x7251f4e7, 0x95a51725, 0xc106ecd7, 0x97 a5980a, 0xc539b9aa, 0x4d79fe6a,
404 0xf2f3f763, 0x68af8040, 0xed0c9e56, 0x11b4958b, 0xe1eb5a88, 0x87 09e6b0, 0xd7e07156, 0x4e29fea7,
405 0x6366e52d, 0x02d1c000, 0xc4ac8e05, 0x9377f571, 0x0c05372a, 0x57 8535f2, 0x2261be02, 0xd642a0c9,
406 0xdf13a280, 0x74b55bd2, 0x682199c0, 0xd421e5ec, 0x53fb3ce8, 0xc8 adedb3, 0x28a87fc9, 0x3d959981,
407 0x5c1ff900, 0xfe38d399, 0x0c4eff0b, 0x062407ea, 0xaa2f4fb1, 0x4f b96976, 0x90c79505, 0xb0a8a774,
408 0xef55a1ff, 0xe59ca2c2, 0xa6b62d27, 0xe66a4263, 0xdf65001f, 0x0e c50966, 0xdfdd55bc, 0x29de0655,
409 0x911e739a, 0x17af8975, 0x32c7911c, 0x89f89468, 0x0d01e980, 0x52 4755f4, 0x03b63cc9, 0x0cc844b2,
410 0xbcf3f0aa, 0x87ac36e9, 0xe53a7426, 0x01b3d82b, 0x1a9e7449, 0x64 ee2d7e, 0xcddbb1da, 0x01c94910,
411 0xb868bf80, 0x0d26f3fd, 0x9342ede7, 0x04a5c284, 0x636737b6, 0x50 f5b616, 0xf24766e3, 0x8eca36c1,
412 0x136e05db, 0xfef18391, 0xfb887a37, 0xd6e7f7d4, 0xc7fb7dc9, 0x30 63fcdf, 0xb6f589de, 0xec2941da,
413 0x26e46695, 0xb7566419, 0xf654efc5, 0xd08d58b7, 0x48925401, 0xc1 bacb7f, 0xe5ff550f, 0xb6083049,
414 0x5bb5d0e8, 0x87d72e5a, 0xab6a6ee1, 0x223a66ce, 0xc62bf3cd, 0x9e 0885f9, 0x68cb3e47, 0x086c010f,
415 0xa21de820, 0xd18b69de, 0xf3f65777, 0xfa02c3f6, 0x407edac3, 0xcb b3d550, 0x1793084d, 0xb0d70eba,
416 0x0ab378d5, 0xd951fb0c, 0xded7da56, 0x4124bbe4, 0x94ca0b56, 0x0f 5755d1, 0xe0e1e56e, 0x6184b5be,
417 0x580a249f, 0x94f74bc0, 0xe327888e, 0x9f7b5561, 0xc3dc0280, 0x05 687715, 0x646c6bd7, 0x44904db3,
418 0x66b4f0a3, 0xc0f1648a, 0x697ed5af, 0x49e92ff6, 0x309e374f, 0x2c b6356a, 0x85808573, 0x4991f840,
419 0x76f0ae02, 0x083be84d, 0x28421c9a, 0x44489406, 0x736e4cb8, 0xc1 092910, 0x8bc95fc6, 0x7d869cf4,
420 0x134f616f, 0x2e77118d, 0xb31b2be1, 0xaa90b472, 0x3ca5d717, 0x7d 161bba, 0x9cad9010, 0xaf462ba2,
421 0x9fe459d2, 0x45d34559, 0xd9f2da13, 0xdbc65487, 0xf3e4f94e, 0x17 6d486f, 0x097c13ea, 0x631da5c7,
422 0x445f7382, 0x175683f4, 0xcdc66a97, 0x70be0288, 0xb3cdcf72, 0x6e 5dd2f3, 0x20936079, 0x459b80a5,
423 0xbe60e2db, 0xa9c23101, 0xeba5315c, 0x224e42f2, 0x1c5c1572, 0xf6 721b2c, 0x1ad2fff3, 0x8c25404e,
424 0x324ed72f, 0x4067b7fd, 0x0523138e, 0x5ca3bc78, 0xdc0fd66e, 0x75 922283, 0x784d6b17, 0x58ebb16e,
425 0x44094f85, 0x3f481d87, 0xfcfeae7b, 0x77b5ff76, 0x8c2302bf, 0xaa f47556, 0x5f46b02a, 0x2b092801,
426 0x3d38f5f7, 0x0ca81f36, 0x52af4a8a, 0x66d5e7c0, 0xdf3b0874, 0x95 055110, 0x1b5ad7a8, 0xf61ed5ad,
427 0x6cf6e479, 0x20758184, 0xd0cefa65, 0x88f7be58, 0x4a046826, 0x0f f6f8f3, 0xa09c7f70, 0x5346aba0,
428 0x5ce96c28, 0xe176eda3, 0x6bac307f, 0x376829d2, 0x85360fa9, 0x17 e3fe2a, 0x24b79767, 0xf5a96b20,
429 0xd6cd2595, 0x68ff1ebf, 0x7555442c, 0xf19f06be, 0xf9e0659a, 0xee b9491d, 0x34010718, 0xbb30cab8,
430 0xe822fe15, 0x88570983, 0x750e6249, 0xda627e55, 0x5e76ffa8, 0xb1 534546, 0x6d47de08, 0xefe9e7d4,
431 },
432 {
433 0xf6fa8f9d, 0x2cac6ce1, 0x4ca34867, 0xe2337f7c, 0x95db08e7, 0x01 6843b4, 0xeced5cbc, 0x325553ac,
434 0xbf9f0960, 0xdfa1e2ed, 0x83f0579d, 0x63ed86b9, 0x1ab6a6b8, 0xde 5ebe39, 0xf38ff732, 0x8989b138,
435 0x33f14961, 0xc01937bd, 0xf506c6da, 0xe4625e7e, 0xa308ea99, 0x4e 23e33c, 0x79cbd7cc, 0x48a14367,
436 0xa3149619, 0xfec94bd5, 0xa114174a, 0xeaa01866, 0xa084db2d, 0x09 a8486f, 0xa888614a, 0x2900af98,
437 0x01665991, 0xe1992863, 0xc8f30c60, 0x2e78ef3c, 0xd0d51932, 0xcf 0fec14, 0xf7ca07d2, 0xd0a82072,
438 0xfd41197e, 0x9305a6b0, 0xe86be3da, 0x74bed3cd, 0x372da53c, 0x4c 7f4448, 0xdab5d440, 0x6dba0ec3,
439 0x083919a7, 0x9fbaeed9, 0x49dbcfb0, 0x4e670c53, 0x5c3d9c01, 0x64 bdb941, 0x2c0e636a, 0xba7dd9cd,
440 0xea6f7388, 0xe70bc762, 0x35f29adb, 0x5c4cdd8d, 0xf0d48d8c, 0xb8 8153e2, 0x08a19866, 0x1ae2eac8,
441 0x284caf89, 0xaa928223, 0x9334be53, 0x3b3a21bf, 0x16434be3, 0x9a ea3906, 0xefe8c36e, 0xf890cdd9,
442 0x80226dae, 0xc340a4a3, 0xdf7e9c09, 0xa694a807, 0x5b7c5ecc, 0x22 1db3a6, 0x9a69a02f, 0x68818a54,
443 0xceb2296f, 0x53c0843a, 0xfe893655, 0x25bfe68a, 0xb4628abc, 0xcf 222ebf, 0x25ac6f48, 0xa9a99387,
444 0x53bddb65, 0xe76ffbe7, 0xe967fd78, 0x0ba93563, 0x8e342bc1, 0xe8 a11be9, 0x4980740d, 0xc8087dfc,
445 0x8de4bf99, 0xa11101a0, 0x7fd37975, 0xda5a26c0, 0xe81f994f, 0x95 28cd89, 0xfd339fed, 0xb87834bf,
446 0x5f04456d, 0x22258698, 0xc9c4c83b, 0x2dc156be, 0x4f628daa, 0x57 f55ec5, 0xe2220abe, 0xd2916ebf,
447 0x4ec75b95, 0x24f2c3c0, 0x42d15d99, 0xcd0d7fa0, 0x7b6e27ff, 0xa8 dc8af0, 0x7345c106, 0xf41e232f,
448 0x35162386, 0xe6ea8926, 0x3333b094, 0x157ec6f2, 0x372b74af, 0x69 2573e4, 0xe9a9d848, 0xf3160289,
449 0x3a62ef1d, 0xa787e238, 0xf3a5f676, 0x74364853, 0x20951063, 0x45 76698d, 0xb6fad407, 0x592af950,
450 0x36f73523, 0x4cfb6e87, 0x7da4cec0, 0x6c152daa, 0xcb0396a8, 0xc5 0dfe5d, 0xfcd707ab, 0x0921c42f,
451 0x89dff0bb, 0x5fe2be78, 0x448f4f33, 0x754613c9, 0x2b05d08d, 0x48 b9d585, 0xdc049441, 0xc8098f9b,
452 0x7dede786, 0xc39a3373, 0x42410005, 0x6a091751, 0x0ef3c8a6, 0x89 0072d6, 0x28207682, 0xa9a9f7be,
453 0xbf32679d, 0xd45b5b75, 0xb353fd00, 0xcbb0e358, 0x830f220a, 0x1f 8fb214, 0xd372cf08, 0xcc3c4a13,
454 0x8cf63166, 0x061c87be, 0x88c98f88, 0x6062e397, 0x47cf8e7a, 0xb6 c85283, 0x3cc2acfb, 0x3fc06976,
455 0x4e8f0252, 0x64d8314d, 0xda3870e3, 0x1e665459, 0xc10908f0, 0x51 3021a5, 0x6c5b68b7, 0x822f8aa0,
456 0x3007cd3e, 0x74719eef, 0xdc872681, 0x073340d4, 0x7e432fd9, 0x0c 5ec241, 0x8809286c, 0xf592d891,
457 0x08a930f6, 0x957ef305, 0xb7fbffbd, 0xc266e96f, 0x6fe4ac98, 0xb1 73ecc0, 0xbc60b42a, 0x953498da,
458 0xfba1ae12, 0x2d4bd736, 0x0f25faab, 0xa4f3fceb, 0xe2969123, 0x25 7f0c3d, 0x9348af49, 0x361400bc,
459 0xe8816f4a, 0x3814f200, 0xa3f94043, 0x9c7a54c2, 0xbc704f57, 0xda 41e7f9, 0xc25ad33a, 0x54f4a084,
460 0xb17f5505, 0x59357cbe, 0xedbd15c8, 0x7f97c5ab, 0xba5ac7b5, 0xb6 f6deaf, 0x3a479c3a, 0x5302da25,
461 0x653d7e6a, 0x54268d49, 0x51a477ea, 0x5017d55b, 0xd7d25d88, 0x44 136c76, 0x0404a8c8, 0xb8e5a121,
462 0xb81a928a, 0x60ed5869, 0x97c55b96, 0xeaec991b, 0x29935913, 0x01 fdb7f1, 0x088e8dfa, 0x9ab6f6f5,
463 0x3b4cbf9f, 0x4a5de3ab, 0xe6051d35, 0xa0e1d855, 0xd36b4cf1, 0xf5 44edeb, 0xb0e93524, 0xbebb8fbd,
464 0xa2d762cf, 0x49c92f54, 0x38b5f331, 0x7128a454, 0x48392905, 0xa6 5b1db8, 0x851c97bd, 0xd675cf2f,
465 },
466 {
467 0x85e04019, 0x332bf567, 0x662dbfff, 0xcfc65693, 0x2a8d7f6f, 0xab 9bc912, 0xde6008a1, 0x2028da1f,
468 0x0227bce7, 0x4d642916, 0x18fac300, 0x50f18b82, 0x2cb2cb11, 0xb2 32e75c, 0x4b3695f2, 0xb28707de,
469 0xa05fbcf6, 0xcd4181e9, 0xe150210c, 0xe24ef1bd, 0xb168c381, 0xfd e4e789, 0x5c79b0d8, 0x1e8bfd43,
470 0x4d495001, 0x38be4341, 0x913cee1d, 0x92a79c3f, 0x089766be, 0xba eeadf4, 0x1286becf, 0xb6eacb19,
471 0x2660c200, 0x7565bde4, 0x64241f7a, 0x8248dca9, 0xc3b3ad66, 0x28 136086, 0x0bd8dfa8, 0x356d1cf2,
472 0x107789be, 0xb3b2e9ce, 0x0502aa8f, 0x0bc0351e, 0x166bf52a, 0xeb 12ff82, 0xe3486911, 0xd34d7516,
473 0x4e7b3aff, 0x5f43671b, 0x9cf6e037, 0x4981ac83, 0x334266ce, 0x8c 9341b7, 0xd0d854c0, 0xcb3a6c88,
474 0x47bc2829, 0x4725ba37, 0xa66ad22b, 0x7ad61f1e, 0x0c5cbafa, 0x44 37f107, 0xb6e79962, 0x42d2d816,
475 0x0a961288, 0xe1a5c06e, 0x13749e67, 0x72fc081a, 0xb1d139f7, 0xf9 583745, 0xcf19df58, 0xbec3f756,
476 0xc06eba30, 0x07211b24, 0x45c28829, 0xc95e317f, 0xbc8ec511, 0x38 bc46e9, 0xc6e6fa14, 0xbae8584a,
477 0xad4ebc46, 0x468f508b, 0x7829435f, 0xf124183b, 0x821dba9f, 0xaf f60ff4, 0xea2c4e6d, 0x16e39264,
478 0x92544a8b, 0x009b4fc3, 0xaba68ced, 0x9ac96f78, 0x06a5b79a, 0xb2 856e6e, 0x1aec3ca9, 0xbe838688,
479 0x0e0804e9, 0x55f1be56, 0xe7e5363b, 0xb3a1f25d, 0xf7debb85, 0x61 fe033c, 0x16746233, 0x3c034c28,
480 0xda6d0c74, 0x79aac56c, 0x3ce4e1ad, 0x51f0c802, 0x98f8f35a, 0x16 26a49f, 0xeed82b29, 0x1d382fe3,
481 0x0c4fb99a, 0xbb325778, 0x3ec6d97b, 0x6e77a6a9, 0xcb658b5c, 0xd4 5230c7, 0x2bd1408b, 0x60c03eb7,
482 0xb9068d78, 0xa33754f4, 0xf430c87d, 0xc8a71302, 0xb96d8c32, 0xeb d4e7be, 0xbe8b9d2d, 0x7979fb06,
483 0xe7225308, 0x8b75cf77, 0x11ef8da4, 0xe083c858, 0x8d6b786f, 0x5a 6317a6, 0xfa5cf7a0, 0x5dda0033,
484 0xf28ebfb0, 0xf5b9c310, 0xa0eac280, 0x08b9767a, 0xa3d9d2b0, 0x79 d34217, 0x021a718d, 0x9ac6336a,
485 0x2711fd60, 0x438050e3, 0x069908a8, 0x3d7fedc4, 0x826d2bef, 0x4e eb8476, 0x488dcf25, 0x36c9d566,
486 0x28e74e41, 0xc2610aca, 0x3d49a9cf, 0xbae3b9df, 0xb65f8de6, 0x92 aeaf64, 0x3ac7d5e6, 0x9ea80509,
487 0xf22b017d, 0xa4173f70, 0xdd1e16c3, 0x15e0d7f9, 0x50b1b887, 0x2b 9f4fd5, 0x625aba82, 0x6a017962,
488 0x2ec01b9c, 0x15488aa9, 0xd716e740, 0x40055a2c, 0x93d29a22, 0xe3 2dbf9a, 0x058745b9, 0x3453dc1e,
489 0xd699296e, 0x496cff6f, 0x1c9f4986, 0xdfe2ed07, 0xb87242d1, 0x19 de7eae, 0x053e561a, 0x15ad6f8c,
490 0x66626c1c, 0x7154c24c, 0xea082b2a, 0x93eb2939, 0x17dcb0f0, 0x58 d4f2ae, 0x9ea294fb, 0x52cf564c,
491 0x9883fe66, 0x2ec40581, 0x763953c3, 0x01d6692e, 0xd3a0c108, 0xa1 e7160e, 0xe4f2dfa6, 0x693ed285,
492 0x74904698, 0x4c2b0edd, 0x4f757656, 0x5d393378, 0xa132234f, 0x3d 321c5d, 0xc3f5e194, 0x4b269301,
493 0xc79f022f, 0x3c997e7e, 0x5e4f9504, 0x3ffafbbd, 0x76f7ad0e, 0x29 6693f4, 0x3d1fce6f, 0xc61e45be,
494 0xd3b5ab34, 0xf72bf9b7, 0x1b0434c0, 0x4e72b567, 0x5592a33d, 0xb5 229301, 0xcfd2a87f, 0x60aeb767,
495 0x1814386b, 0x30bcc33d, 0x38a0c07d, 0xfd1606f2, 0xc363519b, 0x58 9dd390, 0x5479f8e6, 0x1cb8d647,
496 0x97fd61a9, 0xea7759f4, 0x2d57539d, 0x569a58cf, 0xe84e63ad, 0x46 2e1b78, 0x6580f87e, 0xf3817914,
497 0x91da55f4, 0x40a230f3, 0xd1988f35, 0xb6e318d2, 0x3ffa50bc, 0x3d 40f021, 0xc3c0bdae, 0x4958c24c,
498 0x518f36b2, 0x84b1d370, 0x0fedce83, 0x878ddada, 0xf2a279c7, 0x94 e01be8, 0x90716f4b, 0x954b8aa3,
499 },
500 {
501 0xe216300d, 0xbbddfffc, 0xa7ebdabd, 0x35648095, 0x7789f8b7, 0xe6 c1121b, 0x0e241600, 0x052ce8b5,
502 0x11a9cfb0, 0xe5952f11, 0xece7990a, 0x9386d174, 0x2a42931c, 0x76 e38111, 0xb12def3a, 0x37ddddfc,
503 0xde9adeb1, 0x0a0cc32c, 0xbe197029, 0x84a00940, 0xbb243a0f, 0xb4 d137cf, 0xb44e79f0, 0x049eedfd,
504 0x0b15a15d, 0x480d3168, 0x8bbbde5a, 0x669ded42, 0xc7ece831, 0x3f 8f95e7, 0x72df191b, 0x7580330d,
505 0x94074251, 0x5c7dcdfa, 0xabbe6d63, 0xaa402164, 0xb301d40a, 0x02 e7d1ca, 0x53571dae, 0x7a3182a2,
506 0x12a8ddec, 0xfdaa335d, 0x176f43e8, 0x71fb46d4, 0x38129022, 0xce 949ad4, 0xb84769ad, 0x965bd862,
507 0x82f3d055, 0x66fb9767, 0x15b80b4e, 0x1d5b47a0, 0x4cfde06f, 0xc2 8ec4b8, 0x57e8726e, 0x647a78fc,
508 0x99865d44, 0x608bd593, 0x6c200e03, 0x39dc5ff6, 0x5d0b00a3, 0xae 63aff2, 0x7e8bd632, 0x70108c0c,
509 0xbbd35049, 0x2998df04, 0x980cf42a, 0x9b6df491, 0x9e7edd53, 0x06 918548, 0x58cb7e07, 0x3b74ef2e,
510 0x522fffb1, 0xd24708cc, 0x1c7e27cd, 0xa4eb215b, 0x3cf1d2e2, 0x19 b47a38, 0x424f7618, 0x35856039,
511 0x9d17dee7, 0x27eb35e6, 0xc9aff67b, 0x36baf5b8, 0x09c467cd, 0xc1 8910b1, 0xe11dbf7b, 0x06cd1af8,
512 0x7170c608, 0x2d5e3354, 0xd4de495a, 0x64c6d006, 0xbcc0c62c, 0x3d d00db3, 0x708f8f34, 0x77d51b42,
513 0x264f620f, 0x24b8d2bf, 0x15c1b79e, 0x46a52564, 0xf8d7e54e, 0x3e 378160, 0x7895cda5, 0x859c15a5,
514 0xe6459788, 0xc37bc75f, 0xdb07ba0c, 0x0676a3ab, 0x7f229b1e, 0x31 842e7b, 0x24259fd7, 0xf8bef472,
515 0x835ffcb8, 0x6df4c1f2, 0x96f5b195, 0xfd0af0fc, 0xb0fe134c, 0xe2 506d3d, 0x4f9b12ea, 0xf215f225,
516 0xa223736f, 0x9fb4c428, 0x25d04979, 0x34c713f8, 0xc4618187, 0xea 7a6e98, 0x7cd16efc, 0x1436876c,
517 0xf1544107, 0xbedeee14, 0x56e9af27, 0xa04aa441, 0x3cf7c899, 0x92 ecbae6, 0xdd67016d, 0x151682eb,
518 0xa842eedf, 0xfdba60b4, 0xf1907b75, 0x20e3030f, 0x24d8c29e, 0xe1 39673b, 0xefa63fb8, 0x71873054,
519 0xb6f2cf3b, 0x9f326442, 0xcb15a4cc, 0xb01a4504, 0xf1e47d8d, 0x84 4a1be5, 0xbae7dfdc, 0x42cbda70,
520 0xcd7dae0a, 0x57e85b7a, 0xd53f5af6, 0x20cf4d8c, 0xcea4d428, 0x79 d130a4, 0x3486ebfb, 0x33d3cddc,
521 0x77853b53, 0x37effcb5, 0xc5068778, 0xe580b3e6, 0x4e68b8f4, 0xc5 c8b37e, 0x0d809ea2, 0x398feb7c,
522 0x132a4f94, 0x43b7950e, 0x2fee7d1c, 0x223613bd, 0xdd06caa2, 0x37 df932b, 0xc4248289, 0xacf3ebc3,
523 0x5715f6b7, 0xef3478dd, 0xf267616f, 0xc148cbe4, 0x9052815e, 0x5e 410fab, 0xb48a2465, 0x2eda7fa4,
524 0xe87b40e4, 0xe98ea084, 0x5889e9e1, 0xefd390fc, 0xdd07d35b, 0xdb 485694, 0x38d7e5b2, 0x57720101,
525 0x730edebc, 0x5b643113, 0x94917e4f, 0x503c2fba, 0x646f1282, 0x75 23d24a, 0xe0779695, 0xf9c17a8f,
526 0x7a5b2121, 0xd187b896, 0x29263a4d, 0xba510cdf, 0x81f47c9f, 0xad 1163ed, 0xea7b5965, 0x1a00726e,
527 0x11403092, 0x00da6d77, 0x4a0cdd61, 0xad1f4603, 0x605bdfb0, 0x9e edc364, 0x22ebe6a8, 0xcee7d28a,
528 0xa0e736a0, 0x5564a6b9, 0x10853209, 0xc7eb8f37, 0x2de705ca, 0x89 51570f, 0xdf09822b, 0xbd691a6c,
529 0xaa12e4f2, 0x87451c0f, 0xe0f6a27a, 0x3ada4819, 0x4cf1764f, 0x0d 771c2b, 0x67cdb156, 0x350d8384,
530 0x5938fa0f, 0x42399ef3, 0x36997b07, 0x0e84093d, 0x4aa93e61, 0x83 60d87b, 0x1fa98b0c, 0x1149382c,
531 0xe97625a5, 0x0614d1b7, 0x0e25244b, 0x0c768347, 0x589e8d82, 0x0d 2059d1, 0xa466bb1e, 0xf8da0a82,
532 0x04f19130, 0xba6e4ec0, 0x99265164, 0x1ee7230d, 0x50b2ad80, 0xea ee6801, 0x8db2a283, 0xea8bf59e,
533 },
534 }
OLDNEW
« no previous file with comments | « blowfish/const.go ('k') | cast5/cast5_test.go » ('j') | no next file with comments »

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b