Coverage Report

Created: 2024-06-20 06:28

/src/gnutls/lib/nettle/gost/gost28147.c
Line
Count
Source (jump to first uncovered line)
1
/* gost28147.c - GOST 28147-89 (Magma) cipher implementation
2
 *
3
 * based on Russian standard GOST 28147-89
4
 * For English description, check RFC 5830.
5
 * S-Boxes are expanded from the tables defined in RFC4357:
6
 *   https://tools.ietf.org/html/rfc4357
7
 *
8
 * Copyright: 2015-2015 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
9
 * Copyright: 2009-2012 Aleksey Kravchenko <rhash.admin@gmail.com>
10
 *
11
 * Permission is hereby granted, free of charge, to any person obtaining a
12
 * copy of this software and associated documentation files (the
13
 * "Software"), to deal in the Software without restriction, including
14
 * without limitation the rights to use, copy, modify, merge, publish,
15
 * distribute, sublicense, and/or sell copies of the Software, and to
16
 * permit persons to whom the Software is furnished to do so, subject to
17
 * the following conditions:
18
 *
19
 * The above copyright notice and this permission notice shall be included
20
 * in all copies or substantial portions of the Software.
21
 *
22
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
23
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
25
 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
26
 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
27
 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
28
 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29
 */
30
31
#if HAVE_CONFIG_H
32
#include "config.h"
33
#endif
34
35
#ifndef HAVE_NETTLE_GOST28147_SET_KEY
36
37
#include "gnutls_int.h"
38
39
#include <string.h>
40
41
#include <nettle/macros.h>
42
#include "nettle-write.h"
43
#include "gost28147.h"
44
#include <nettle/memxor.h>
45
46
/* pre-initialized GOST lookup tables based on rotated S-Box */
47
const struct gost28147_param gost28147_param_test_3411 = { 0,
48
                 {
49
                   /* 0 */
50
                   0x00072000,
51
                   0x00075000,
52
                   0x00074800,
53
                   0x00071000,
54
                   0x00076800,
55
                   0x00074000,
56
                   0x00070000,
57
                   0x00077000,
58
                   0x00073000,
59
                   0x00075800,
60
                   0x00070800,
61
                   0x00076000,
62
                   0x00073800,
63
                   0x00077800,
64
                   0x00072800,
65
                   0x00071800,
66
                   0x0005a000,
67
                   0x0005d000,
68
                   0x0005c800,
69
                   0x00059000,
70
                   0x0005e800,
71
                   0x0005c000,
72
                   0x00058000,
73
                   0x0005f000,
74
                   0x0005b000,
75
                   0x0005d800,
76
                   0x00058800,
77
                   0x0005e000,
78
                   0x0005b800,
79
                   0x0005f800,
80
                   0x0005a800,
81
                   0x00059800,
82
                   0x00022000,
83
                   0x00025000,
84
                   0x00024800,
85
                   0x00021000,
86
                   0x00026800,
87
                   0x00024000,
88
                   0x00020000,
89
                   0x00027000,
90
                   0x00023000,
91
                   0x00025800,
92
                   0x00020800,
93
                   0x00026000,
94
                   0x00023800,
95
                   0x00027800,
96
                   0x00022800,
97
                   0x00021800,
98
                   0x00062000,
99
                   0x00065000,
100
                   0x00064800,
101
                   0x00061000,
102
                   0x00066800,
103
                   0x00064000,
104
                   0x00060000,
105
                   0x00067000,
106
                   0x00063000,
107
                   0x00065800,
108
                   0x00060800,
109
                   0x00066000,
110
                   0x00063800,
111
                   0x00067800,
112
                   0x00062800,
113
                   0x00061800,
114
                   0x00032000,
115
                   0x00035000,
116
                   0x00034800,
117
                   0x00031000,
118
                   0x00036800,
119
                   0x00034000,
120
                   0x00030000,
121
                   0x00037000,
122
                   0x00033000,
123
                   0x00035800,
124
                   0x00030800,
125
                   0x00036000,
126
                   0x00033800,
127
                   0x00037800,
128
                   0x00032800,
129
                   0x00031800,
130
                   0x0006a000,
131
                   0x0006d000,
132
                   0x0006c800,
133
                   0x00069000,
134
                   0x0006e800,
135
                   0x0006c000,
136
                   0x00068000,
137
                   0x0006f000,
138
                   0x0006b000,
139
                   0x0006d800,
140
                   0x00068800,
141
                   0x0006e000,
142
                   0x0006b800,
143
                   0x0006f800,
144
                   0x0006a800,
145
                   0x00069800,
146
                   0x0007a000,
147
                   0x0007d000,
148
                   0x0007c800,
149
                   0x00079000,
150
                   0x0007e800,
151
                   0x0007c000,
152
                   0x00078000,
153
                   0x0007f000,
154
                   0x0007b000,
155
                   0x0007d800,
156
                   0x00078800,
157
                   0x0007e000,
158
                   0x0007b800,
159
                   0x0007f800,
160
                   0x0007a800,
161
                   0x00079800,
162
                   0x00052000,
163
                   0x00055000,
164
                   0x00054800,
165
                   0x00051000,
166
                   0x00056800,
167
                   0x00054000,
168
                   0x00050000,
169
                   0x00057000,
170
                   0x00053000,
171
                   0x00055800,
172
                   0x00050800,
173
                   0x00056000,
174
                   0x00053800,
175
                   0x00057800,
176
                   0x00052800,
177
                   0x00051800,
178
                   0x00012000,
179
                   0x00015000,
180
                   0x00014800,
181
                   0x00011000,
182
                   0x00016800,
183
                   0x00014000,
184
                   0x00010000,
185
                   0x00017000,
186
                   0x00013000,
187
                   0x00015800,
188
                   0x00010800,
189
                   0x00016000,
190
                   0x00013800,
191
                   0x00017800,
192
                   0x00012800,
193
                   0x00011800,
194
                   0x0001a000,
195
                   0x0001d000,
196
                   0x0001c800,
197
                   0x00019000,
198
                   0x0001e800,
199
                   0x0001c000,
200
                   0x00018000,
201
                   0x0001f000,
202
                   0x0001b000,
203
                   0x0001d800,
204
                   0x00018800,
205
                   0x0001e000,
206
                   0x0001b800,
207
                   0x0001f800,
208
                   0x0001a800,
209
                   0x00019800,
210
                   0x00042000,
211
                   0x00045000,
212
                   0x00044800,
213
                   0x00041000,
214
                   0x00046800,
215
                   0x00044000,
216
                   0x00040000,
217
                   0x00047000,
218
                   0x00043000,
219
                   0x00045800,
220
                   0x00040800,
221
                   0x00046000,
222
                   0x00043800,
223
                   0x00047800,
224
                   0x00042800,
225
                   0x00041800,
226
                   0x0000a000,
227
                   0x0000d000,
228
                   0x0000c800,
229
                   0x00009000,
230
                   0x0000e800,
231
                   0x0000c000,
232
                   0x00008000,
233
                   0x0000f000,
234
                   0x0000b000,
235
                   0x0000d800,
236
                   0x00008800,
237
                   0x0000e000,
238
                   0x0000b800,
239
                   0x0000f800,
240
                   0x0000a800,
241
                   0x00009800,
242
                   0x00002000,
243
                   0x00005000,
244
                   0x00004800,
245
                   0x00001000,
246
                   0x00006800,
247
                   0x00004000,
248
                   0x00000000,
249
                   0x00007000,
250
                   0x00003000,
251
                   0x00005800,
252
                   0x00000800,
253
                   0x00006000,
254
                   0x00003800,
255
                   0x00007800,
256
                   0x00002800,
257
                   0x00001800,
258
                   0x0003a000,
259
                   0x0003d000,
260
                   0x0003c800,
261
                   0x00039000,
262
                   0x0003e800,
263
                   0x0003c000,
264
                   0x00038000,
265
                   0x0003f000,
266
                   0x0003b000,
267
                   0x0003d800,
268
                   0x00038800,
269
                   0x0003e000,
270
                   0x0003b800,
271
                   0x0003f800,
272
                   0x0003a800,
273
                   0x00039800,
274
                   0x0002a000,
275
                   0x0002d000,
276
                   0x0002c800,
277
                   0x00029000,
278
                   0x0002e800,
279
                   0x0002c000,
280
                   0x00028000,
281
                   0x0002f000,
282
                   0x0002b000,
283
                   0x0002d800,
284
                   0x00028800,
285
                   0x0002e000,
286
                   0x0002b800,
287
                   0x0002f800,
288
                   0x0002a800,
289
                   0x00029800,
290
                   0x0004a000,
291
                   0x0004d000,
292
                   0x0004c800,
293
                   0x00049000,
294
                   0x0004e800,
295
                   0x0004c000,
296
                   0x00048000,
297
                   0x0004f000,
298
                   0x0004b000,
299
                   0x0004d800,
300
                   0x00048800,
301
                   0x0004e000,
302
                   0x0004b800,
303
                   0x0004f800,
304
                   0x0004a800,
305
                   0x00049800,
306
                   /* 1 */
307
                   0x03a80000,
308
                   0x03c00000,
309
                   0x03880000,
310
                   0x03e80000,
311
                   0x03d00000,
312
                   0x03980000,
313
                   0x03a00000,
314
                   0x03900000,
315
                   0x03f00000,
316
                   0x03f80000,
317
                   0x03e00000,
318
                   0x03b80000,
319
                   0x03b00000,
320
                   0x03800000,
321
                   0x03c80000,
322
                   0x03d80000,
323
                   0x06a80000,
324
                   0x06c00000,
325
                   0x06880000,
326
                   0x06e80000,
327
                   0x06d00000,
328
                   0x06980000,
329
                   0x06a00000,
330
                   0x06900000,
331
                   0x06f00000,
332
                   0x06f80000,
333
                   0x06e00000,
334
                   0x06b80000,
335
                   0x06b00000,
336
                   0x06800000,
337
                   0x06c80000,
338
                   0x06d80000,
339
                   0x05280000,
340
                   0x05400000,
341
                   0x05080000,
342
                   0x05680000,
343
                   0x05500000,
344
                   0x05180000,
345
                   0x05200000,
346
                   0x05100000,
347
                   0x05700000,
348
                   0x05780000,
349
                   0x05600000,
350
                   0x05380000,
351
                   0x05300000,
352
                   0x05000000,
353
                   0x05480000,
354
                   0x05580000,
355
                   0x00a80000,
356
                   0x00c00000,
357
                   0x00880000,
358
                   0x00e80000,
359
                   0x00d00000,
360
                   0x00980000,
361
                   0x00a00000,
362
                   0x00900000,
363
                   0x00f00000,
364
                   0x00f80000,
365
                   0x00e00000,
366
                   0x00b80000,
367
                   0x00b00000,
368
                   0x00800000,
369
                   0x00c80000,
370
                   0x00d80000,
371
                   0x00280000,
372
                   0x00400000,
373
                   0x00080000,
374
                   0x00680000,
375
                   0x00500000,
376
                   0x00180000,
377
                   0x00200000,
378
                   0x00100000,
379
                   0x00700000,
380
                   0x00780000,
381
                   0x00600000,
382
                   0x00380000,
383
                   0x00300000,
384
                   0x00000000,
385
                   0x00480000,
386
                   0x00580000,
387
                   0x04280000,
388
                   0x04400000,
389
                   0x04080000,
390
                   0x04680000,
391
                   0x04500000,
392
                   0x04180000,
393
                   0x04200000,
394
                   0x04100000,
395
                   0x04700000,
396
                   0x04780000,
397
                   0x04600000,
398
                   0x04380000,
399
                   0x04300000,
400
                   0x04000000,
401
                   0x04480000,
402
                   0x04580000,
403
                   0x04a80000,
404
                   0x04c00000,
405
                   0x04880000,
406
                   0x04e80000,
407
                   0x04d00000,
408
                   0x04980000,
409
                   0x04a00000,
410
                   0x04900000,
411
                   0x04f00000,
412
                   0x04f80000,
413
                   0x04e00000,
414
                   0x04b80000,
415
                   0x04b00000,
416
                   0x04800000,
417
                   0x04c80000,
418
                   0x04d80000,
419
                   0x07a80000,
420
                   0x07c00000,
421
                   0x07880000,
422
                   0x07e80000,
423
                   0x07d00000,
424
                   0x07980000,
425
                   0x07a00000,
426
                   0x07900000,
427
                   0x07f00000,
428
                   0x07f80000,
429
                   0x07e00000,
430
                   0x07b80000,
431
                   0x07b00000,
432
                   0x07800000,
433
                   0x07c80000,
434
                   0x07d80000,
435
                   0x07280000,
436
                   0x07400000,
437
                   0x07080000,
438
                   0x07680000,
439
                   0x07500000,
440
                   0x07180000,
441
                   0x07200000,
442
                   0x07100000,
443
                   0x07700000,
444
                   0x07780000,
445
                   0x07600000,
446
                   0x07380000,
447
                   0x07300000,
448
                   0x07000000,
449
                   0x07480000,
450
                   0x07580000,
451
                   0x02280000,
452
                   0x02400000,
453
                   0x02080000,
454
                   0x02680000,
455
                   0x02500000,
456
                   0x02180000,
457
                   0x02200000,
458
                   0x02100000,
459
                   0x02700000,
460
                   0x02780000,
461
                   0x02600000,
462
                   0x02380000,
463
                   0x02300000,
464
                   0x02000000,
465
                   0x02480000,
466
                   0x02580000,
467
                   0x03280000,
468
                   0x03400000,
469
                   0x03080000,
470
                   0x03680000,
471
                   0x03500000,
472
                   0x03180000,
473
                   0x03200000,
474
                   0x03100000,
475
                   0x03700000,
476
                   0x03780000,
477
                   0x03600000,
478
                   0x03380000,
479
                   0x03300000,
480
                   0x03000000,
481
                   0x03480000,
482
                   0x03580000,
483
                   0x06280000,
484
                   0x06400000,
485
                   0x06080000,
486
                   0x06680000,
487
                   0x06500000,
488
                   0x06180000,
489
                   0x06200000,
490
                   0x06100000,
491
                   0x06700000,
492
                   0x06780000,
493
                   0x06600000,
494
                   0x06380000,
495
                   0x06300000,
496
                   0x06000000,
497
                   0x06480000,
498
                   0x06580000,
499
                   0x05a80000,
500
                   0x05c00000,
501
                   0x05880000,
502
                   0x05e80000,
503
                   0x05d00000,
504
                   0x05980000,
505
                   0x05a00000,
506
                   0x05900000,
507
                   0x05f00000,
508
                   0x05f80000,
509
                   0x05e00000,
510
                   0x05b80000,
511
                   0x05b00000,
512
                   0x05800000,
513
                   0x05c80000,
514
                   0x05d80000,
515
                   0x01280000,
516
                   0x01400000,
517
                   0x01080000,
518
                   0x01680000,
519
                   0x01500000,
520
                   0x01180000,
521
                   0x01200000,
522
                   0x01100000,
523
                   0x01700000,
524
                   0x01780000,
525
                   0x01600000,
526
                   0x01380000,
527
                   0x01300000,
528
                   0x01000000,
529
                   0x01480000,
530
                   0x01580000,
531
                   0x02a80000,
532
                   0x02c00000,
533
                   0x02880000,
534
                   0x02e80000,
535
                   0x02d00000,
536
                   0x02980000,
537
                   0x02a00000,
538
                   0x02900000,
539
                   0x02f00000,
540
                   0x02f80000,
541
                   0x02e00000,
542
                   0x02b80000,
543
                   0x02b00000,
544
                   0x02800000,
545
                   0x02c80000,
546
                   0x02d80000,
547
                   0x01a80000,
548
                   0x01c00000,
549
                   0x01880000,
550
                   0x01e80000,
551
                   0x01d00000,
552
                   0x01980000,
553
                   0x01a00000,
554
                   0x01900000,
555
                   0x01f00000,
556
                   0x01f80000,
557
                   0x01e00000,
558
                   0x01b80000,
559
                   0x01b00000,
560
                   0x01800000,
561
                   0x01c80000,
562
                   0x01d80000,
563
                   /* 2 */
564
                   0x30000002,
565
                   0x60000002,
566
                   0x38000002,
567
                   0x08000002,
568
                   0x28000002,
569
                   0x78000002,
570
                   0x68000002,
571
                   0x40000002,
572
                   0x20000002,
573
                   0x50000002,
574
                   0x48000002,
575
                   0x70000002,
576
                   0x00000002,
577
                   0x18000002,
578
                   0x58000002,
579
                   0x10000002,
580
                   0xb0000005,
581
                   0xe0000005,
582
                   0xb8000005,
583
                   0x88000005,
584
                   0xa8000005,
585
                   0xf8000005,
586
                   0xe8000005,
587
                   0xc0000005,
588
                   0xa0000005,
589
                   0xd0000005,
590
                   0xc8000005,
591
                   0xf0000005,
592
                   0x80000005,
593
                   0x98000005,
594
                   0xd8000005,
595
                   0x90000005,
596
                   0x30000005,
597
                   0x60000005,
598
                   0x38000005,
599
                   0x08000005,
600
                   0x28000005,
601
                   0x78000005,
602
                   0x68000005,
603
                   0x40000005,
604
                   0x20000005,
605
                   0x50000005,
606
                   0x48000005,
607
                   0x70000005,
608
                   0x00000005,
609
                   0x18000005,
610
                   0x58000005,
611
                   0x10000005,
612
                   0x30000000,
613
                   0x60000000,
614
                   0x38000000,
615
                   0x08000000,
616
                   0x28000000,
617
                   0x78000000,
618
                   0x68000000,
619
                   0x40000000,
620
                   0x20000000,
621
                   0x50000000,
622
                   0x48000000,
623
                   0x70000000,
624
                   0x00000000,
625
                   0x18000000,
626
                   0x58000000,
627
                   0x10000000,
628
                   0xb0000003,
629
                   0xe0000003,
630
                   0xb8000003,
631
                   0x88000003,
632
                   0xa8000003,
633
                   0xf8000003,
634
                   0xe8000003,
635
                   0xc0000003,
636
                   0xa0000003,
637
                   0xd0000003,
638
                   0xc8000003,
639
                   0xf0000003,
640
                   0x80000003,
641
                   0x98000003,
642
                   0xd8000003,
643
                   0x90000003,
644
                   0x30000001,
645
                   0x60000001,
646
                   0x38000001,
647
                   0x08000001,
648
                   0x28000001,
649
                   0x78000001,
650
                   0x68000001,
651
                   0x40000001,
652
                   0x20000001,
653
                   0x50000001,
654
                   0x48000001,
655
                   0x70000001,
656
                   0x00000001,
657
                   0x18000001,
658
                   0x58000001,
659
                   0x10000001,
660
                   0xb0000000,
661
                   0xe0000000,
662
                   0xb8000000,
663
                   0x88000000,
664
                   0xa8000000,
665
                   0xf8000000,
666
                   0xe8000000,
667
                   0xc0000000,
668
                   0xa0000000,
669
                   0xd0000000,
670
                   0xc8000000,
671
                   0xf0000000,
672
                   0x80000000,
673
                   0x98000000,
674
                   0xd8000000,
675
                   0x90000000,
676
                   0xb0000006,
677
                   0xe0000006,
678
                   0xb8000006,
679
                   0x88000006,
680
                   0xa8000006,
681
                   0xf8000006,
682
                   0xe8000006,
683
                   0xc0000006,
684
                   0xa0000006,
685
                   0xd0000006,
686
                   0xc8000006,
687
                   0xf0000006,
688
                   0x80000006,
689
                   0x98000006,
690
                   0xd8000006,
691
                   0x90000006,
692
                   0xb0000001,
693
                   0xe0000001,
694
                   0xb8000001,
695
                   0x88000001,
696
                   0xa8000001,
697
                   0xf8000001,
698
                   0xe8000001,
699
                   0xc0000001,
700
                   0xa0000001,
701
                   0xd0000001,
702
                   0xc8000001,
703
                   0xf0000001,
704
                   0x80000001,
705
                   0x98000001,
706
                   0xd8000001,
707
                   0x90000001,
708
                   0x30000003,
709
                   0x60000003,
710
                   0x38000003,
711
                   0x08000003,
712
                   0x28000003,
713
                   0x78000003,
714
                   0x68000003,
715
                   0x40000003,
716
                   0x20000003,
717
                   0x50000003,
718
                   0x48000003,
719
                   0x70000003,
720
                   0x00000003,
721
                   0x18000003,
722
                   0x58000003,
723
                   0x10000003,
724
                   0x30000004,
725
                   0x60000004,
726
                   0x38000004,
727
                   0x08000004,
728
                   0x28000004,
729
                   0x78000004,
730
                   0x68000004,
731
                   0x40000004,
732
                   0x20000004,
733
                   0x50000004,
734
                   0x48000004,
735
                   0x70000004,
736
                   0x00000004,
737
                   0x18000004,
738
                   0x58000004,
739
                   0x10000004,
740
                   0xb0000002,
741
                   0xe0000002,
742
                   0xb8000002,
743
                   0x88000002,
744
                   0xa8000002,
745
                   0xf8000002,
746
                   0xe8000002,
747
                   0xc0000002,
748
                   0xa0000002,
749
                   0xd0000002,
750
                   0xc8000002,
751
                   0xf0000002,
752
                   0x80000002,
753
                   0x98000002,
754
                   0xd8000002,
755
                   0x90000002,
756
                   0xb0000004,
757
                   0xe0000004,
758
                   0xb8000004,
759
                   0x88000004,
760
                   0xa8000004,
761
                   0xf8000004,
762
                   0xe8000004,
763
                   0xc0000004,
764
                   0xa0000004,
765
                   0xd0000004,
766
                   0xc8000004,
767
                   0xf0000004,
768
                   0x80000004,
769
                   0x98000004,
770
                   0xd8000004,
771
                   0x90000004,
772
                   0x30000006,
773
                   0x60000006,
774
                   0x38000006,
775
                   0x08000006,
776
                   0x28000006,
777
                   0x78000006,
778
                   0x68000006,
779
                   0x40000006,
780
                   0x20000006,
781
                   0x50000006,
782
                   0x48000006,
783
                   0x70000006,
784
                   0x00000006,
785
                   0x18000006,
786
                   0x58000006,
787
                   0x10000006,
788
                   0xb0000007,
789
                   0xe0000007,
790
                   0xb8000007,
791
                   0x88000007,
792
                   0xa8000007,
793
                   0xf8000007,
794
                   0xe8000007,
795
                   0xc0000007,
796
                   0xa0000007,
797
                   0xd0000007,
798
                   0xc8000007,
799
                   0xf0000007,
800
                   0x80000007,
801
                   0x98000007,
802
                   0xd8000007,
803
                   0x90000007,
804
                   0x30000007,
805
                   0x60000007,
806
                   0x38000007,
807
                   0x08000007,
808
                   0x28000007,
809
                   0x78000007,
810
                   0x68000007,
811
                   0x40000007,
812
                   0x20000007,
813
                   0x50000007,
814
                   0x48000007,
815
                   0x70000007,
816
                   0x00000007,
817
                   0x18000007,
818
                   0x58000007,
819
                   0x10000007,
820
                   /* 3 */
821
                   0x000000e8,
822
                   0x000000d8,
823
                   0x000000a0,
824
                   0x00000088,
825
                   0x00000098,
826
                   0x000000f8,
827
                   0x000000a8,
828
                   0x000000c8,
829
                   0x00000080,
830
                   0x000000d0,
831
                   0x000000f0,
832
                   0x000000b8,
833
                   0x000000b0,
834
                   0x000000c0,
835
                   0x00000090,
836
                   0x000000e0,
837
                   0x000007e8,
838
                   0x000007d8,
839
                   0x000007a0,
840
                   0x00000788,
841
                   0x00000798,
842
                   0x000007f8,
843
                   0x000007a8,
844
                   0x000007c8,
845
                   0x00000780,
846
                   0x000007d0,
847
                   0x000007f0,
848
                   0x000007b8,
849
                   0x000007b0,
850
                   0x000007c0,
851
                   0x00000790,
852
                   0x000007e0,
853
                   0x000006e8,
854
                   0x000006d8,
855
                   0x000006a0,
856
                   0x00000688,
857
                   0x00000698,
858
                   0x000006f8,
859
                   0x000006a8,
860
                   0x000006c8,
861
                   0x00000680,
862
                   0x000006d0,
863
                   0x000006f0,
864
                   0x000006b8,
865
                   0x000006b0,
866
                   0x000006c0,
867
                   0x00000690,
868
                   0x000006e0,
869
                   0x00000068,
870
                   0x00000058,
871
                   0x00000020,
872
                   0x00000008,
873
                   0x00000018,
874
                   0x00000078,
875
                   0x00000028,
876
                   0x00000048,
877
                   0x00000000,
878
                   0x00000050,
879
                   0x00000070,
880
                   0x00000038,
881
                   0x00000030,
882
                   0x00000040,
883
                   0x00000010,
884
                   0x00000060,
885
                   0x000002e8,
886
                   0x000002d8,
887
                   0x000002a0,
888
                   0x00000288,
889
                   0x00000298,
890
                   0x000002f8,
891
                   0x000002a8,
892
                   0x000002c8,
893
                   0x00000280,
894
                   0x000002d0,
895
                   0x000002f0,
896
                   0x000002b8,
897
                   0x000002b0,
898
                   0x000002c0,
899
                   0x00000290,
900
                   0x000002e0,
901
                   0x000003e8,
902
                   0x000003d8,
903
                   0x000003a0,
904
                   0x00000388,
905
                   0x00000398,
906
                   0x000003f8,
907
                   0x000003a8,
908
                   0x000003c8,
909
                   0x00000380,
910
                   0x000003d0,
911
                   0x000003f0,
912
                   0x000003b8,
913
                   0x000003b0,
914
                   0x000003c0,
915
                   0x00000390,
916
                   0x000003e0,
917
                   0x00000568,
918
                   0x00000558,
919
                   0x00000520,
920
                   0x00000508,
921
                   0x00000518,
922
                   0x00000578,
923
                   0x00000528,
924
                   0x00000548,
925
                   0x00000500,
926
                   0x00000550,
927
                   0x00000570,
928
                   0x00000538,
929
                   0x00000530,
930
                   0x00000540,
931
                   0x00000510,
932
                   0x00000560,
933
                   0x00000268,
934
                   0x00000258,
935
                   0x00000220,
936
                   0x00000208,
937
                   0x00000218,
938
                   0x00000278,
939
                   0x00000228,
940
                   0x00000248,
941
                   0x00000200,
942
                   0x00000250,
943
                   0x00000270,
944
                   0x00000238,
945
                   0x00000230,
946
                   0x00000240,
947
                   0x00000210,
948
                   0x00000260,
949
                   0x000004e8,
950
                   0x000004d8,
951
                   0x000004a0,
952
                   0x00000488,
953
                   0x00000498,
954
                   0x000004f8,
955
                   0x000004a8,
956
                   0x000004c8,
957
                   0x00000480,
958
                   0x000004d0,
959
                   0x000004f0,
960
                   0x000004b8,
961
                   0x000004b0,
962
                   0x000004c0,
963
                   0x00000490,
964
                   0x000004e0,
965
                   0x00000168,
966
                   0x00000158,
967
                   0x00000120,
968
                   0x00000108,
969
                   0x00000118,
970
                   0x00000178,
971
                   0x00000128,
972
                   0x00000148,
973
                   0x00000100,
974
                   0x00000150,
975
                   0x00000170,
976
                   0x00000138,
977
                   0x00000130,
978
                   0x00000140,
979
                   0x00000110,
980
                   0x00000160,
981
                   0x000001e8,
982
                   0x000001d8,
983
                   0x000001a0,
984
                   0x00000188,
985
                   0x00000198,
986
                   0x000001f8,
987
                   0x000001a8,
988
                   0x000001c8,
989
                   0x00000180,
990
                   0x000001d0,
991
                   0x000001f0,
992
                   0x000001b8,
993
                   0x000001b0,
994
                   0x000001c0,
995
                   0x00000190,
996
                   0x000001e0,
997
                   0x00000768,
998
                   0x00000758,
999
                   0x00000720,
1000
                   0x00000708,
1001
                   0x00000718,
1002
                   0x00000778,
1003
                   0x00000728,
1004
                   0x00000748,
1005
                   0x00000700,
1006
                   0x00000750,
1007
                   0x00000770,
1008
                   0x00000738,
1009
                   0x00000730,
1010
                   0x00000740,
1011
                   0x00000710,
1012
                   0x00000760,
1013
                   0x00000368,
1014
                   0x00000358,
1015
                   0x00000320,
1016
                   0x00000308,
1017
                   0x00000318,
1018
                   0x00000378,
1019
                   0x00000328,
1020
                   0x00000348,
1021
                   0x00000300,
1022
                   0x00000350,
1023
                   0x00000370,
1024
                   0x00000338,
1025
                   0x00000330,
1026
                   0x00000340,
1027
                   0x00000310,
1028
                   0x00000360,
1029
                   0x000005e8,
1030
                   0x000005d8,
1031
                   0x000005a0,
1032
                   0x00000588,
1033
                   0x00000598,
1034
                   0x000005f8,
1035
                   0x000005a8,
1036
                   0x000005c8,
1037
                   0x00000580,
1038
                   0x000005d0,
1039
                   0x000005f0,
1040
                   0x000005b8,
1041
                   0x000005b0,
1042
                   0x000005c0,
1043
                   0x00000590,
1044
                   0x000005e0,
1045
                   0x00000468,
1046
                   0x00000458,
1047
                   0x00000420,
1048
                   0x00000408,
1049
                   0x00000418,
1050
                   0x00000478,
1051
                   0x00000428,
1052
                   0x00000448,
1053
                   0x00000400,
1054
                   0x00000450,
1055
                   0x00000470,
1056
                   0x00000438,
1057
                   0x00000430,
1058
                   0x00000440,
1059
                   0x00000410,
1060
                   0x00000460,
1061
                   0x00000668,
1062
                   0x00000658,
1063
                   0x00000620,
1064
                   0x00000608,
1065
                   0x00000618,
1066
                   0x00000678,
1067
                   0x00000628,
1068
                   0x00000648,
1069
                   0x00000600,
1070
                   0x00000650,
1071
                   0x00000670,
1072
                   0x00000638,
1073
                   0x00000630,
1074
                   0x00000640,
1075
                   0x00000610,
1076
                   0x00000660,
1077
                 } };
1078
1079
const struct gost28147_param gost28147_param_CryptoPro_3411 = {
1080
  0,
1081
  {
1082
    /* 0 */
1083
    0x0002d000,
1084
    0x0002a000,
1085
    0x0002a800,
1086
    0x0002b000,
1087
    0x0002c000,
1088
    0x00028800,
1089
    0x00029800,
1090
    0x0002b800,
1091
    0x0002e800,
1092
    0x0002e000,
1093
    0x0002f000,
1094
    0x00028000,
1095
    0x0002c800,
1096
    0x00029000,
1097
    0x0002d800,
1098
    0x0002f800,
1099
    0x0007d000,
1100
    0x0007a000,
1101
    0x0007a800,
1102
    0x0007b000,
1103
    0x0007c000,
1104
    0x00078800,
1105
    0x00079800,
1106
    0x0007b800,
1107
    0x0007e800,
1108
    0x0007e000,
1109
    0x0007f000,
1110
    0x00078000,
1111
    0x0007c800,
1112
    0x00079000,
1113
    0x0007d800,
1114
    0x0007f800,
1115
    0x00025000,
1116
    0x00022000,
1117
    0x00022800,
1118
    0x00023000,
1119
    0x00024000,
1120
    0x00020800,
1121
    0x00021800,
1122
    0x00023800,
1123
    0x00026800,
1124
    0x00026000,
1125
    0x00027000,
1126
    0x00020000,
1127
    0x00024800,
1128
    0x00021000,
1129
    0x00025800,
1130
    0x00027800,
1131
    0x00005000,
1132
    0x00002000,
1133
    0x00002800,
1134
    0x00003000,
1135
    0x00004000,
1136
    0x00000800,
1137
    0x00001800,
1138
    0x00003800,
1139
    0x00006800,
1140
    0x00006000,
1141
    0x00007000,
1142
    0x00000000,
1143
    0x00004800,
1144
    0x00001000,
1145
    0x00005800,
1146
    0x00007800,
1147
    0x00015000,
1148
    0x00012000,
1149
    0x00012800,
1150
    0x00013000,
1151
    0x00014000,
1152
    0x00010800,
1153
    0x00011800,
1154
    0x00013800,
1155
    0x00016800,
1156
    0x00016000,
1157
    0x00017000,
1158
    0x00010000,
1159
    0x00014800,
1160
    0x00011000,
1161
    0x00015800,
1162
    0x00017800,
1163
    0x0006d000,
1164
    0x0006a000,
1165
    0x0006a800,
1166
    0x0006b000,
1167
    0x0006c000,
1168
    0x00068800,
1169
    0x00069800,
1170
    0x0006b800,
1171
    0x0006e800,
1172
    0x0006e000,
1173
    0x0006f000,
1174
    0x00068000,
1175
    0x0006c800,
1176
    0x00069000,
1177
    0x0006d800,
1178
    0x0006f800,
1179
    0x0005d000,
1180
    0x0005a000,
1181
    0x0005a800,
1182
    0x0005b000,
1183
    0x0005c000,
1184
    0x00058800,
1185
    0x00059800,
1186
    0x0005b800,
1187
    0x0005e800,
1188
    0x0005e000,
1189
    0x0005f000,
1190
    0x00058000,
1191
    0x0005c800,
1192
    0x00059000,
1193
    0x0005d800,
1194
    0x0005f800,
1195
    0x0004d000,
1196
    0x0004a000,
1197
    0x0004a800,
1198
    0x0004b000,
1199
    0x0004c000,
1200
    0x00048800,
1201
    0x00049800,
1202
    0x0004b800,
1203
    0x0004e800,
1204
    0x0004e000,
1205
    0x0004f000,
1206
    0x00048000,
1207
    0x0004c800,
1208
    0x00049000,
1209
    0x0004d800,
1210
    0x0004f800,
1211
    0x0000d000,
1212
    0x0000a000,
1213
    0x0000a800,
1214
    0x0000b000,
1215
    0x0000c000,
1216
    0x00008800,
1217
    0x00009800,
1218
    0x0000b800,
1219
    0x0000e800,
1220
    0x0000e000,
1221
    0x0000f000,
1222
    0x00008000,
1223
    0x0000c800,
1224
    0x00009000,
1225
    0x0000d800,
1226
    0x0000f800,
1227
    0x0003d000,
1228
    0x0003a000,
1229
    0x0003a800,
1230
    0x0003b000,
1231
    0x0003c000,
1232
    0x00038800,
1233
    0x00039800,
1234
    0x0003b800,
1235
    0x0003e800,
1236
    0x0003e000,
1237
    0x0003f000,
1238
    0x00038000,
1239
    0x0003c800,
1240
    0x00039000,
1241
    0x0003d800,
1242
    0x0003f800,
1243
    0x00035000,
1244
    0x00032000,
1245
    0x00032800,
1246
    0x00033000,
1247
    0x00034000,
1248
    0x00030800,
1249
    0x00031800,
1250
    0x00033800,
1251
    0x00036800,
1252
    0x00036000,
1253
    0x00037000,
1254
    0x00030000,
1255
    0x00034800,
1256
    0x00031000,
1257
    0x00035800,
1258
    0x00037800,
1259
    0x0001d000,
1260
    0x0001a000,
1261
    0x0001a800,
1262
    0x0001b000,
1263
    0x0001c000,
1264
    0x00018800,
1265
    0x00019800,
1266
    0x0001b800,
1267
    0x0001e800,
1268
    0x0001e000,
1269
    0x0001f000,
1270
    0x00018000,
1271
    0x0001c800,
1272
    0x00019000,
1273
    0x0001d800,
1274
    0x0001f800,
1275
    0x00065000,
1276
    0x00062000,
1277
    0x00062800,
1278
    0x00063000,
1279
    0x00064000,
1280
    0x00060800,
1281
    0x00061800,
1282
    0x00063800,
1283
    0x00066800,
1284
    0x00066000,
1285
    0x00067000,
1286
    0x00060000,
1287
    0x00064800,
1288
    0x00061000,
1289
    0x00065800,
1290
    0x00067800,
1291
    0x00075000,
1292
    0x00072000,
1293
    0x00072800,
1294
    0x00073000,
1295
    0x00074000,
1296
    0x00070800,
1297
    0x00071800,
1298
    0x00073800,
1299
    0x00076800,
1300
    0x00076000,
1301
    0x00077000,
1302
    0x00070000,
1303
    0x00074800,
1304
    0x00071000,
1305
    0x00075800,
1306
    0x00077800,
1307
    0x00055000,
1308
    0x00052000,
1309
    0x00052800,
1310
    0x00053000,
1311
    0x00054000,
1312
    0x00050800,
1313
    0x00051800,
1314
    0x00053800,
1315
    0x00056800,
1316
    0x00056000,
1317
    0x00057000,
1318
    0x00050000,
1319
    0x00054800,
1320
    0x00051000,
1321
    0x00055800,
1322
    0x00057800,
1323
    0x00045000,
1324
    0x00042000,
1325
    0x00042800,
1326
    0x00043000,
1327
    0x00044000,
1328
    0x00040800,
1329
    0x00041800,
1330
    0x00043800,
1331
    0x00046800,
1332
    0x00046000,
1333
    0x00047000,
1334
    0x00040000,
1335
    0x00044800,
1336
    0x00041000,
1337
    0x00045800,
1338
    0x00047800,
1339
    /* 1 */
1340
    0x02380000,
1341
    0x02780000,
1342
    0x02600000,
1343
    0x02700000,
1344
    0x02480000,
1345
    0x02200000,
1346
    0x02080000,
1347
    0x02000000,
1348
    0x02180000,
1349
    0x02580000,
1350
    0x02280000,
1351
    0x02100000,
1352
    0x02300000,
1353
    0x02500000,
1354
    0x02400000,
1355
    0x02680000,
1356
    0x05380000,
1357
    0x05780000,
1358
    0x05600000,
1359
    0x05700000,
1360
    0x05480000,
1361
    0x05200000,
1362
    0x05080000,
1363
    0x05000000,
1364
    0x05180000,
1365
    0x05580000,
1366
    0x05280000,
1367
    0x05100000,
1368
    0x05300000,
1369
    0x05500000,
1370
    0x05400000,
1371
    0x05680000,
1372
    0x03b80000,
1373
    0x03f80000,
1374
    0x03e00000,
1375
    0x03f00000,
1376
    0x03c80000,
1377
    0x03a00000,
1378
    0x03880000,
1379
    0x03800000,
1380
    0x03980000,
1381
    0x03d80000,
1382
    0x03a80000,
1383
    0x03900000,
1384
    0x03b00000,
1385
    0x03d00000,
1386
    0x03c00000,
1387
    0x03e80000,
1388
    0x06380000,
1389
    0x06780000,
1390
    0x06600000,
1391
    0x06700000,
1392
    0x06480000,
1393
    0x06200000,
1394
    0x06080000,
1395
    0x06000000,
1396
    0x06180000,
1397
    0x06580000,
1398
    0x06280000,
1399
    0x06100000,
1400
    0x06300000,
1401
    0x06500000,
1402
    0x06400000,
1403
    0x06680000,
1404
    0x00380000,
1405
    0x00780000,
1406
    0x00600000,
1407
    0x00700000,
1408
    0x00480000,
1409
    0x00200000,
1410
    0x00080000,
1411
    0x00000000,
1412
    0x00180000,
1413
    0x00580000,
1414
    0x00280000,
1415
    0x00100000,
1416
    0x00300000,
1417
    0x00500000,
1418
    0x00400000,
1419
    0x00680000,
1420
    0x07b80000,
1421
    0x07f80000,
1422
    0x07e00000,
1423
    0x07f00000,
1424
    0x07c80000,
1425
    0x07a00000,
1426
    0x07880000,
1427
    0x07800000,
1428
    0x07980000,
1429
    0x07d80000,
1430
    0x07a80000,
1431
    0x07900000,
1432
    0x07b00000,
1433
    0x07d00000,
1434
    0x07c00000,
1435
    0x07e80000,
1436
    0x01380000,
1437
    0x01780000,
1438
    0x01600000,
1439
    0x01700000,
1440
    0x01480000,
1441
    0x01200000,
1442
    0x01080000,
1443
    0x01000000,
1444
    0x01180000,
1445
    0x01580000,
1446
    0x01280000,
1447
    0x01100000,
1448
    0x01300000,
1449
    0x01500000,
1450
    0x01400000,
1451
    0x01680000,
1452
    0x04380000,
1453
    0x04780000,
1454
    0x04600000,
1455
    0x04700000,
1456
    0x04480000,
1457
    0x04200000,
1458
    0x04080000,
1459
    0x04000000,
1460
    0x04180000,
1461
    0x04580000,
1462
    0x04280000,
1463
    0x04100000,
1464
    0x04300000,
1465
    0x04500000,
1466
    0x04400000,
1467
    0x04680000,
1468
    0x07380000,
1469
    0x07780000,
1470
    0x07600000,
1471
    0x07700000,
1472
    0x07480000,
1473
    0x07200000,
1474
    0x07080000,
1475
    0x07000000,
1476
    0x07180000,
1477
    0x07580000,
1478
    0x07280000,
1479
    0x07100000,
1480
    0x07300000,
1481
    0x07500000,
1482
    0x07400000,
1483
    0x07680000,
1484
    0x00b80000,
1485
    0x00f80000,
1486
    0x00e00000,
1487
    0x00f00000,
1488
    0x00c80000,
1489
    0x00a00000,
1490
    0x00880000,
1491
    0x00800000,
1492
    0x00980000,
1493
    0x00d80000,
1494
    0x00a80000,
1495
    0x00900000,
1496
    0x00b00000,
1497
    0x00d00000,
1498
    0x00c00000,
1499
    0x00e80000,
1500
    0x03380000,
1501
    0x03780000,
1502
    0x03600000,
1503
    0x03700000,
1504
    0x03480000,
1505
    0x03200000,
1506
    0x03080000,
1507
    0x03000000,
1508
    0x03180000,
1509
    0x03580000,
1510
    0x03280000,
1511
    0x03100000,
1512
    0x03300000,
1513
    0x03500000,
1514
    0x03400000,
1515
    0x03680000,
1516
    0x02b80000,
1517
    0x02f80000,
1518
    0x02e00000,
1519
    0x02f00000,
1520
    0x02c80000,
1521
    0x02a00000,
1522
    0x02880000,
1523
    0x02800000,
1524
    0x02980000,
1525
    0x02d80000,
1526
    0x02a80000,
1527
    0x02900000,
1528
    0x02b00000,
1529
    0x02d00000,
1530
    0x02c00000,
1531
    0x02e80000,
1532
    0x06b80000,
1533
    0x06f80000,
1534
    0x06e00000,
1535
    0x06f00000,
1536
    0x06c80000,
1537
    0x06a00000,
1538
    0x06880000,
1539
    0x06800000,
1540
    0x06980000,
1541
    0x06d80000,
1542
    0x06a80000,
1543
    0x06900000,
1544
    0x06b00000,
1545
    0x06d00000,
1546
    0x06c00000,
1547
    0x06e80000,
1548
    0x05b80000,
1549
    0x05f80000,
1550
    0x05e00000,
1551
    0x05f00000,
1552
    0x05c80000,
1553
    0x05a00000,
1554
    0x05880000,
1555
    0x05800000,
1556
    0x05980000,
1557
    0x05d80000,
1558
    0x05a80000,
1559
    0x05900000,
1560
    0x05b00000,
1561
    0x05d00000,
1562
    0x05c00000,
1563
    0x05e80000,
1564
    0x04b80000,
1565
    0x04f80000,
1566
    0x04e00000,
1567
    0x04f00000,
1568
    0x04c80000,
1569
    0x04a00000,
1570
    0x04880000,
1571
    0x04800000,
1572
    0x04980000,
1573
    0x04d80000,
1574
    0x04a80000,
1575
    0x04900000,
1576
    0x04b00000,
1577
    0x04d00000,
1578
    0x04c00000,
1579
    0x04e80000,
1580
    0x01b80000,
1581
    0x01f80000,
1582
    0x01e00000,
1583
    0x01f00000,
1584
    0x01c80000,
1585
    0x01a00000,
1586
    0x01880000,
1587
    0x01800000,
1588
    0x01980000,
1589
    0x01d80000,
1590
    0x01a80000,
1591
    0x01900000,
1592
    0x01b00000,
1593
    0x01d00000,
1594
    0x01c00000,
1595
    0x01e80000,
1596
    /* 2 */
1597
    0xb8000003,
1598
    0xb0000003,
1599
    0xa0000003,
1600
    0xd8000003,
1601
    0xc8000003,
1602
    0xe0000003,
1603
    0x90000003,
1604
    0xd0000003,
1605
    0x88000003,
1606
    0xc0000003,
1607
    0x80000003,
1608
    0xf0000003,
1609
    0xf8000003,
1610
    0xe8000003,
1611
    0x98000003,
1612
    0xa8000003,
1613
    0x38000003,
1614
    0x30000003,
1615
    0x20000003,
1616
    0x58000003,
1617
    0x48000003,
1618
    0x60000003,
1619
    0x10000003,
1620
    0x50000003,
1621
    0x08000003,
1622
    0x40000003,
1623
    0x00000003,
1624
    0x70000003,
1625
    0x78000003,
1626
    0x68000003,
1627
    0x18000003,
1628
    0x28000003,
1629
    0x38000001,
1630
    0x30000001,
1631
    0x20000001,
1632
    0x58000001,
1633
    0x48000001,
1634
    0x60000001,
1635
    0x10000001,
1636
    0x50000001,
1637
    0x08000001,
1638
    0x40000001,
1639
    0x00000001,
1640
    0x70000001,
1641
    0x78000001,
1642
    0x68000001,
1643
    0x18000001,
1644
    0x28000001,
1645
    0x38000002,
1646
    0x30000002,
1647
    0x20000002,
1648
    0x58000002,
1649
    0x48000002,
1650
    0x60000002,
1651
    0x10000002,
1652
    0x50000002,
1653
    0x08000002,
1654
    0x40000002,
1655
    0x00000002,
1656
    0x70000002,
1657
    0x78000002,
1658
    0x68000002,
1659
    0x18000002,
1660
    0x28000002,
1661
    0xb8000006,
1662
    0xb0000006,
1663
    0xa0000006,
1664
    0xd8000006,
1665
    0xc8000006,
1666
    0xe0000006,
1667
    0x90000006,
1668
    0xd0000006,
1669
    0x88000006,
1670
    0xc0000006,
1671
    0x80000006,
1672
    0xf0000006,
1673
    0xf8000006,
1674
    0xe8000006,
1675
    0x98000006,
1676
    0xa8000006,
1677
    0xb8000004,
1678
    0xb0000004,
1679
    0xa0000004,
1680
    0xd8000004,
1681
    0xc8000004,
1682
    0xe0000004,
1683
    0x90000004,
1684
    0xd0000004,
1685
    0x88000004,
1686
    0xc0000004,
1687
    0x80000004,
1688
    0xf0000004,
1689
    0xf8000004,
1690
    0xe8000004,
1691
    0x98000004,
1692
    0xa8000004,
1693
    0xb8000007,
1694
    0xb0000007,
1695
    0xa0000007,
1696
    0xd8000007,
1697
    0xc8000007,
1698
    0xe0000007,
1699
    0x90000007,
1700
    0xd0000007,
1701
    0x88000007,
1702
    0xc0000007,
1703
    0x80000007,
1704
    0xf0000007,
1705
    0xf8000007,
1706
    0xe8000007,
1707
    0x98000007,
1708
    0xa8000007,
1709
    0x38000000,
1710
    0x30000000,
1711
    0x20000000,
1712
    0x58000000,
1713
    0x48000000,
1714
    0x60000000,
1715
    0x10000000,
1716
    0x50000000,
1717
    0x08000000,
1718
    0x40000000,
1719
    0x00000000,
1720
    0x70000000,
1721
    0x78000000,
1722
    0x68000000,
1723
    0x18000000,
1724
    0x28000000,
1725
    0x38000005,
1726
    0x30000005,
1727
    0x20000005,
1728
    0x58000005,
1729
    0x48000005,
1730
    0x60000005,
1731
    0x10000005,
1732
    0x50000005,
1733
    0x08000005,
1734
    0x40000005,
1735
    0x00000005,
1736
    0x70000005,
1737
    0x78000005,
1738
    0x68000005,
1739
    0x18000005,
1740
    0x28000005,
1741
    0xb8000000,
1742
    0xb0000000,
1743
    0xa0000000,
1744
    0xd8000000,
1745
    0xc8000000,
1746
    0xe0000000,
1747
    0x90000000,
1748
    0xd0000000,
1749
    0x88000000,
1750
    0xc0000000,
1751
    0x80000000,
1752
    0xf0000000,
1753
    0xf8000000,
1754
    0xe8000000,
1755
    0x98000000,
1756
    0xa8000000,
1757
    0xb8000002,
1758
    0xb0000002,
1759
    0xa0000002,
1760
    0xd8000002,
1761
    0xc8000002,
1762
    0xe0000002,
1763
    0x90000002,
1764
    0xd0000002,
1765
    0x88000002,
1766
    0xc0000002,
1767
    0x80000002,
1768
    0xf0000002,
1769
    0xf8000002,
1770
    0xe8000002,
1771
    0x98000002,
1772
    0xa8000002,
1773
    0xb8000005,
1774
    0xb0000005,
1775
    0xa0000005,
1776
    0xd8000005,
1777
    0xc8000005,
1778
    0xe0000005,
1779
    0x90000005,
1780
    0xd0000005,
1781
    0x88000005,
1782
    0xc0000005,
1783
    0x80000005,
1784
    0xf0000005,
1785
    0xf8000005,
1786
    0xe8000005,
1787
    0x98000005,
1788
    0xa8000005,
1789
    0x38000004,
1790
    0x30000004,
1791
    0x20000004,
1792
    0x58000004,
1793
    0x48000004,
1794
    0x60000004,
1795
    0x10000004,
1796
    0x50000004,
1797
    0x08000004,
1798
    0x40000004,
1799
    0x00000004,
1800
    0x70000004,
1801
    0x78000004,
1802
    0x68000004,
1803
    0x18000004,
1804
    0x28000004,
1805
    0x38000007,
1806
    0x30000007,
1807
    0x20000007,
1808
    0x58000007,
1809
    0x48000007,
1810
    0x60000007,
1811
    0x10000007,
1812
    0x50000007,
1813
    0x08000007,
1814
    0x40000007,
1815
    0x00000007,
1816
    0x70000007,
1817
    0x78000007,
1818
    0x68000007,
1819
    0x18000007,
1820
    0x28000007,
1821
    0x38000006,
1822
    0x30000006,
1823
    0x20000006,
1824
    0x58000006,
1825
    0x48000006,
1826
    0x60000006,
1827
    0x10000006,
1828
    0x50000006,
1829
    0x08000006,
1830
    0x40000006,
1831
    0x00000006,
1832
    0x70000006,
1833
    0x78000006,
1834
    0x68000006,
1835
    0x18000006,
1836
    0x28000006,
1837
    0xb8000001,
1838
    0xb0000001,
1839
    0xa0000001,
1840
    0xd8000001,
1841
    0xc8000001,
1842
    0xe0000001,
1843
    0x90000001,
1844
    0xd0000001,
1845
    0x88000001,
1846
    0xc0000001,
1847
    0x80000001,
1848
    0xf0000001,
1849
    0xf8000001,
1850
    0xe8000001,
1851
    0x98000001,
1852
    0xa8000001,
1853
    /* 3 */
1854
    0x000000e8,
1855
    0x000000f0,
1856
    0x000000a0,
1857
    0x00000088,
1858
    0x000000b8,
1859
    0x00000080,
1860
    0x000000a8,
1861
    0x000000d0,
1862
    0x00000098,
1863
    0x000000e0,
1864
    0x000000c0,
1865
    0x000000f8,
1866
    0x000000b0,
1867
    0x00000090,
1868
    0x000000c8,
1869
    0x000000d8,
1870
    0x000001e8,
1871
    0x000001f0,
1872
    0x000001a0,
1873
    0x00000188,
1874
    0x000001b8,
1875
    0x00000180,
1876
    0x000001a8,
1877
    0x000001d0,
1878
    0x00000198,
1879
    0x000001e0,
1880
    0x000001c0,
1881
    0x000001f8,
1882
    0x000001b0,
1883
    0x00000190,
1884
    0x000001c8,
1885
    0x000001d8,
1886
    0x00000568,
1887
    0x00000570,
1888
    0x00000520,
1889
    0x00000508,
1890
    0x00000538,
1891
    0x00000500,
1892
    0x00000528,
1893
    0x00000550,
1894
    0x00000518,
1895
    0x00000560,
1896
    0x00000540,
1897
    0x00000578,
1898
    0x00000530,
1899
    0x00000510,
1900
    0x00000548,
1901
    0x00000558,
1902
    0x000004e8,
1903
    0x000004f0,
1904
    0x000004a0,
1905
    0x00000488,
1906
    0x000004b8,
1907
    0x00000480,
1908
    0x000004a8,
1909
    0x000004d0,
1910
    0x00000498,
1911
    0x000004e0,
1912
    0x000004c0,
1913
    0x000004f8,
1914
    0x000004b0,
1915
    0x00000490,
1916
    0x000004c8,
1917
    0x000004d8,
1918
    0x000002e8,
1919
    0x000002f0,
1920
    0x000002a0,
1921
    0x00000288,
1922
    0x000002b8,
1923
    0x00000280,
1924
    0x000002a8,
1925
    0x000002d0,
1926
    0x00000298,
1927
    0x000002e0,
1928
    0x000002c0,
1929
    0x000002f8,
1930
    0x000002b0,
1931
    0x00000290,
1932
    0x000002c8,
1933
    0x000002d8,
1934
    0x000005e8,
1935
    0x000005f0,
1936
    0x000005a0,
1937
    0x00000588,
1938
    0x000005b8,
1939
    0x00000580,
1940
    0x000005a8,
1941
    0x000005d0,
1942
    0x00000598,
1943
    0x000005e0,
1944
    0x000005c0,
1945
    0x000005f8,
1946
    0x000005b0,
1947
    0x00000590,
1948
    0x000005c8,
1949
    0x000005d8,
1950
    0x00000268,
1951
    0x00000270,
1952
    0x00000220,
1953
    0x00000208,
1954
    0x00000238,
1955
    0x00000200,
1956
    0x00000228,
1957
    0x00000250,
1958
    0x00000218,
1959
    0x00000260,
1960
    0x00000240,
1961
    0x00000278,
1962
    0x00000230,
1963
    0x00000210,
1964
    0x00000248,
1965
    0x00000258,
1966
    0x000007e8,
1967
    0x000007f0,
1968
    0x000007a0,
1969
    0x00000788,
1970
    0x000007b8,
1971
    0x00000780,
1972
    0x000007a8,
1973
    0x000007d0,
1974
    0x00000798,
1975
    0x000007e0,
1976
    0x000007c0,
1977
    0x000007f8,
1978
    0x000007b0,
1979
    0x00000790,
1980
    0x000007c8,
1981
    0x000007d8,
1982
    0x00000468,
1983
    0x00000470,
1984
    0x00000420,
1985
    0x00000408,
1986
    0x00000438,
1987
    0x00000400,
1988
    0x00000428,
1989
    0x00000450,
1990
    0x00000418,
1991
    0x00000460,
1992
    0x00000440,
1993
    0x00000478,
1994
    0x00000430,
1995
    0x00000410,
1996
    0x00000448,
1997
    0x00000458,
1998
    0x00000368,
1999
    0x00000370,
2000
    0x00000320,
2001
    0x00000308,
2002
    0x00000338,
2003
    0x00000300,
2004
    0x00000328,
2005
    0x00000350,
2006
    0x00000318,
2007
    0x00000360,
2008
    0x00000340,
2009
    0x00000378,
2010
    0x00000330,
2011
    0x00000310,
2012
    0x00000348,
2013
    0x00000358,
2014
    0x000003e8,
2015
    0x000003f0,
2016
    0x000003a0,
2017
    0x00000388,
2018
    0x000003b8,
2019
    0x00000380,
2020
    0x000003a8,
2021
    0x000003d0,
2022
    0x00000398,
2023
    0x000003e0,
2024
    0x000003c0,
2025
    0x000003f8,
2026
    0x000003b0,
2027
    0x00000390,
2028
    0x000003c8,
2029
    0x000003d8,
2030
    0x00000768,
2031
    0x00000770,
2032
    0x00000720,
2033
    0x00000708,
2034
    0x00000738,
2035
    0x00000700,
2036
    0x00000728,
2037
    0x00000750,
2038
    0x00000718,
2039
    0x00000760,
2040
    0x00000740,
2041
    0x00000778,
2042
    0x00000730,
2043
    0x00000710,
2044
    0x00000748,
2045
    0x00000758,
2046
    0x000006e8,
2047
    0x000006f0,
2048
    0x000006a0,
2049
    0x00000688,
2050
    0x000006b8,
2051
    0x00000680,
2052
    0x000006a8,
2053
    0x000006d0,
2054
    0x00000698,
2055
    0x000006e0,
2056
    0x000006c0,
2057
    0x000006f8,
2058
    0x000006b0,
2059
    0x00000690,
2060
    0x000006c8,
2061
    0x000006d8,
2062
    0x00000068,
2063
    0x00000070,
2064
    0x00000020,
2065
    0x00000008,
2066
    0x00000038,
2067
    0x00000000,
2068
    0x00000028,
2069
    0x00000050,
2070
    0x00000018,
2071
    0x00000060,
2072
    0x00000040,
2073
    0x00000078,
2074
    0x00000030,
2075
    0x00000010,
2076
    0x00000048,
2077
    0x00000058,
2078
    0x00000168,
2079
    0x00000170,
2080
    0x00000120,
2081
    0x00000108,
2082
    0x00000138,
2083
    0x00000100,
2084
    0x00000128,
2085
    0x00000150,
2086
    0x00000118,
2087
    0x00000160,
2088
    0x00000140,
2089
    0x00000178,
2090
    0x00000130,
2091
    0x00000110,
2092
    0x00000148,
2093
    0x00000158,
2094
    0x00000668,
2095
    0x00000670,
2096
    0x00000620,
2097
    0x00000608,
2098
    0x00000638,
2099
    0x00000600,
2100
    0x00000628,
2101
    0x00000650,
2102
    0x00000618,
2103
    0x00000660,
2104
    0x00000640,
2105
    0x00000678,
2106
    0x00000630,
2107
    0x00000610,
2108
    0x00000648,
2109
    0x00000658,
2110
  }
2111
};
2112
2113
const struct gost28147_param gost28147_param_Test_89 = { 0,
2114
               {
2115
                 /* 0 */
2116
                 0x00062000,
2117
                 0x00061000,
2118
                 0x00067800,
2119
                 0x00062800,
2120
                 0x00064800,
2121
                 0x00060800,
2122
                 0x00060000,
2123
                 0x00064000,
2124
                 0x00067000,
2125
                 0x00061800,
2126
                 0x00065800,
2127
                 0x00066000,
2128
                 0x00066800,
2129
                 0x00063800,
2130
                 0x00065000,
2131
                 0x00063000,
2132
                 0x0004a000,
2133
                 0x00049000,
2134
                 0x0004f800,
2135
                 0x0004a800,
2136
                 0x0004c800,
2137
                 0x00048800,
2138
                 0x00048000,
2139
                 0x0004c000,
2140
                 0x0004f000,
2141
                 0x00049800,
2142
                 0x0004d800,
2143
                 0x0004e000,
2144
                 0x0004e800,
2145
                 0x0004b800,
2146
                 0x0004d000,
2147
                 0x0004b000,
2148
                 0x0007a000,
2149
                 0x00079000,
2150
                 0x0007f800,
2151
                 0x0007a800,
2152
                 0x0007c800,
2153
                 0x00078800,
2154
                 0x00078000,
2155
                 0x0007c000,
2156
                 0x0007f000,
2157
                 0x00079800,
2158
                 0x0007d800,
2159
                 0x0007e000,
2160
                 0x0007e800,
2161
                 0x0007b800,
2162
                 0x0007d000,
2163
                 0x0007b000,
2164
                 0x00072000,
2165
                 0x00071000,
2166
                 0x00077800,
2167
                 0x00072800,
2168
                 0x00074800,
2169
                 0x00070800,
2170
                 0x00070000,
2171
                 0x00074000,
2172
                 0x00077000,
2173
                 0x00071800,
2174
                 0x00075800,
2175
                 0x00076000,
2176
                 0x00076800,
2177
                 0x00073800,
2178
                 0x00075000,
2179
                 0x00073000,
2180
                 0x00042000,
2181
                 0x00041000,
2182
                 0x00047800,
2183
                 0x00042800,
2184
                 0x00044800,
2185
                 0x00040800,
2186
                 0x00040000,
2187
                 0x00044000,
2188
                 0x00047000,
2189
                 0x00041800,
2190
                 0x00045800,
2191
                 0x00046000,
2192
                 0x00046800,
2193
                 0x00043800,
2194
                 0x00045000,
2195
                 0x00043000,
2196
                 0x0000a000,
2197
                 0x00009000,
2198
                 0x0000f800,
2199
                 0x0000a800,
2200
                 0x0000c800,
2201
                 0x00008800,
2202
                 0x00008000,
2203
                 0x0000c000,
2204
                 0x0000f000,
2205
                 0x00009800,
2206
                 0x0000d800,
2207
                 0x0000e000,
2208
                 0x0000e800,
2209
                 0x0000b800,
2210
                 0x0000d000,
2211
                 0x0000b000,
2212
                 0x0001a000,
2213
                 0x00019000,
2214
                 0x0001f800,
2215
                 0x0001a800,
2216
                 0x0001c800,
2217
                 0x00018800,
2218
                 0x00018000,
2219
                 0x0001c000,
2220
                 0x0001f000,
2221
                 0x00019800,
2222
                 0x0001d800,
2223
                 0x0001e000,
2224
                 0x0001e800,
2225
                 0x0001b800,
2226
                 0x0001d000,
2227
                 0x0001b000,
2228
                 0x00052000,
2229
                 0x00051000,
2230
                 0x00057800,
2231
                 0x00052800,
2232
                 0x00054800,
2233
                 0x00050800,
2234
                 0x00050000,
2235
                 0x00054000,
2236
                 0x00057000,
2237
                 0x00051800,
2238
                 0x00055800,
2239
                 0x00056000,
2240
                 0x00056800,
2241
                 0x00053800,
2242
                 0x00055000,
2243
                 0x00053000,
2244
                 0x00012000,
2245
                 0x00011000,
2246
                 0x00017800,
2247
                 0x00012800,
2248
                 0x00014800,
2249
                 0x00010800,
2250
                 0x00010000,
2251
                 0x00014000,
2252
                 0x00017000,
2253
                 0x00011800,
2254
                 0x00015800,
2255
                 0x00016000,
2256
                 0x00016800,
2257
                 0x00013800,
2258
                 0x00015000,
2259
                 0x00013000,
2260
                 0x0003a000,
2261
                 0x00039000,
2262
                 0x0003f800,
2263
                 0x0003a800,
2264
                 0x0003c800,
2265
                 0x00038800,
2266
                 0x00038000,
2267
                 0x0003c000,
2268
                 0x0003f000,
2269
                 0x00039800,
2270
                 0x0003d800,
2271
                 0x0003e000,
2272
                 0x0003e800,
2273
                 0x0003b800,
2274
                 0x0003d000,
2275
                 0x0003b000,
2276
                 0x00022000,
2277
                 0x00021000,
2278
                 0x00027800,
2279
                 0x00022800,
2280
                 0x00024800,
2281
                 0x00020800,
2282
                 0x00020000,
2283
                 0x00024000,
2284
                 0x00027000,
2285
                 0x00021800,
2286
                 0x00025800,
2287
                 0x00026000,
2288
                 0x00026800,
2289
                 0x00023800,
2290
                 0x00025000,
2291
                 0x00023000,
2292
                 0x0006a000,
2293
                 0x00069000,
2294
                 0x0006f800,
2295
                 0x0006a800,
2296
                 0x0006c800,
2297
                 0x00068800,
2298
                 0x00068000,
2299
                 0x0006c000,
2300
                 0x0006f000,
2301
                 0x00069800,
2302
                 0x0006d800,
2303
                 0x0006e000,
2304
                 0x0006e800,
2305
                 0x0006b800,
2306
                 0x0006d000,
2307
                 0x0006b000,
2308
                 0x00032000,
2309
                 0x00031000,
2310
                 0x00037800,
2311
                 0x00032800,
2312
                 0x00034800,
2313
                 0x00030800,
2314
                 0x00030000,
2315
                 0x00034000,
2316
                 0x00037000,
2317
                 0x00031800,
2318
                 0x00035800,
2319
                 0x00036000,
2320
                 0x00036800,
2321
                 0x00033800,
2322
                 0x00035000,
2323
                 0x00033000,
2324
                 0x00002000,
2325
                 0x00001000,
2326
                 0x00007800,
2327
                 0x00002800,
2328
                 0x00004800,
2329
                 0x00000800,
2330
                 0x00000000,
2331
                 0x00004000,
2332
                 0x00007000,
2333
                 0x00001800,
2334
                 0x00005800,
2335
                 0x00006000,
2336
                 0x00006800,
2337
                 0x00003800,
2338
                 0x00005000,
2339
                 0x00003000,
2340
                 0x0005a000,
2341
                 0x00059000,
2342
                 0x0005f800,
2343
                 0x0005a800,
2344
                 0x0005c800,
2345
                 0x00058800,
2346
                 0x00058000,
2347
                 0x0005c000,
2348
                 0x0005f000,
2349
                 0x00059800,
2350
                 0x0005d800,
2351
                 0x0005e000,
2352
                 0x0005e800,
2353
                 0x0005b800,
2354
                 0x0005d000,
2355
                 0x0005b000,
2356
                 0x0002a000,
2357
                 0x00029000,
2358
                 0x0002f800,
2359
                 0x0002a800,
2360
                 0x0002c800,
2361
                 0x00028800,
2362
                 0x00028000,
2363
                 0x0002c000,
2364
                 0x0002f000,
2365
                 0x00029800,
2366
                 0x0002d800,
2367
                 0x0002e000,
2368
                 0x0002e800,
2369
                 0x0002b800,
2370
                 0x0002d000,
2371
                 0x0002b000,
2372
                 /* 1 */
2373
                 0x07680000,
2374
                 0x07400000,
2375
                 0x07700000,
2376
                 0x07600000,
2377
                 0x07380000,
2378
                 0x07180000,
2379
                 0x07480000,
2380
                 0x07500000,
2381
                 0x07080000,
2382
                 0x07280000,
2383
                 0x07100000,
2384
                 0x07200000,
2385
                 0x07300000,
2386
                 0x07780000,
2387
                 0x07000000,
2388
                 0x07580000,
2389
                 0x04e80000,
2390
                 0x04c00000,
2391
                 0x04f00000,
2392
                 0x04e00000,
2393
                 0x04b80000,
2394
                 0x04980000,
2395
                 0x04c80000,
2396
                 0x04d00000,
2397
                 0x04880000,
2398
                 0x04a80000,
2399
                 0x04900000,
2400
                 0x04a00000,
2401
                 0x04b00000,
2402
                 0x04f80000,
2403
                 0x04800000,
2404
                 0x04d80000,
2405
                 0x05e80000,
2406
                 0x05c00000,
2407
                 0x05f00000,
2408
                 0x05e00000,
2409
                 0x05b80000,
2410
                 0x05980000,
2411
                 0x05c80000,
2412
                 0x05d00000,
2413
                 0x05880000,
2414
                 0x05a80000,
2415
                 0x05900000,
2416
                 0x05a00000,
2417
                 0x05b00000,
2418
                 0x05f80000,
2419
                 0x05800000,
2420
                 0x05d80000,
2421
                 0x01680000,
2422
                 0x01400000,
2423
                 0x01700000,
2424
                 0x01600000,
2425
                 0x01380000,
2426
                 0x01180000,
2427
                 0x01480000,
2428
                 0x01500000,
2429
                 0x01080000,
2430
                 0x01280000,
2431
                 0x01100000,
2432
                 0x01200000,
2433
                 0x01300000,
2434
                 0x01780000,
2435
                 0x01000000,
2436
                 0x01580000,
2437
                 0x02e80000,
2438
                 0x02c00000,
2439
                 0x02f00000,
2440
                 0x02e00000,
2441
                 0x02b80000,
2442
                 0x02980000,
2443
                 0x02c80000,
2444
                 0x02d00000,
2445
                 0x02880000,
2446
                 0x02a80000,
2447
                 0x02900000,
2448
                 0x02a00000,
2449
                 0x02b00000,
2450
                 0x02f80000,
2451
                 0x02800000,
2452
                 0x02d80000,
2453
                 0x07e80000,
2454
                 0x07c00000,
2455
                 0x07f00000,
2456
                 0x07e00000,
2457
                 0x07b80000,
2458
                 0x07980000,
2459
                 0x07c80000,
2460
                 0x07d00000,
2461
                 0x07880000,
2462
                 0x07a80000,
2463
                 0x07900000,
2464
                 0x07a00000,
2465
                 0x07b00000,
2466
                 0x07f80000,
2467
                 0x07800000,
2468
                 0x07d80000,
2469
                 0x03e80000,
2470
                 0x03c00000,
2471
                 0x03f00000,
2472
                 0x03e00000,
2473
                 0x03b80000,
2474
                 0x03980000,
2475
                 0x03c80000,
2476
                 0x03d00000,
2477
                 0x03880000,
2478
                 0x03a80000,
2479
                 0x03900000,
2480
                 0x03a00000,
2481
                 0x03b00000,
2482
                 0x03f80000,
2483
                 0x03800000,
2484
                 0x03d80000,
2485
                 0x00e80000,
2486
                 0x00c00000,
2487
                 0x00f00000,
2488
                 0x00e00000,
2489
                 0x00b80000,
2490
                 0x00980000,
2491
                 0x00c80000,
2492
                 0x00d00000,
2493
                 0x00880000,
2494
                 0x00a80000,
2495
                 0x00900000,
2496
                 0x00a00000,
2497
                 0x00b00000,
2498
                 0x00f80000,
2499
                 0x00800000,
2500
                 0x00d80000,
2501
                 0x00680000,
2502
                 0x00400000,
2503
                 0x00700000,
2504
                 0x00600000,
2505
                 0x00380000,
2506
                 0x00180000,
2507
                 0x00480000,
2508
                 0x00500000,
2509
                 0x00080000,
2510
                 0x00280000,
2511
                 0x00100000,
2512
                 0x00200000,
2513
                 0x00300000,
2514
                 0x00780000,
2515
                 0x00000000,
2516
                 0x00580000,
2517
                 0x06e80000,
2518
                 0x06c00000,
2519
                 0x06f00000,
2520
                 0x06e00000,
2521
                 0x06b80000,
2522
                 0x06980000,
2523
                 0x06c80000,
2524
                 0x06d00000,
2525
                 0x06880000,
2526
                 0x06a80000,
2527
                 0x06900000,
2528
                 0x06a00000,
2529
                 0x06b00000,
2530
                 0x06f80000,
2531
                 0x06800000,
2532
                 0x06d80000,
2533
                 0x06680000,
2534
                 0x06400000,
2535
                 0x06700000,
2536
                 0x06600000,
2537
                 0x06380000,
2538
                 0x06180000,
2539
                 0x06480000,
2540
                 0x06500000,
2541
                 0x06080000,
2542
                 0x06280000,
2543
                 0x06100000,
2544
                 0x06200000,
2545
                 0x06300000,
2546
                 0x06780000,
2547
                 0x06000000,
2548
                 0x06580000,
2549
                 0x03680000,
2550
                 0x03400000,
2551
                 0x03700000,
2552
                 0x03600000,
2553
                 0x03380000,
2554
                 0x03180000,
2555
                 0x03480000,
2556
                 0x03500000,
2557
                 0x03080000,
2558
                 0x03280000,
2559
                 0x03100000,
2560
                 0x03200000,
2561
                 0x03300000,
2562
                 0x03780000,
2563
                 0x03000000,
2564
                 0x03580000,
2565
                 0x05680000,
2566
                 0x05400000,
2567
                 0x05700000,
2568
                 0x05600000,
2569
                 0x05380000,
2570
                 0x05180000,
2571
                 0x05480000,
2572
                 0x05500000,
2573
                 0x05080000,
2574
                 0x05280000,
2575
                 0x05100000,
2576
                 0x05200000,
2577
                 0x05300000,
2578
                 0x05780000,
2579
                 0x05000000,
2580
                 0x05580000,
2581
                 0x02680000,
2582
                 0x02400000,
2583
                 0x02700000,
2584
                 0x02600000,
2585
                 0x02380000,
2586
                 0x02180000,
2587
                 0x02480000,
2588
                 0x02500000,
2589
                 0x02080000,
2590
                 0x02280000,
2591
                 0x02100000,
2592
                 0x02200000,
2593
                 0x02300000,
2594
                 0x02780000,
2595
                 0x02000000,
2596
                 0x02580000,
2597
                 0x01e80000,
2598
                 0x01c00000,
2599
                 0x01f00000,
2600
                 0x01e00000,
2601
                 0x01b80000,
2602
                 0x01980000,
2603
                 0x01c80000,
2604
                 0x01d00000,
2605
                 0x01880000,
2606
                 0x01a80000,
2607
                 0x01900000,
2608
                 0x01a00000,
2609
                 0x01b00000,
2610
                 0x01f80000,
2611
                 0x01800000,
2612
                 0x01d80000,
2613
                 0x04680000,
2614
                 0x04400000,
2615
                 0x04700000,
2616
                 0x04600000,
2617
                 0x04380000,
2618
                 0x04180000,
2619
                 0x04480000,
2620
                 0x04500000,
2621
                 0x04080000,
2622
                 0x04280000,
2623
                 0x04100000,
2624
                 0x04200000,
2625
                 0x04300000,
2626
                 0x04780000,
2627
                 0x04000000,
2628
                 0x04580000,
2629
                 /* 2 */
2630
                 0x18000004,
2631
                 0x70000004,
2632
                 0x28000004,
2633
                 0x48000004,
2634
                 0x30000004,
2635
                 0x40000004,
2636
                 0x00000004,
2637
                 0x68000004,
2638
                 0x50000004,
2639
                 0x58000004,
2640
                 0x38000004,
2641
                 0x60000004,
2642
                 0x10000004,
2643
                 0x08000004,
2644
                 0x78000004,
2645
                 0x20000004,
2646
                 0x98000007,
2647
                 0xf0000007,
2648
                 0xa8000007,
2649
                 0xc8000007,
2650
                 0xb0000007,
2651
                 0xc0000007,
2652
                 0x80000007,
2653
                 0xe8000007,
2654
                 0xd0000007,
2655
                 0xd8000007,
2656
                 0xb8000007,
2657
                 0xe0000007,
2658
                 0x90000007,
2659
                 0x88000007,
2660
                 0xf8000007,
2661
                 0xa0000007,
2662
                 0x18000003,
2663
                 0x70000003,
2664
                 0x28000003,
2665
                 0x48000003,
2666
                 0x30000003,
2667
                 0x40000003,
2668
                 0x00000003,
2669
                 0x68000003,
2670
                 0x50000003,
2671
                 0x58000003,
2672
                 0x38000003,
2673
                 0x60000003,
2674
                 0x10000003,
2675
                 0x08000003,
2676
                 0x78000003,
2677
                 0x20000003,
2678
                 0x98000005,
2679
                 0xf0000005,
2680
                 0xa8000005,
2681
                 0xc8000005,
2682
                 0xb0000005,
2683
                 0xc0000005,
2684
                 0x80000005,
2685
                 0xe8000005,
2686
                 0xd0000005,
2687
                 0xd8000005,
2688
                 0xb8000005,
2689
                 0xe0000005,
2690
                 0x90000005,
2691
                 0x88000005,
2692
                 0xf8000005,
2693
                 0xa0000005,
2694
                 0x98000000,
2695
                 0xf0000000,
2696
                 0xa8000000,
2697
                 0xc8000000,
2698
                 0xb0000000,
2699
                 0xc0000000,
2700
                 0x80000000,
2701
                 0xe8000000,
2702
                 0xd0000000,
2703
                 0xd8000000,
2704
                 0xb8000000,
2705
                 0xe0000000,
2706
                 0x90000000,
2707
                 0x88000000,
2708
                 0xf8000000,
2709
                 0xa0000000,
2710
                 0x98000004,
2711
                 0xf0000004,
2712
                 0xa8000004,
2713
                 0xc8000004,
2714
                 0xb0000004,
2715
                 0xc0000004,
2716
                 0x80000004,
2717
                 0xe8000004,
2718
                 0xd0000004,
2719
                 0xd8000004,
2720
                 0xb8000004,
2721
                 0xe0000004,
2722
                 0x90000004,
2723
                 0x88000004,
2724
                 0xf8000004,
2725
                 0xa0000004,
2726
                 0x18000006,
2727
                 0x70000006,
2728
                 0x28000006,
2729
                 0x48000006,
2730
                 0x30000006,
2731
                 0x40000006,
2732
                 0x00000006,
2733
                 0x68000006,
2734
                 0x50000006,
2735
                 0x58000006,
2736
                 0x38000006,
2737
                 0x60000006,
2738
                 0x10000006,
2739
                 0x08000006,
2740
                 0x78000006,
2741
                 0x20000006,
2742
                 0x98000002,
2743
                 0xf0000002,
2744
                 0xa8000002,
2745
                 0xc8000002,
2746
                 0xb0000002,
2747
                 0xc0000002,
2748
                 0x80000002,
2749
                 0xe8000002,
2750
                 0xd0000002,
2751
                 0xd8000002,
2752
                 0xb8000002,
2753
                 0xe0000002,
2754
                 0x90000002,
2755
                 0x88000002,
2756
                 0xf8000002,
2757
                 0xa0000002,
2758
                 0x98000006,
2759
                 0xf0000006,
2760
                 0xa8000006,
2761
                 0xc8000006,
2762
                 0xb0000006,
2763
                 0xc0000006,
2764
                 0x80000006,
2765
                 0xe8000006,
2766
                 0xd0000006,
2767
                 0xd8000006,
2768
                 0xb8000006,
2769
                 0xe0000006,
2770
                 0x90000006,
2771
                 0x88000006,
2772
                 0xf8000006,
2773
                 0xa0000006,
2774
                 0x98000001,
2775
                 0xf0000001,
2776
                 0xa8000001,
2777
                 0xc8000001,
2778
                 0xb0000001,
2779
                 0xc0000001,
2780
                 0x80000001,
2781
                 0xe8000001,
2782
                 0xd0000001,
2783
                 0xd8000001,
2784
                 0xb8000001,
2785
                 0xe0000001,
2786
                 0x90000001,
2787
                 0x88000001,
2788
                 0xf8000001,
2789
                 0xa0000001,
2790
                 0x98000003,
2791
                 0xf0000003,
2792
                 0xa8000003,
2793
                 0xc8000003,
2794
                 0xb0000003,
2795
                 0xc0000003,
2796
                 0x80000003,
2797
                 0xe8000003,
2798
                 0xd0000003,
2799
                 0xd8000003,
2800
                 0xb8000003,
2801
                 0xe0000003,
2802
                 0x90000003,
2803
                 0x88000003,
2804
                 0xf8000003,
2805
                 0xa0000003,
2806
                 0x18000005,
2807
                 0x70000005,
2808
                 0x28000005,
2809
                 0x48000005,
2810
                 0x30000005,
2811
                 0x40000005,
2812
                 0x00000005,
2813
                 0x68000005,
2814
                 0x50000005,
2815
                 0x58000005,
2816
                 0x38000005,
2817
                 0x60000005,
2818
                 0x10000005,
2819
                 0x08000005,
2820
                 0x78000005,
2821
                 0x20000005,
2822
                 0x18000000,
2823
                 0x70000000,
2824
                 0x28000000,
2825
                 0x48000000,
2826
                 0x30000000,
2827
                 0x40000000,
2828
                 0x00000000,
2829
                 0x68000000,
2830
                 0x50000000,
2831
                 0x58000000,
2832
                 0x38000000,
2833
                 0x60000000,
2834
                 0x10000000,
2835
                 0x08000000,
2836
                 0x78000000,
2837
                 0x20000000,
2838
                 0x18000007,
2839
                 0x70000007,
2840
                 0x28000007,
2841
                 0x48000007,
2842
                 0x30000007,
2843
                 0x40000007,
2844
                 0x00000007,
2845
                 0x68000007,
2846
                 0x50000007,
2847
                 0x58000007,
2848
                 0x38000007,
2849
                 0x60000007,
2850
                 0x10000007,
2851
                 0x08000007,
2852
                 0x78000007,
2853
                 0x20000007,
2854
                 0x18000001,
2855
                 0x70000001,
2856
                 0x28000001,
2857
                 0x48000001,
2858
                 0x30000001,
2859
                 0x40000001,
2860
                 0x00000001,
2861
                 0x68000001,
2862
                 0x50000001,
2863
                 0x58000001,
2864
                 0x38000001,
2865
                 0x60000001,
2866
                 0x10000001,
2867
                 0x08000001,
2868
                 0x78000001,
2869
                 0x20000001,
2870
                 0x18000002,
2871
                 0x70000002,
2872
                 0x28000002,
2873
                 0x48000002,
2874
                 0x30000002,
2875
                 0x40000002,
2876
                 0x00000002,
2877
                 0x68000002,
2878
                 0x50000002,
2879
                 0x58000002,
2880
                 0x38000002,
2881
                 0x60000002,
2882
                 0x10000002,
2883
                 0x08000002,
2884
                 0x78000002,
2885
                 0x20000002,
2886
                 /* 3 */
2887
                 0x00000648,
2888
                 0x00000658,
2889
                 0x00000660,
2890
                 0x00000600,
2891
                 0x00000618,
2892
                 0x00000630,
2893
                 0x00000638,
2894
                 0x00000628,
2895
                 0x00000620,
2896
                 0x00000640,
2897
                 0x00000670,
2898
                 0x00000678,
2899
                 0x00000608,
2900
                 0x00000650,
2901
                 0x00000610,
2902
                 0x00000668,
2903
                 0x00000348,
2904
                 0x00000358,
2905
                 0x00000360,
2906
                 0x00000300,
2907
                 0x00000318,
2908
                 0x00000330,
2909
                 0x00000338,
2910
                 0x00000328,
2911
                 0x00000320,
2912
                 0x00000340,
2913
                 0x00000370,
2914
                 0x00000378,
2915
                 0x00000308,
2916
                 0x00000350,
2917
                 0x00000310,
2918
                 0x00000368,
2919
                 0x000002c8,
2920
                 0x000002d8,
2921
                 0x000002e0,
2922
                 0x00000280,
2923
                 0x00000298,
2924
                 0x000002b0,
2925
                 0x000002b8,
2926
                 0x000002a8,
2927
                 0x000002a0,
2928
                 0x000002c0,
2929
                 0x000002f0,
2930
                 0x000002f8,
2931
                 0x00000288,
2932
                 0x000002d0,
2933
                 0x00000290,
2934
                 0x000002e8,
2935
                 0x00000148,
2936
                 0x00000158,
2937
                 0x00000160,
2938
                 0x00000100,
2939
                 0x00000118,
2940
                 0x00000130,
2941
                 0x00000138,
2942
                 0x00000128,
2943
                 0x00000120,
2944
                 0x00000140,
2945
                 0x00000170,
2946
                 0x00000178,
2947
                 0x00000108,
2948
                 0x00000150,
2949
                 0x00000110,
2950
                 0x00000168,
2951
                 0x000005c8,
2952
                 0x000005d8,
2953
                 0x000005e0,
2954
                 0x00000580,
2955
                 0x00000598,
2956
                 0x000005b0,
2957
                 0x000005b8,
2958
                 0x000005a8,
2959
                 0x000005a0,
2960
                 0x000005c0,
2961
                 0x000005f0,
2962
                 0x000005f8,
2963
                 0x00000588,
2964
                 0x000005d0,
2965
                 0x00000590,
2966
                 0x000005e8,
2967
                 0x00000048,
2968
                 0x00000058,
2969
                 0x00000060,
2970
                 0x00000000,
2971
                 0x00000018,
2972
                 0x00000030,
2973
                 0x00000038,
2974
                 0x00000028,
2975
                 0x00000020,
2976
                 0x00000040,
2977
                 0x00000070,
2978
                 0x00000078,
2979
                 0x00000008,
2980
                 0x00000050,
2981
                 0x00000010,
2982
                 0x00000068,
2983
                 0x000004c8,
2984
                 0x000004d8,
2985
                 0x000004e0,
2986
                 0x00000480,
2987
                 0x00000498,
2988
                 0x000004b0,
2989
                 0x000004b8,
2990
                 0x000004a8,
2991
                 0x000004a0,
2992
                 0x000004c0,
2993
                 0x000004f0,
2994
                 0x000004f8,
2995
                 0x00000488,
2996
                 0x000004d0,
2997
                 0x00000490,
2998
                 0x000004e8,
2999
                 0x000006c8,
3000
                 0x000006d8,
3001
                 0x000006e0,
3002
                 0x00000680,
3003
                 0x00000698,
3004
                 0x000006b0,
3005
                 0x000006b8,
3006
                 0x000006a8,
3007
                 0x000006a0,
3008
                 0x000006c0,
3009
                 0x000006f0,
3010
                 0x000006f8,
3011
                 0x00000688,
3012
                 0x000006d0,
3013
                 0x00000690,
3014
                 0x000006e8,
3015
                 0x000001c8,
3016
                 0x000001d8,
3017
                 0x000001e0,
3018
                 0x00000180,
3019
                 0x00000198,
3020
                 0x000001b0,
3021
                 0x000001b8,
3022
                 0x000001a8,
3023
                 0x000001a0,
3024
                 0x000001c0,
3025
                 0x000001f0,
3026
                 0x000001f8,
3027
                 0x00000188,
3028
                 0x000001d0,
3029
                 0x00000190,
3030
                 0x000001e8,
3031
                 0x00000748,
3032
                 0x00000758,
3033
                 0x00000760,
3034
                 0x00000700,
3035
                 0x00000718,
3036
                 0x00000730,
3037
                 0x00000738,
3038
                 0x00000728,
3039
                 0x00000720,
3040
                 0x00000740,
3041
                 0x00000770,
3042
                 0x00000778,
3043
                 0x00000708,
3044
                 0x00000750,
3045
                 0x00000710,
3046
                 0x00000768,
3047
                 0x000003c8,
3048
                 0x000003d8,
3049
                 0x000003e0,
3050
                 0x00000380,
3051
                 0x00000398,
3052
                 0x000003b0,
3053
                 0x000003b8,
3054
                 0x000003a8,
3055
                 0x000003a0,
3056
                 0x000003c0,
3057
                 0x000003f0,
3058
                 0x000003f8,
3059
                 0x00000388,
3060
                 0x000003d0,
3061
                 0x00000390,
3062
                 0x000003e8,
3063
                 0x00000548,
3064
                 0x00000558,
3065
                 0x00000560,
3066
                 0x00000500,
3067
                 0x00000518,
3068
                 0x00000530,
3069
                 0x00000538,
3070
                 0x00000528,
3071
                 0x00000520,
3072
                 0x00000540,
3073
                 0x00000570,
3074
                 0x00000578,
3075
                 0x00000508,
3076
                 0x00000550,
3077
                 0x00000510,
3078
                 0x00000568,
3079
                 0x000007c8,
3080
                 0x000007d8,
3081
                 0x000007e0,
3082
                 0x00000780,
3083
                 0x00000798,
3084
                 0x000007b0,
3085
                 0x000007b8,
3086
                 0x000007a8,
3087
                 0x000007a0,
3088
                 0x000007c0,
3089
                 0x000007f0,
3090
                 0x000007f8,
3091
                 0x00000788,
3092
                 0x000007d0,
3093
                 0x00000790,
3094
                 0x000007e8,
3095
                 0x00000248,
3096
                 0x00000258,
3097
                 0x00000260,
3098
                 0x00000200,
3099
                 0x00000218,
3100
                 0x00000230,
3101
                 0x00000238,
3102
                 0x00000228,
3103
                 0x00000220,
3104
                 0x00000240,
3105
                 0x00000270,
3106
                 0x00000278,
3107
                 0x00000208,
3108
                 0x00000250,
3109
                 0x00000210,
3110
                 0x00000268,
3111
                 0x000000c8,
3112
                 0x000000d8,
3113
                 0x000000e0,
3114
                 0x00000080,
3115
                 0x00000098,
3116
                 0x000000b0,
3117
                 0x000000b8,
3118
                 0x000000a8,
3119
                 0x000000a0,
3120
                 0x000000c0,
3121
                 0x000000f0,
3122
                 0x000000f8,
3123
                 0x00000088,
3124
                 0x000000d0,
3125
                 0x00000090,
3126
                 0x000000e8,
3127
                 0x00000448,
3128
                 0x00000458,
3129
                 0x00000460,
3130
                 0x00000400,
3131
                 0x00000418,
3132
                 0x00000430,
3133
                 0x00000438,
3134
                 0x00000428,
3135
                 0x00000420,
3136
                 0x00000440,
3137
                 0x00000470,
3138
                 0x00000478,
3139
                 0x00000408,
3140
                 0x00000450,
3141
                 0x00000410,
3142
                 0x00000468,
3143
               } };
3144
3145
const struct gost28147_param gost28147_param_CryptoPro_A = { 1,
3146
                   {
3147
                     /* 0 */
3148
                     0x0001c800,
3149
                     0x0001b000,
3150
                     0x00019800,
3151
                     0x00019000,
3152
                     0x0001c000,
3153
                     0x0001d800,
3154
                     0x00018800,
3155
                     0x0001b800,
3156
                     0x0001d000,
3157
                     0x0001a000,
3158
                     0x0001f000,
3159
                     0x0001f800,
3160
                     0x0001e000,
3161
                     0x00018000,
3162
                     0x0001e800,
3163
                     0x0001a800,
3164
                     0x0003c800,
3165
                     0x0003b000,
3166
                     0x00039800,
3167
                     0x00039000,
3168
                     0x0003c000,
3169
                     0x0003d800,
3170
                     0x00038800,
3171
                     0x0003b800,
3172
                     0x0003d000,
3173
                     0x0003a000,
3174
                     0x0003f000,
3175
                     0x0003f800,
3176
                     0x0003e000,
3177
                     0x00038000,
3178
                     0x0003e800,
3179
                     0x0003a800,
3180
                     0x00074800,
3181
                     0x00073000,
3182
                     0x00071800,
3183
                     0x00071000,
3184
                     0x00074000,
3185
                     0x00075800,
3186
                     0x00070800,
3187
                     0x00073800,
3188
                     0x00075000,
3189
                     0x00072000,
3190
                     0x00077000,
3191
                     0x00077800,
3192
                     0x00076000,
3193
                     0x00070000,
3194
                     0x00076800,
3195
                     0x00072800,
3196
                     0x0004c800,
3197
                     0x0004b000,
3198
                     0x00049800,
3199
                     0x00049000,
3200
                     0x0004c000,
3201
                     0x0004d800,
3202
                     0x00048800,
3203
                     0x0004b800,
3204
                     0x0004d000,
3205
                     0x0004a000,
3206
                     0x0004f000,
3207
                     0x0004f800,
3208
                     0x0004e000,
3209
                     0x00048000,
3210
                     0x0004e800,
3211
                     0x0004a800,
3212
                     0x00044800,
3213
                     0x00043000,
3214
                     0x00041800,
3215
                     0x00041000,
3216
                     0x00044000,
3217
                     0x00045800,
3218
                     0x00040800,
3219
                     0x00043800,
3220
                     0x00045000,
3221
                     0x00042000,
3222
                     0x00047000,
3223
                     0x00047800,
3224
                     0x00046000,
3225
                     0x00040000,
3226
                     0x00046800,
3227
                     0x00042800,
3228
                     0x00054800,
3229
                     0x00053000,
3230
                     0x00051800,
3231
                     0x00051000,
3232
                     0x00054000,
3233
                     0x00055800,
3234
                     0x00050800,
3235
                     0x00053800,
3236
                     0x00055000,
3237
                     0x00052000,
3238
                     0x00057000,
3239
                     0x00057800,
3240
                     0x00056000,
3241
                     0x00050000,
3242
                     0x00056800,
3243
                     0x00052800,
3244
                     0x0007c800,
3245
                     0x0007b000,
3246
                     0x00079800,
3247
                     0x00079000,
3248
                     0x0007c000,
3249
                     0x0007d800,
3250
                     0x00078800,
3251
                     0x0007b800,
3252
                     0x0007d000,
3253
                     0x0007a000,
3254
                     0x0007f000,
3255
                     0x0007f800,
3256
                     0x0007e000,
3257
                     0x00078000,
3258
                     0x0007e800,
3259
                     0x0007a800,
3260
                     0x00004800,
3261
                     0x00003000,
3262
                     0x00001800,
3263
                     0x00001000,
3264
                     0x00004000,
3265
                     0x00005800,
3266
                     0x00000800,
3267
                     0x00003800,
3268
                     0x00005000,
3269
                     0x00002000,
3270
                     0x00007000,
3271
                     0x00007800,
3272
                     0x00006000,
3273
                     0x00000000,
3274
                     0x00006800,
3275
                     0x00002800,
3276
                     0x0002c800,
3277
                     0x0002b000,
3278
                     0x00029800,
3279
                     0x00029000,
3280
                     0x0002c000,
3281
                     0x0002d800,
3282
                     0x00028800,
3283
                     0x0002b800,
3284
                     0x0002d000,
3285
                     0x0002a000,
3286
                     0x0002f000,
3287
                     0x0002f800,
3288
                     0x0002e000,
3289
                     0x00028000,
3290
                     0x0002e800,
3291
                     0x0002a800,
3292
                     0x00014800,
3293
                     0x00013000,
3294
                     0x00011800,
3295
                     0x00011000,
3296
                     0x00014000,
3297
                     0x00015800,
3298
                     0x00010800,
3299
                     0x00013800,
3300
                     0x00015000,
3301
                     0x00012000,
3302
                     0x00017000,
3303
                     0x00017800,
3304
                     0x00016000,
3305
                     0x00010000,
3306
                     0x00016800,
3307
                     0x00012800,
3308
                     0x00034800,
3309
                     0x00033000,
3310
                     0x00031800,
3311
                     0x00031000,
3312
                     0x00034000,
3313
                     0x00035800,
3314
                     0x00030800,
3315
                     0x00033800,
3316
                     0x00035000,
3317
                     0x00032000,
3318
                     0x00037000,
3319
                     0x00037800,
3320
                     0x00036000,
3321
                     0x00030000,
3322
                     0x00036800,
3323
                     0x00032800,
3324
                     0x00064800,
3325
                     0x00063000,
3326
                     0x00061800,
3327
                     0x00061000,
3328
                     0x00064000,
3329
                     0x00065800,
3330
                     0x00060800,
3331
                     0x00063800,
3332
                     0x00065000,
3333
                     0x00062000,
3334
                     0x00067000,
3335
                     0x00067800,
3336
                     0x00066000,
3337
                     0x00060000,
3338
                     0x00066800,
3339
                     0x00062800,
3340
                     0x0005c800,
3341
                     0x0005b000,
3342
                     0x00059800,
3343
                     0x00059000,
3344
                     0x0005c000,
3345
                     0x0005d800,
3346
                     0x00058800,
3347
                     0x0005b800,
3348
                     0x0005d000,
3349
                     0x0005a000,
3350
                     0x0005f000,
3351
                     0x0005f800,
3352
                     0x0005e000,
3353
                     0x00058000,
3354
                     0x0005e800,
3355
                     0x0005a800,
3356
                     0x00024800,
3357
                     0x00023000,
3358
                     0x00021800,
3359
                     0x00021000,
3360
                     0x00024000,
3361
                     0x00025800,
3362
                     0x00020800,
3363
                     0x00023800,
3364
                     0x00025000,
3365
                     0x00022000,
3366
                     0x00027000,
3367
                     0x00027800,
3368
                     0x00026000,
3369
                     0x00020000,
3370
                     0x00026800,
3371
                     0x00022800,
3372
                     0x0006c800,
3373
                     0x0006b000,
3374
                     0x00069800,
3375
                     0x00069000,
3376
                     0x0006c000,
3377
                     0x0006d800,
3378
                     0x00068800,
3379
                     0x0006b800,
3380
                     0x0006d000,
3381
                     0x0006a000,
3382
                     0x0006f000,
3383
                     0x0006f800,
3384
                     0x0006e000,
3385
                     0x00068000,
3386
                     0x0006e800,
3387
                     0x0006a800,
3388
                     0x0000c800,
3389
                     0x0000b000,
3390
                     0x00009800,
3391
                     0x00009000,
3392
                     0x0000c000,
3393
                     0x0000d800,
3394
                     0x00008800,
3395
                     0x0000b800,
3396
                     0x0000d000,
3397
                     0x0000a000,
3398
                     0x0000f000,
3399
                     0x0000f800,
3400
                     0x0000e000,
3401
                     0x00008000,
3402
                     0x0000e800,
3403
                     0x0000a800,
3404
                     /* 1 */
3405
                     0x07700000,
3406
                     0x07200000,
3407
                     0x07300000,
3408
                     0x07100000,
3409
                     0x07580000,
3410
                     0x07180000,
3411
                     0x07680000,
3412
                     0x07400000,
3413
                     0x07600000,
3414
                     0x07780000,
3415
                     0x07280000,
3416
                     0x07500000,
3417
                     0x07000000,
3418
                     0x07380000,
3419
                     0x07080000,
3420
                     0x07480000,
3421
                     0x03f00000,
3422
                     0x03a00000,
3423
                     0x03b00000,
3424
                     0x03900000,
3425
                     0x03d80000,
3426
                     0x03980000,
3427
                     0x03e80000,
3428
                     0x03c00000,
3429
                     0x03e00000,
3430
                     0x03f80000,
3431
                     0x03a80000,
3432
                     0x03d00000,
3433
                     0x03800000,
3434
                     0x03b80000,
3435
                     0x03880000,
3436
                     0x03c80000,
3437
                     0x05700000,
3438
                     0x05200000,
3439
                     0x05300000,
3440
                     0x05100000,
3441
                     0x05580000,
3442
                     0x05180000,
3443
                     0x05680000,
3444
                     0x05400000,
3445
                     0x05600000,
3446
                     0x05780000,
3447
                     0x05280000,
3448
                     0x05500000,
3449
                     0x05000000,
3450
                     0x05380000,
3451
                     0x05080000,
3452
                     0x05480000,
3453
                     0x06700000,
3454
                     0x06200000,
3455
                     0x06300000,
3456
                     0x06100000,
3457
                     0x06580000,
3458
                     0x06180000,
3459
                     0x06680000,
3460
                     0x06400000,
3461
                     0x06600000,
3462
                     0x06780000,
3463
                     0x06280000,
3464
                     0x06500000,
3465
                     0x06000000,
3466
                     0x06380000,
3467
                     0x06080000,
3468
                     0x06480000,
3469
                     0x06f00000,
3470
                     0x06a00000,
3471
                     0x06b00000,
3472
                     0x06900000,
3473
                     0x06d80000,
3474
                     0x06980000,
3475
                     0x06e80000,
3476
                     0x06c00000,
3477
                     0x06e00000,
3478
                     0x06f80000,
3479
                     0x06a80000,
3480
                     0x06d00000,
3481
                     0x06800000,
3482
                     0x06b80000,
3483
                     0x06880000,
3484
                     0x06c80000,
3485
                     0x00f00000,
3486
                     0x00a00000,
3487
                     0x00b00000,
3488
                     0x00900000,
3489
                     0x00d80000,
3490
                     0x00980000,
3491
                     0x00e80000,
3492
                     0x00c00000,
3493
                     0x00e00000,
3494
                     0x00f80000,
3495
                     0x00a80000,
3496
                     0x00d00000,
3497
                     0x00800000,
3498
                     0x00b80000,
3499
                     0x00880000,
3500
                     0x00c80000,
3501
                     0x01f00000,
3502
                     0x01a00000,
3503
                     0x01b00000,
3504
                     0x01900000,
3505
                     0x01d80000,
3506
                     0x01980000,
3507
                     0x01e80000,
3508
                     0x01c00000,
3509
                     0x01e00000,
3510
                     0x01f80000,
3511
                     0x01a80000,
3512
                     0x01d00000,
3513
                     0x01800000,
3514
                     0x01b80000,
3515
                     0x01880000,
3516
                     0x01c80000,
3517
                     0x04f00000,
3518
                     0x04a00000,
3519
                     0x04b00000,
3520
                     0x04900000,
3521
                     0x04d80000,
3522
                     0x04980000,
3523
                     0x04e80000,
3524
                     0x04c00000,
3525
                     0x04e00000,
3526
                     0x04f80000,
3527
                     0x04a80000,
3528
                     0x04d00000,
3529
                     0x04800000,
3530
                     0x04b80000,
3531
                     0x04880000,
3532
                     0x04c80000,
3533
                     0x00700000,
3534
                     0x00200000,
3535
                     0x00300000,
3536
                     0x00100000,
3537
                     0x00580000,
3538
                     0x00180000,
3539
                     0x00680000,
3540
                     0x00400000,
3541
                     0x00600000,
3542
                     0x00780000,
3543
                     0x00280000,
3544
                     0x00500000,
3545
                     0x00000000,
3546
                     0x00380000,
3547
                     0x00080000,
3548
                     0x00480000,
3549
                     0x01700000,
3550
                     0x01200000,
3551
                     0x01300000,
3552
                     0x01100000,
3553
                     0x01580000,
3554
                     0x01180000,
3555
                     0x01680000,
3556
                     0x01400000,
3557
                     0x01600000,
3558
                     0x01780000,
3559
                     0x01280000,
3560
                     0x01500000,
3561
                     0x01000000,
3562
                     0x01380000,
3563
                     0x01080000,
3564
                     0x01480000,
3565
                     0x05f00000,
3566
                     0x05a00000,
3567
                     0x05b00000,
3568
                     0x05900000,
3569
                     0x05d80000,
3570
                     0x05980000,
3571
                     0x05e80000,
3572
                     0x05c00000,
3573
                     0x05e00000,
3574
                     0x05f80000,
3575
                     0x05a80000,
3576
                     0x05d00000,
3577
                     0x05800000,
3578
                     0x05b80000,
3579
                     0x05880000,
3580
                     0x05c80000,
3581
                     0x02700000,
3582
                     0x02200000,
3583
                     0x02300000,
3584
                     0x02100000,
3585
                     0x02580000,
3586
                     0x02180000,
3587
                     0x02680000,
3588
                     0x02400000,
3589
                     0x02600000,
3590
                     0x02780000,
3591
                     0x02280000,
3592
                     0x02500000,
3593
                     0x02000000,
3594
                     0x02380000,
3595
                     0x02080000,
3596
                     0x02480000,
3597
                     0x07f00000,
3598
                     0x07a00000,
3599
                     0x07b00000,
3600
                     0x07900000,
3601
                     0x07d80000,
3602
                     0x07980000,
3603
                     0x07e80000,
3604
                     0x07c00000,
3605
                     0x07e00000,
3606
                     0x07f80000,
3607
                     0x07a80000,
3608
                     0x07d00000,
3609
                     0x07800000,
3610
                     0x07b80000,
3611
                     0x07880000,
3612
                     0x07c80000,
3613
                     0x04700000,
3614
                     0x04200000,
3615
                     0x04300000,
3616
                     0x04100000,
3617
                     0x04580000,
3618
                     0x04180000,
3619
                     0x04680000,
3620
                     0x04400000,
3621
                     0x04600000,
3622
                     0x04780000,
3623
                     0x04280000,
3624
                     0x04500000,
3625
                     0x04000000,
3626
                     0x04380000,
3627
                     0x04080000,
3628
                     0x04480000,
3629
                     0x02f00000,
3630
                     0x02a00000,
3631
                     0x02b00000,
3632
                     0x02900000,
3633
                     0x02d80000,
3634
                     0x02980000,
3635
                     0x02e80000,
3636
                     0x02c00000,
3637
                     0x02e00000,
3638
                     0x02f80000,
3639
                     0x02a80000,
3640
                     0x02d00000,
3641
                     0x02800000,
3642
                     0x02b80000,
3643
                     0x02880000,
3644
                     0x02c80000,
3645
                     0x03700000,
3646
                     0x03200000,
3647
                     0x03300000,
3648
                     0x03100000,
3649
                     0x03580000,
3650
                     0x03180000,
3651
                     0x03680000,
3652
                     0x03400000,
3653
                     0x03600000,
3654
                     0x03780000,
3655
                     0x03280000,
3656
                     0x03500000,
3657
                     0x03000000,
3658
                     0x03380000,
3659
                     0x03080000,
3660
                     0x03480000,
3661
                     /* 2 */
3662
                     0xd8000001,
3663
                     0xa8000001,
3664
                     0x88000001,
3665
                     0xc8000001,
3666
                     0xc0000001,
3667
                     0xe8000001,
3668
                     0xf8000001,
3669
                     0x80000001,
3670
                     0xf0000001,
3671
                     0xa0000001,
3672
                     0x90000001,
3673
                     0x98000001,
3674
                     0xe0000001,
3675
                     0xb8000001,
3676
                     0xd0000001,
3677
                     0xb0000001,
3678
                     0x58000005,
3679
                     0x28000005,
3680
                     0x08000005,
3681
                     0x48000005,
3682
                     0x40000005,
3683
                     0x68000005,
3684
                     0x78000005,
3685
                     0x00000005,
3686
                     0x70000005,
3687
                     0x20000005,
3688
                     0x10000005,
3689
                     0x18000005,
3690
                     0x60000005,
3691
                     0x38000005,
3692
                     0x50000005,
3693
                     0x30000005,
3694
                     0xd8000006,
3695
                     0xa8000006,
3696
                     0x88000006,
3697
                     0xc8000006,
3698
                     0xc0000006,
3699
                     0xe8000006,
3700
                     0xf8000006,
3701
                     0x80000006,
3702
                     0xf0000006,
3703
                     0xa0000006,
3704
                     0x90000006,
3705
                     0x98000006,
3706
                     0xe0000006,
3707
                     0xb8000006,
3708
                     0xd0000006,
3709
                     0xb0000006,
3710
                     0x58000006,
3711
                     0x28000006,
3712
                     0x08000006,
3713
                     0x48000006,
3714
                     0x40000006,
3715
                     0x68000006,
3716
                     0x78000006,
3717
                     0x00000006,
3718
                     0x70000006,
3719
                     0x20000006,
3720
                     0x10000006,
3721
                     0x18000006,
3722
                     0x60000006,
3723
                     0x38000006,
3724
                     0x50000006,
3725
                     0x30000006,
3726
                     0xd8000000,
3727
                     0xa8000000,
3728
                     0x88000000,
3729
                     0xc8000000,
3730
                     0xc0000000,
3731
                     0xe8000000,
3732
                     0xf8000000,
3733
                     0x80000000,
3734
                     0xf0000000,
3735
                     0xa0000000,
3736
                     0x90000000,
3737
                     0x98000000,
3738
                     0xe0000000,
3739
                     0xb8000000,
3740
                     0xd0000000,
3741
                     0xb0000000,
3742
                     0x58000001,
3743
                     0x28000001,
3744
                     0x08000001,
3745
                     0x48000001,
3746
                     0x40000001,
3747
                     0x68000001,
3748
                     0x78000001,
3749
                     0x00000001,
3750
                     0x70000001,
3751
                     0x20000001,
3752
                     0x10000001,
3753
                     0x18000001,
3754
                     0x60000001,
3755
                     0x38000001,
3756
                     0x50000001,
3757
                     0x30000001,
3758
                     0x58000000,
3759
                     0x28000000,
3760
                     0x08000000,
3761
                     0x48000000,
3762
                     0x40000000,
3763
                     0x68000000,
3764
                     0x78000000,
3765
                     0x00000000,
3766
                     0x70000000,
3767
                     0x20000000,
3768
                     0x10000000,
3769
                     0x18000000,
3770
                     0x60000000,
3771
                     0x38000000,
3772
                     0x50000000,
3773
                     0x30000000,
3774
                     0xd8000005,
3775
                     0xa8000005,
3776
                     0x88000005,
3777
                     0xc8000005,
3778
                     0xc0000005,
3779
                     0xe8000005,
3780
                     0xf8000005,
3781
                     0x80000005,
3782
                     0xf0000005,
3783
                     0xa0000005,
3784
                     0x90000005,
3785
                     0x98000005,
3786
                     0xe0000005,
3787
                     0xb8000005,
3788
                     0xd0000005,
3789
                     0xb0000005,
3790
                     0xd8000003,
3791
                     0xa8000003,
3792
                     0x88000003,
3793
                     0xc8000003,
3794
                     0xc0000003,
3795
                     0xe8000003,
3796
                     0xf8000003,
3797
                     0x80000003,
3798
                     0xf0000003,
3799
                     0xa0000003,
3800
                     0x90000003,
3801
                     0x98000003,
3802
                     0xe0000003,
3803
                     0xb8000003,
3804
                     0xd0000003,
3805
                     0xb0000003,
3806
                     0xd8000002,
3807
                     0xa8000002,
3808
                     0x88000002,
3809
                     0xc8000002,
3810
                     0xc0000002,
3811
                     0xe8000002,
3812
                     0xf8000002,
3813
                     0x80000002,
3814
                     0xf0000002,
3815
                     0xa0000002,
3816
                     0x90000002,
3817
                     0x98000002,
3818
                     0xe0000002,
3819
                     0xb8000002,
3820
                     0xd0000002,
3821
                     0xb0000002,
3822
                     0xd8000004,
3823
                     0xa8000004,
3824
                     0x88000004,
3825
                     0xc8000004,
3826
                     0xc0000004,
3827
                     0xe8000004,
3828
                     0xf8000004,
3829
                     0x80000004,
3830
                     0xf0000004,
3831
                     0xa0000004,
3832
                     0x90000004,
3833
                     0x98000004,
3834
                     0xe0000004,
3835
                     0xb8000004,
3836
                     0xd0000004,
3837
                     0xb0000004,
3838
                     0x58000002,
3839
                     0x28000002,
3840
                     0x08000002,
3841
                     0x48000002,
3842
                     0x40000002,
3843
                     0x68000002,
3844
                     0x78000002,
3845
                     0x00000002,
3846
                     0x70000002,
3847
                     0x20000002,
3848
                     0x10000002,
3849
                     0x18000002,
3850
                     0x60000002,
3851
                     0x38000002,
3852
                     0x50000002,
3853
                     0x30000002,
3854
                     0x58000004,
3855
                     0x28000004,
3856
                     0x08000004,
3857
                     0x48000004,
3858
                     0x40000004,
3859
                     0x68000004,
3860
                     0x78000004,
3861
                     0x00000004,
3862
                     0x70000004,
3863
                     0x20000004,
3864
                     0x10000004,
3865
                     0x18000004,
3866
                     0x60000004,
3867
                     0x38000004,
3868
                     0x50000004,
3869
                     0x30000004,
3870
                     0xd8000007,
3871
                     0xa8000007,
3872
                     0x88000007,
3873
                     0xc8000007,
3874
                     0xc0000007,
3875
                     0xe8000007,
3876
                     0xf8000007,
3877
                     0x80000007,
3878
                     0xf0000007,
3879
                     0xa0000007,
3880
                     0x90000007,
3881
                     0x98000007,
3882
                     0xe0000007,
3883
                     0xb8000007,
3884
                     0xd0000007,
3885
                     0xb0000007,
3886
                     0x58000007,
3887
                     0x28000007,
3888
                     0x08000007,
3889
                     0x48000007,
3890
                     0x40000007,
3891
                     0x68000007,
3892
                     0x78000007,
3893
                     0x00000007,
3894
                     0x70000007,
3895
                     0x20000007,
3896
                     0x10000007,
3897
                     0x18000007,
3898
                     0x60000007,
3899
                     0x38000007,
3900
                     0x50000007,
3901
                     0x30000007,
3902
                     0x58000003,
3903
                     0x28000003,
3904
                     0x08000003,
3905
                     0x48000003,
3906
                     0x40000003,
3907
                     0x68000003,
3908
                     0x78000003,
3909
                     0x00000003,
3910
                     0x70000003,
3911
                     0x20000003,
3912
                     0x10000003,
3913
                     0x18000003,
3914
                     0x60000003,
3915
                     0x38000003,
3916
                     0x50000003,
3917
                     0x30000003,
3918
                     /* 3 */
3919
                     0x00000588,
3920
                     0x000005e8,
3921
                     0x00000590,
3922
                     0x000005c8,
3923
                     0x000005b8,
3924
                     0x000005d0,
3925
                     0x000005b0,
3926
                     0x00000580,
3927
                     0x000005c0,
3928
                     0x000005e0,
3929
                     0x000005a0,
3930
                     0x000005a8,
3931
                     0x000005f8,
3932
                     0x00000598,
3933
                     0x000005d8,
3934
                     0x000005f0,
3935
                     0x00000508,
3936
                     0x00000568,
3937
                     0x00000510,
3938
                     0x00000548,
3939
                     0x00000538,
3940
                     0x00000550,
3941
                     0x00000530,
3942
                     0x00000500,
3943
                     0x00000540,
3944
                     0x00000560,
3945
                     0x00000520,
3946
                     0x00000528,
3947
                     0x00000578,
3948
                     0x00000518,
3949
                     0x00000558,
3950
                     0x00000570,
3951
                     0x00000788,
3952
                     0x000007e8,
3953
                     0x00000790,
3954
                     0x000007c8,
3955
                     0x000007b8,
3956
                     0x000007d0,
3957
                     0x000007b0,
3958
                     0x00000780,
3959
                     0x000007c0,
3960
                     0x000007e0,
3961
                     0x000007a0,
3962
                     0x000007a8,
3963
                     0x000007f8,
3964
                     0x00000798,
3965
                     0x000007d8,
3966
                     0x000007f0,
3967
                     0x00000288,
3968
                     0x000002e8,
3969
                     0x00000290,
3970
                     0x000002c8,
3971
                     0x000002b8,
3972
                     0x000002d0,
3973
                     0x000002b0,
3974
                     0x00000280,
3975
                     0x000002c0,
3976
                     0x000002e0,
3977
                     0x000002a0,
3978
                     0x000002a8,
3979
                     0x000002f8,
3980
                     0x00000298,
3981
                     0x000002d8,
3982
                     0x000002f0,
3983
                     0x00000008,
3984
                     0x00000068,
3985
                     0x00000010,
3986
                     0x00000048,
3987
                     0x00000038,
3988
                     0x00000050,
3989
                     0x00000030,
3990
                     0x00000000,
3991
                     0x00000040,
3992
                     0x00000060,
3993
                     0x00000020,
3994
                     0x00000028,
3995
                     0x00000078,
3996
                     0x00000018,
3997
                     0x00000058,
3998
                     0x00000070,
3999
                     0x00000608,
4000
                     0x00000668,
4001
                     0x00000610,
4002
                     0x00000648,
4003
                     0x00000638,
4004
                     0x00000650,
4005
                     0x00000630,
4006
                     0x00000600,
4007
                     0x00000640,
4008
                     0x00000660,
4009
                     0x00000620,
4010
                     0x00000628,
4011
                     0x00000678,
4012
                     0x00000618,
4013
                     0x00000658,
4014
                     0x00000670,
4015
                     0x00000708,
4016
                     0x00000768,
4017
                     0x00000710,
4018
                     0x00000748,
4019
                     0x00000738,
4020
                     0x00000750,
4021
                     0x00000730,
4022
                     0x00000700,
4023
                     0x00000740,
4024
                     0x00000760,
4025
                     0x00000720,
4026
                     0x00000728,
4027
                     0x00000778,
4028
                     0x00000718,
4029
                     0x00000758,
4030
                     0x00000770,
4031
                     0x00000408,
4032
                     0x00000468,
4033
                     0x00000410,
4034
                     0x00000448,
4035
                     0x00000438,
4036
                     0x00000450,
4037
                     0x00000430,
4038
                     0x00000400,
4039
                     0x00000440,
4040
                     0x00000460,
4041
                     0x00000420,
4042
                     0x00000428,
4043
                     0x00000478,
4044
                     0x00000418,
4045
                     0x00000458,
4046
                     0x00000470,
4047
                     0x00000308,
4048
                     0x00000368,
4049
                     0x00000310,
4050
                     0x00000348,
4051
                     0x00000338,
4052
                     0x00000350,
4053
                     0x00000330,
4054
                     0x00000300,
4055
                     0x00000340,
4056
                     0x00000360,
4057
                     0x00000320,
4058
                     0x00000328,
4059
                     0x00000378,
4060
                     0x00000318,
4061
                     0x00000358,
4062
                     0x00000370,
4063
                     0x00000108,
4064
                     0x00000168,
4065
                     0x00000110,
4066
                     0x00000148,
4067
                     0x00000138,
4068
                     0x00000150,
4069
                     0x00000130,
4070
                     0x00000100,
4071
                     0x00000140,
4072
                     0x00000160,
4073
                     0x00000120,
4074
                     0x00000128,
4075
                     0x00000178,
4076
                     0x00000118,
4077
                     0x00000158,
4078
                     0x00000170,
4079
                     0x00000188,
4080
                     0x000001e8,
4081
                     0x00000190,
4082
                     0x000001c8,
4083
                     0x000001b8,
4084
                     0x000001d0,
4085
                     0x000001b0,
4086
                     0x00000180,
4087
                     0x000001c0,
4088
                     0x000001e0,
4089
                     0x000001a0,
4090
                     0x000001a8,
4091
                     0x000001f8,
4092
                     0x00000198,
4093
                     0x000001d8,
4094
                     0x000001f0,
4095
                     0x00000488,
4096
                     0x000004e8,
4097
                     0x00000490,
4098
                     0x000004c8,
4099
                     0x000004b8,
4100
                     0x000004d0,
4101
                     0x000004b0,
4102
                     0x00000480,
4103
                     0x000004c0,
4104
                     0x000004e0,
4105
                     0x000004a0,
4106
                     0x000004a8,
4107
                     0x000004f8,
4108
                     0x00000498,
4109
                     0x000004d8,
4110
                     0x000004f0,
4111
                     0x00000088,
4112
                     0x000000e8,
4113
                     0x00000090,
4114
                     0x000000c8,
4115
                     0x000000b8,
4116
                     0x000000d0,
4117
                     0x000000b0,
4118
                     0x00000080,
4119
                     0x000000c0,
4120
                     0x000000e0,
4121
                     0x000000a0,
4122
                     0x000000a8,
4123
                     0x000000f8,
4124
                     0x00000098,
4125
                     0x000000d8,
4126
                     0x000000f0,
4127
                     0x00000388,
4128
                     0x000003e8,
4129
                     0x00000390,
4130
                     0x000003c8,
4131
                     0x000003b8,
4132
                     0x000003d0,
4133
                     0x000003b0,
4134
                     0x00000380,
4135
                     0x000003c0,
4136
                     0x000003e0,
4137
                     0x000003a0,
4138
                     0x000003a8,
4139
                     0x000003f8,
4140
                     0x00000398,
4141
                     0x000003d8,
4142
                     0x000003f0,
4143
                     0x00000688,
4144
                     0x000006e8,
4145
                     0x00000690,
4146
                     0x000006c8,
4147
                     0x000006b8,
4148
                     0x000006d0,
4149
                     0x000006b0,
4150
                     0x00000680,
4151
                     0x000006c0,
4152
                     0x000006e0,
4153
                     0x000006a0,
4154
                     0x000006a8,
4155
                     0x000006f8,
4156
                     0x00000698,
4157
                     0x000006d8,
4158
                     0x000006f0,
4159
                     0x00000208,
4160
                     0x00000268,
4161
                     0x00000210,
4162
                     0x00000248,
4163
                     0x00000238,
4164
                     0x00000250,
4165
                     0x00000230,
4166
                     0x00000200,
4167
                     0x00000240,
4168
                     0x00000260,
4169
                     0x00000220,
4170
                     0x00000228,
4171
                     0x00000278,
4172
                     0x00000218,
4173
                     0x00000258,
4174
                     0x00000270,
4175
                   } };
4176
4177
const struct gost28147_param gost28147_param_CryptoPro_B = { 1,
4178
                   {
4179
                     /* 0 */
4180
                     0x00004000,
4181
                     0x00002000,
4182
                     0x00005800,
4183
                     0x00000800,
4184
                     0x00001800,
4185
                     0x00002800,
4186
                     0x00000000,
4187
                     0x00004800,
4188
                     0x00001000,
4189
                     0x00007000,
4190
                     0x00005000,
4191
                     0x00006000,
4192
                     0x00006800,
4193
                     0x00003000,
4194
                     0x00003800,
4195
                     0x00007800,
4196
                     0x0000c000,
4197
                     0x0000a000,
4198
                     0x0000d800,
4199
                     0x00008800,
4200
                     0x00009800,
4201
                     0x0000a800,
4202
                     0x00008000,
4203
                     0x0000c800,
4204
                     0x00009000,
4205
                     0x0000f000,
4206
                     0x0000d000,
4207
                     0x0000e000,
4208
                     0x0000e800,
4209
                     0x0000b000,
4210
                     0x0000b800,
4211
                     0x0000f800,
4212
                     0x00014000,
4213
                     0x00012000,
4214
                     0x00015800,
4215
                     0x00010800,
4216
                     0x00011800,
4217
                     0x00012800,
4218
                     0x00010000,
4219
                     0x00014800,
4220
                     0x00011000,
4221
                     0x00017000,
4222
                     0x00015000,
4223
                     0x00016000,
4224
                     0x00016800,
4225
                     0x00013000,
4226
                     0x00013800,
4227
                     0x00017800,
4228
                     0x00054000,
4229
                     0x00052000,
4230
                     0x00055800,
4231
                     0x00050800,
4232
                     0x00051800,
4233
                     0x00052800,
4234
                     0x00050000,
4235
                     0x00054800,
4236
                     0x00051000,
4237
                     0x00057000,
4238
                     0x00055000,
4239
                     0x00056000,
4240
                     0x00056800,
4241
                     0x00053000,
4242
                     0x00053800,
4243
                     0x00057800,
4244
                     0x00024000,
4245
                     0x00022000,
4246
                     0x00025800,
4247
                     0x00020800,
4248
                     0x00021800,
4249
                     0x00022800,
4250
                     0x00020000,
4251
                     0x00024800,
4252
                     0x00021000,
4253
                     0x00027000,
4254
                     0x00025000,
4255
                     0x00026000,
4256
                     0x00026800,
4257
                     0x00023000,
4258
                     0x00023800,
4259
                     0x00027800,
4260
                     0x0006c000,
4261
                     0x0006a000,
4262
                     0x0006d800,
4263
                     0x00068800,
4264
                     0x00069800,
4265
                     0x0006a800,
4266
                     0x00068000,
4267
                     0x0006c800,
4268
                     0x00069000,
4269
                     0x0006f000,
4270
                     0x0006d000,
4271
                     0x0006e000,
4272
                     0x0006e800,
4273
                     0x0006b000,
4274
                     0x0006b800,
4275
                     0x0006f800,
4276
                     0x0002c000,
4277
                     0x0002a000,
4278
                     0x0002d800,
4279
                     0x00028800,
4280
                     0x00029800,
4281
                     0x0002a800,
4282
                     0x00028000,
4283
                     0x0002c800,
4284
                     0x00029000,
4285
                     0x0002f000,
4286
                     0x0002d000,
4287
                     0x0002e000,
4288
                     0x0002e800,
4289
                     0x0002b000,
4290
                     0x0002b800,
4291
                     0x0002f800,
4292
                     0x00064000,
4293
                     0x00062000,
4294
                     0x00065800,
4295
                     0x00060800,
4296
                     0x00061800,
4297
                     0x00062800,
4298
                     0x00060000,
4299
                     0x00064800,
4300
                     0x00061000,
4301
                     0x00067000,
4302
                     0x00065000,
4303
                     0x00066000,
4304
                     0x00066800,
4305
                     0x00063000,
4306
                     0x00063800,
4307
                     0x00067800,
4308
                     0x0004c000,
4309
                     0x0004a000,
4310
                     0x0004d800,
4311
                     0x00048800,
4312
                     0x00049800,
4313
                     0x0004a800,
4314
                     0x00048000,
4315
                     0x0004c800,
4316
                     0x00049000,
4317
                     0x0004f000,
4318
                     0x0004d000,
4319
                     0x0004e000,
4320
                     0x0004e800,
4321
                     0x0004b000,
4322
                     0x0004b800,
4323
                     0x0004f800,
4324
                     0x0003c000,
4325
                     0x0003a000,
4326
                     0x0003d800,
4327
                     0x00038800,
4328
                     0x00039800,
4329
                     0x0003a800,
4330
                     0x00038000,
4331
                     0x0003c800,
4332
                     0x00039000,
4333
                     0x0003f000,
4334
                     0x0003d000,
4335
                     0x0003e000,
4336
                     0x0003e800,
4337
                     0x0003b000,
4338
                     0x0003b800,
4339
                     0x0003f800,
4340
                     0x0001c000,
4341
                     0x0001a000,
4342
                     0x0001d800,
4343
                     0x00018800,
4344
                     0x00019800,
4345
                     0x0001a800,
4346
                     0x00018000,
4347
                     0x0001c800,
4348
                     0x00019000,
4349
                     0x0001f000,
4350
                     0x0001d000,
4351
                     0x0001e000,
4352
                     0x0001e800,
4353
                     0x0001b000,
4354
                     0x0001b800,
4355
                     0x0001f800,
4356
                     0x0007c000,
4357
                     0x0007a000,
4358
                     0x0007d800,
4359
                     0x00078800,
4360
                     0x00079800,
4361
                     0x0007a800,
4362
                     0x00078000,
4363
                     0x0007c800,
4364
                     0x00079000,
4365
                     0x0007f000,
4366
                     0x0007d000,
4367
                     0x0007e000,
4368
                     0x0007e800,
4369
                     0x0007b000,
4370
                     0x0007b800,
4371
                     0x0007f800,
4372
                     0x0005c000,
4373
                     0x0005a000,
4374
                     0x0005d800,
4375
                     0x00058800,
4376
                     0x00059800,
4377
                     0x0005a800,
4378
                     0x00058000,
4379
                     0x0005c800,
4380
                     0x00059000,
4381
                     0x0005f000,
4382
                     0x0005d000,
4383
                     0x0005e000,
4384
                     0x0005e800,
4385
                     0x0005b000,
4386
                     0x0005b800,
4387
                     0x0005f800,
4388
                     0x00044000,
4389
                     0x00042000,
4390
                     0x00045800,
4391
                     0x00040800,
4392
                     0x00041800,
4393
                     0x00042800,
4394
                     0x00040000,
4395
                     0x00044800,
4396
                     0x00041000,
4397
                     0x00047000,
4398
                     0x00045000,
4399
                     0x00046000,
4400
                     0x00046800,
4401
                     0x00043000,
4402
                     0x00043800,
4403
                     0x00047800,
4404
                     0x00034000,
4405
                     0x00032000,
4406
                     0x00035800,
4407
                     0x00030800,
4408
                     0x00031800,
4409
                     0x00032800,
4410
                     0x00030000,
4411
                     0x00034800,
4412
                     0x00031000,
4413
                     0x00037000,
4414
                     0x00035000,
4415
                     0x00036000,
4416
                     0x00036800,
4417
                     0x00033000,
4418
                     0x00033800,
4419
                     0x00037800,
4420
                     0x00074000,
4421
                     0x00072000,
4422
                     0x00075800,
4423
                     0x00070800,
4424
                     0x00071800,
4425
                     0x00072800,
4426
                     0x00070000,
4427
                     0x00074800,
4428
                     0x00071000,
4429
                     0x00077000,
4430
                     0x00075000,
4431
                     0x00076000,
4432
                     0x00076800,
4433
                     0x00073000,
4434
                     0x00073800,
4435
                     0x00077800,
4436
                     /* 1 */
4437
                     0x03f00000,
4438
                     0x03e00000,
4439
                     0x03800000,
4440
                     0x03d00000,
4441
                     0x03c80000,
4442
                     0x03900000,
4443
                     0x03e80000,
4444
                     0x03d80000,
4445
                     0x03b80000,
4446
                     0x03a80000,
4447
                     0x03c00000,
4448
                     0x03f80000,
4449
                     0x03980000,
4450
                     0x03b00000,
4451
                     0x03880000,
4452
                     0x03a00000,
4453
                     0x02f00000,
4454
                     0x02e00000,
4455
                     0x02800000,
4456
                     0x02d00000,
4457
                     0x02c80000,
4458
                     0x02900000,
4459
                     0x02e80000,
4460
                     0x02d80000,
4461
                     0x02b80000,
4462
                     0x02a80000,
4463
                     0x02c00000,
4464
                     0x02f80000,
4465
                     0x02980000,
4466
                     0x02b00000,
4467
                     0x02880000,
4468
                     0x02a00000,
4469
                     0x00700000,
4470
                     0x00600000,
4471
                     0x00000000,
4472
                     0x00500000,
4473
                     0x00480000,
4474
                     0x00100000,
4475
                     0x00680000,
4476
                     0x00580000,
4477
                     0x00380000,
4478
                     0x00280000,
4479
                     0x00400000,
4480
                     0x00780000,
4481
                     0x00180000,
4482
                     0x00300000,
4483
                     0x00080000,
4484
                     0x00200000,
4485
                     0x06f00000,
4486
                     0x06e00000,
4487
                     0x06800000,
4488
                     0x06d00000,
4489
                     0x06c80000,
4490
                     0x06900000,
4491
                     0x06e80000,
4492
                     0x06d80000,
4493
                     0x06b80000,
4494
                     0x06a80000,
4495
                     0x06c00000,
4496
                     0x06f80000,
4497
                     0x06980000,
4498
                     0x06b00000,
4499
                     0x06880000,
4500
                     0x06a00000,
4501
                     0x05f00000,
4502
                     0x05e00000,
4503
                     0x05800000,
4504
                     0x05d00000,
4505
                     0x05c80000,
4506
                     0x05900000,
4507
                     0x05e80000,
4508
                     0x05d80000,
4509
                     0x05b80000,
4510
                     0x05a80000,
4511
                     0x05c00000,
4512
                     0x05f80000,
4513
                     0x05980000,
4514
                     0x05b00000,
4515
                     0x05880000,
4516
                     0x05a00000,
4517
                     0x03700000,
4518
                     0x03600000,
4519
                     0x03000000,
4520
                     0x03500000,
4521
                     0x03480000,
4522
                     0x03100000,
4523
                     0x03680000,
4524
                     0x03580000,
4525
                     0x03380000,
4526
                     0x03280000,
4527
                     0x03400000,
4528
                     0x03780000,
4529
                     0x03180000,
4530
                     0x03300000,
4531
                     0x03080000,
4532
                     0x03200000,
4533
                     0x00f00000,
4534
                     0x00e00000,
4535
                     0x00800000,
4536
                     0x00d00000,
4537
                     0x00c80000,
4538
                     0x00900000,
4539
                     0x00e80000,
4540
                     0x00d80000,
4541
                     0x00b80000,
4542
                     0x00a80000,
4543
                     0x00c00000,
4544
                     0x00f80000,
4545
                     0x00980000,
4546
                     0x00b00000,
4547
                     0x00880000,
4548
                     0x00a00000,
4549
                     0x01700000,
4550
                     0x01600000,
4551
                     0x01000000,
4552
                     0x01500000,
4553
                     0x01480000,
4554
                     0x01100000,
4555
                     0x01680000,
4556
                     0x01580000,
4557
                     0x01380000,
4558
                     0x01280000,
4559
                     0x01400000,
4560
                     0x01780000,
4561
                     0x01180000,
4562
                     0x01300000,
4563
                     0x01080000,
4564
                     0x01200000,
4565
                     0x01f00000,
4566
                     0x01e00000,
4567
                     0x01800000,
4568
                     0x01d00000,
4569
                     0x01c80000,
4570
                     0x01900000,
4571
                     0x01e80000,
4572
                     0x01d80000,
4573
                     0x01b80000,
4574
                     0x01a80000,
4575
                     0x01c00000,
4576
                     0x01f80000,
4577
                     0x01980000,
4578
                     0x01b00000,
4579
                     0x01880000,
4580
                     0x01a00000,
4581
                     0x05700000,
4582
                     0x05600000,
4583
                     0x05000000,
4584
                     0x05500000,
4585
                     0x05480000,
4586
                     0x05100000,
4587
                     0x05680000,
4588
                     0x05580000,
4589
                     0x05380000,
4590
                     0x05280000,
4591
                     0x05400000,
4592
                     0x05780000,
4593
                     0x05180000,
4594
                     0x05300000,
4595
                     0x05080000,
4596
                     0x05200000,
4597
                     0x06700000,
4598
                     0x06600000,
4599
                     0x06000000,
4600
                     0x06500000,
4601
                     0x06480000,
4602
                     0x06100000,
4603
                     0x06680000,
4604
                     0x06580000,
4605
                     0x06380000,
4606
                     0x06280000,
4607
                     0x06400000,
4608
                     0x06780000,
4609
                     0x06180000,
4610
                     0x06300000,
4611
                     0x06080000,
4612
                     0x06200000,
4613
                     0x07f00000,
4614
                     0x07e00000,
4615
                     0x07800000,
4616
                     0x07d00000,
4617
                     0x07c80000,
4618
                     0x07900000,
4619
                     0x07e80000,
4620
                     0x07d80000,
4621
                     0x07b80000,
4622
                     0x07a80000,
4623
                     0x07c00000,
4624
                     0x07f80000,
4625
                     0x07980000,
4626
                     0x07b00000,
4627
                     0x07880000,
4628
                     0x07a00000,
4629
                     0x02700000,
4630
                     0x02600000,
4631
                     0x02000000,
4632
                     0x02500000,
4633
                     0x02480000,
4634
                     0x02100000,
4635
                     0x02680000,
4636
                     0x02580000,
4637
                     0x02380000,
4638
                     0x02280000,
4639
                     0x02400000,
4640
                     0x02780000,
4641
                     0x02180000,
4642
                     0x02300000,
4643
                     0x02080000,
4644
                     0x02200000,
4645
                     0x07700000,
4646
                     0x07600000,
4647
                     0x07000000,
4648
                     0x07500000,
4649
                     0x07480000,
4650
                     0x07100000,
4651
                     0x07680000,
4652
                     0x07580000,
4653
                     0x07380000,
4654
                     0x07280000,
4655
                     0x07400000,
4656
                     0x07780000,
4657
                     0x07180000,
4658
                     0x07300000,
4659
                     0x07080000,
4660
                     0x07200000,
4661
                     0x04f00000,
4662
                     0x04e00000,
4663
                     0x04800000,
4664
                     0x04d00000,
4665
                     0x04c80000,
4666
                     0x04900000,
4667
                     0x04e80000,
4668
                     0x04d80000,
4669
                     0x04b80000,
4670
                     0x04a80000,
4671
                     0x04c00000,
4672
                     0x04f80000,
4673
                     0x04980000,
4674
                     0x04b00000,
4675
                     0x04880000,
4676
                     0x04a00000,
4677
                     0x04700000,
4678
                     0x04600000,
4679
                     0x04000000,
4680
                     0x04500000,
4681
                     0x04480000,
4682
                     0x04100000,
4683
                     0x04680000,
4684
                     0x04580000,
4685
                     0x04380000,
4686
                     0x04280000,
4687
                     0x04400000,
4688
                     0x04780000,
4689
                     0x04180000,
4690
                     0x04300000,
4691
                     0x04080000,
4692
                     0x04200000,
4693
                     /* 2 */
4694
                     0x10000004,
4695
                     0x38000004,
4696
                     0x60000004,
4697
                     0x78000004,
4698
                     0x48000004,
4699
                     0x28000004,
4700
                     0x50000004,
4701
                     0x58000004,
4702
                     0x08000004,
4703
                     0x20000004,
4704
                     0x00000004,
4705
                     0x68000004,
4706
                     0x30000004,
4707
                     0x40000004,
4708
                     0x70000004,
4709
                     0x18000004,
4710
                     0x90000001,
4711
                     0xb8000001,
4712
                     0xe0000001,
4713
                     0xf8000001,
4714
                     0xc8000001,
4715
                     0xa8000001,
4716
                     0xd0000001,
4717
                     0xd8000001,
4718
                     0x88000001,
4719
                     0xa0000001,
4720
                     0x80000001,
4721
                     0xe8000001,
4722
                     0xb0000001,
4723
                     0xc0000001,
4724
                     0xf0000001,
4725
                     0x98000001,
4726
                     0x10000001,
4727
                     0x38000001,
4728
                     0x60000001,
4729
                     0x78000001,
4730
                     0x48000001,
4731
                     0x28000001,
4732
                     0x50000001,
4733
                     0x58000001,
4734
                     0x08000001,
4735
                     0x20000001,
4736
                     0x00000001,
4737
                     0x68000001,
4738
                     0x30000001,
4739
                     0x40000001,
4740
                     0x70000001,
4741
                     0x18000001,
4742
                     0x10000003,
4743
                     0x38000003,
4744
                     0x60000003,
4745
                     0x78000003,
4746
                     0x48000003,
4747
                     0x28000003,
4748
                     0x50000003,
4749
                     0x58000003,
4750
                     0x08000003,
4751
                     0x20000003,
4752
                     0x00000003,
4753
                     0x68000003,
4754
                     0x30000003,
4755
                     0x40000003,
4756
                     0x70000003,
4757
                     0x18000003,
4758
                     0x10000002,
4759
                     0x38000002,
4760
                     0x60000002,
4761
                     0x78000002,
4762
                     0x48000002,
4763
                     0x28000002,
4764
                     0x50000002,
4765
                     0x58000002,
4766
                     0x08000002,
4767
                     0x20000002,
4768
                     0x00000002,
4769
                     0x68000002,
4770
                     0x30000002,
4771
                     0x40000002,
4772
                     0x70000002,
4773
                     0x18000002,
4774
                     0x90000006,
4775
                     0xb8000006,
4776
                     0xe0000006,
4777
                     0xf8000006,
4778
                     0xc8000006,
4779
                     0xa8000006,
4780
                     0xd0000006,
4781
                     0xd8000006,
4782
                     0x88000006,
4783
                     0xa0000006,
4784
                     0x80000006,
4785
                     0xe8000006,
4786
                     0xb0000006,
4787
                     0xc0000006,
4788
                     0xf0000006,
4789
                     0x98000006,
4790
                     0x10000007,
4791
                     0x38000007,
4792
                     0x60000007,
4793
                     0x78000007,
4794
                     0x48000007,
4795
                     0x28000007,
4796
                     0x50000007,
4797
                     0x58000007,
4798
                     0x08000007,
4799
                     0x20000007,
4800
                     0x00000007,
4801
                     0x68000007,
4802
                     0x30000007,
4803
                     0x40000007,
4804
                     0x70000007,
4805
                     0x18000007,
4806
                     0x90000005,
4807
                     0xb8000005,
4808
                     0xe0000005,
4809
                     0xf8000005,
4810
                     0xc8000005,
4811
                     0xa8000005,
4812
                     0xd0000005,
4813
                     0xd8000005,
4814
                     0x88000005,
4815
                     0xa0000005,
4816
                     0x80000005,
4817
                     0xe8000005,
4818
                     0xb0000005,
4819
                     0xc0000005,
4820
                     0xf0000005,
4821
                     0x98000005,
4822
                     0x10000006,
4823
                     0x38000006,
4824
                     0x60000006,
4825
                     0x78000006,
4826
                     0x48000006,
4827
                     0x28000006,
4828
                     0x50000006,
4829
                     0x58000006,
4830
                     0x08000006,
4831
                     0x20000006,
4832
                     0x00000006,
4833
                     0x68000006,
4834
                     0x30000006,
4835
                     0x40000006,
4836
                     0x70000006,
4837
                     0x18000006,
4838
                     0x90000000,
4839
                     0xb8000000,
4840
                     0xe0000000,
4841
                     0xf8000000,
4842
                     0xc8000000,
4843
                     0xa8000000,
4844
                     0xd0000000,
4845
                     0xd8000000,
4846
                     0x88000000,
4847
                     0xa0000000,
4848
                     0x80000000,
4849
                     0xe8000000,
4850
                     0xb0000000,
4851
                     0xc0000000,
4852
                     0xf0000000,
4853
                     0x98000000,
4854
                     0x90000003,
4855
                     0xb8000003,
4856
                     0xe0000003,
4857
                     0xf8000003,
4858
                     0xc8000003,
4859
                     0xa8000003,
4860
                     0xd0000003,
4861
                     0xd8000003,
4862
                     0x88000003,
4863
                     0xa0000003,
4864
                     0x80000003,
4865
                     0xe8000003,
4866
                     0xb0000003,
4867
                     0xc0000003,
4868
                     0xf0000003,
4869
                     0x98000003,
4870
                     0x90000007,
4871
                     0xb8000007,
4872
                     0xe0000007,
4873
                     0xf8000007,
4874
                     0xc8000007,
4875
                     0xa8000007,
4876
                     0xd0000007,
4877
                     0xd8000007,
4878
                     0x88000007,
4879
                     0xa0000007,
4880
                     0x80000007,
4881
                     0xe8000007,
4882
                     0xb0000007,
4883
                     0xc0000007,
4884
                     0xf0000007,
4885
                     0x98000007,
4886
                     0x10000005,
4887
                     0x38000005,
4888
                     0x60000005,
4889
                     0x78000005,
4890
                     0x48000005,
4891
                     0x28000005,
4892
                     0x50000005,
4893
                     0x58000005,
4894
                     0x08000005,
4895
                     0x20000005,
4896
                     0x00000005,
4897
                     0x68000005,
4898
                     0x30000005,
4899
                     0x40000005,
4900
                     0x70000005,
4901
                     0x18000005,
4902
                     0x10000000,
4903
                     0x38000000,
4904
                     0x60000000,
4905
                     0x78000000,
4906
                     0x48000000,
4907
                     0x28000000,
4908
                     0x50000000,
4909
                     0x58000000,
4910
                     0x08000000,
4911
                     0x20000000,
4912
                     0x00000000,
4913
                     0x68000000,
4914
                     0x30000000,
4915
                     0x40000000,
4916
                     0x70000000,
4917
                     0x18000000,
4918
                     0x90000004,
4919
                     0xb8000004,
4920
                     0xe0000004,
4921
                     0xf8000004,
4922
                     0xc8000004,
4923
                     0xa8000004,
4924
                     0xd0000004,
4925
                     0xd8000004,
4926
                     0x88000004,
4927
                     0xa0000004,
4928
                     0x80000004,
4929
                     0xe8000004,
4930
                     0xb0000004,
4931
                     0xc0000004,
4932
                     0xf0000004,
4933
                     0x98000004,
4934
                     0x90000002,
4935
                     0xb8000002,
4936
                     0xe0000002,
4937
                     0xf8000002,
4938
                     0xc8000002,
4939
                     0xa8000002,
4940
                     0xd0000002,
4941
                     0xd8000002,
4942
                     0x88000002,
4943
                     0xa0000002,
4944
                     0x80000002,
4945
                     0xe8000002,
4946
                     0xb0000002,
4947
                     0xc0000002,
4948
                     0xf0000002,
4949
                     0x98000002,
4950
                     /* 3 */
4951
                     0x00000028,
4952
                     0x00000010,
4953
                     0x00000050,
4954
                     0x00000058,
4955
                     0x00000048,
4956
                     0x00000008,
4957
                     0x00000060,
4958
                     0x00000018,
4959
                     0x00000038,
4960
                     0x00000020,
4961
                     0x00000068,
4962
                     0x00000000,
4963
                     0x00000030,
4964
                     0x00000078,
4965
                     0x00000040,
4966
                     0x00000070,
4967
                     0x00000228,
4968
                     0x00000210,
4969
                     0x00000250,
4970
                     0x00000258,
4971
                     0x00000248,
4972
                     0x00000208,
4973
                     0x00000260,
4974
                     0x00000218,
4975
                     0x00000238,
4976
                     0x00000220,
4977
                     0x00000268,
4978
                     0x00000200,
4979
                     0x00000230,
4980
                     0x00000278,
4981
                     0x00000240,
4982
                     0x00000270,
4983
                     0x000005a8,
4984
                     0x00000590,
4985
                     0x000005d0,
4986
                     0x000005d8,
4987
                     0x000005c8,
4988
                     0x00000588,
4989
                     0x000005e0,
4990
                     0x00000598,
4991
                     0x000005b8,
4992
                     0x000005a0,
4993
                     0x000005e8,
4994
                     0x00000580,
4995
                     0x000005b0,
4996
                     0x000005f8,
4997
                     0x000005c0,
4998
                     0x000005f0,
4999
                     0x00000728,
5000
                     0x00000710,
5001
                     0x00000750,
5002
                     0x00000758,
5003
                     0x00000748,
5004
                     0x00000708,
5005
                     0x00000760,
5006
                     0x00000718,
5007
                     0x00000738,
5008
                     0x00000720,
5009
                     0x00000768,
5010
                     0x00000700,
5011
                     0x00000730,
5012
                     0x00000778,
5013
                     0x00000740,
5014
                     0x00000770,
5015
                     0x00000428,
5016
                     0x00000410,
5017
                     0x00000450,
5018
                     0x00000458,
5019
                     0x00000448,
5020
                     0x00000408,
5021
                     0x00000460,
5022
                     0x00000418,
5023
                     0x00000438,
5024
                     0x00000420,
5025
                     0x00000468,
5026
                     0x00000400,
5027
                     0x00000430,
5028
                     0x00000478,
5029
                     0x00000440,
5030
                     0x00000470,
5031
                     0x000001a8,
5032
                     0x00000190,
5033
                     0x000001d0,
5034
                     0x000001d8,
5035
                     0x000001c8,
5036
                     0x00000188,
5037
                     0x000001e0,
5038
                     0x00000198,
5039
                     0x000001b8,
5040
                     0x000001a0,
5041
                     0x000001e8,
5042
                     0x00000180,
5043
                     0x000001b0,
5044
                     0x000001f8,
5045
                     0x000001c0,
5046
                     0x000001f0,
5047
                     0x000003a8,
5048
                     0x00000390,
5049
                     0x000003d0,
5050
                     0x000003d8,
5051
                     0x000003c8,
5052
                     0x00000388,
5053
                     0x000003e0,
5054
                     0x00000398,
5055
                     0x000003b8,
5056
                     0x000003a0,
5057
                     0x000003e8,
5058
                     0x00000380,
5059
                     0x000003b0,
5060
                     0x000003f8,
5061
                     0x000003c0,
5062
                     0x000003f0,
5063
                     0x000000a8,
5064
                     0x00000090,
5065
                     0x000000d0,
5066
                     0x000000d8,
5067
                     0x000000c8,
5068
                     0x00000088,
5069
                     0x000000e0,
5070
                     0x00000098,
5071
                     0x000000b8,
5072
                     0x000000a0,
5073
                     0x000000e8,
5074
                     0x00000080,
5075
                     0x000000b0,
5076
                     0x000000f8,
5077
                     0x000000c0,
5078
                     0x000000f0,
5079
                     0x00000528,
5080
                     0x00000510,
5081
                     0x00000550,
5082
                     0x00000558,
5083
                     0x00000548,
5084
                     0x00000508,
5085
                     0x00000560,
5086
                     0x00000518,
5087
                     0x00000538,
5088
                     0x00000520,
5089
                     0x00000568,
5090
                     0x00000500,
5091
                     0x00000530,
5092
                     0x00000578,
5093
                     0x00000540,
5094
                     0x00000570,
5095
                     0x00000128,
5096
                     0x00000110,
5097
                     0x00000150,
5098
                     0x00000158,
5099
                     0x00000148,
5100
                     0x00000108,
5101
                     0x00000160,
5102
                     0x00000118,
5103
                     0x00000138,
5104
                     0x00000120,
5105
                     0x00000168,
5106
                     0x00000100,
5107
                     0x00000130,
5108
                     0x00000178,
5109
                     0x00000140,
5110
                     0x00000170,
5111
                     0x000004a8,
5112
                     0x00000490,
5113
                     0x000004d0,
5114
                     0x000004d8,
5115
                     0x000004c8,
5116
                     0x00000488,
5117
                     0x000004e0,
5118
                     0x00000498,
5119
                     0x000004b8,
5120
                     0x000004a0,
5121
                     0x000004e8,
5122
                     0x00000480,
5123
                     0x000004b0,
5124
                     0x000004f8,
5125
                     0x000004c0,
5126
                     0x000004f0,
5127
                     0x00000328,
5128
                     0x00000310,
5129
                     0x00000350,
5130
                     0x00000358,
5131
                     0x00000348,
5132
                     0x00000308,
5133
                     0x00000360,
5134
                     0x00000318,
5135
                     0x00000338,
5136
                     0x00000320,
5137
                     0x00000368,
5138
                     0x00000300,
5139
                     0x00000330,
5140
                     0x00000378,
5141
                     0x00000340,
5142
                     0x00000370,
5143
                     0x000007a8,
5144
                     0x00000790,
5145
                     0x000007d0,
5146
                     0x000007d8,
5147
                     0x000007c8,
5148
                     0x00000788,
5149
                     0x000007e0,
5150
                     0x00000798,
5151
                     0x000007b8,
5152
                     0x000007a0,
5153
                     0x000007e8,
5154
                     0x00000780,
5155
                     0x000007b0,
5156
                     0x000007f8,
5157
                     0x000007c0,
5158
                     0x000007f0,
5159
                     0x000006a8,
5160
                     0x00000690,
5161
                     0x000006d0,
5162
                     0x000006d8,
5163
                     0x000006c8,
5164
                     0x00000688,
5165
                     0x000006e0,
5166
                     0x00000698,
5167
                     0x000006b8,
5168
                     0x000006a0,
5169
                     0x000006e8,
5170
                     0x00000680,
5171
                     0x000006b0,
5172
                     0x000006f8,
5173
                     0x000006c0,
5174
                     0x000006f0,
5175
                     0x000002a8,
5176
                     0x00000290,
5177
                     0x000002d0,
5178
                     0x000002d8,
5179
                     0x000002c8,
5180
                     0x00000288,
5181
                     0x000002e0,
5182
                     0x00000298,
5183
                     0x000002b8,
5184
                     0x000002a0,
5185
                     0x000002e8,
5186
                     0x00000280,
5187
                     0x000002b0,
5188
                     0x000002f8,
5189
                     0x000002c0,
5190
                     0x000002f0,
5191
                     0x00000628,
5192
                     0x00000610,
5193
                     0x00000650,
5194
                     0x00000658,
5195
                     0x00000648,
5196
                     0x00000608,
5197
                     0x00000660,
5198
                     0x00000618,
5199
                     0x00000638,
5200
                     0x00000620,
5201
                     0x00000668,
5202
                     0x00000600,
5203
                     0x00000630,
5204
                     0x00000678,
5205
                     0x00000640,
5206
                     0x00000670,
5207
                   } };
5208
5209
const struct gost28147_param gost28147_param_CryptoPro_C = { 1,
5210
                   {
5211
                     /* 0 */
5212
                     0x00000800,
5213
                     0x00005800,
5214
                     0x00006000,
5215
                     0x00001000,
5216
                     0x00004800,
5217
                     0x00006800,
5218
                     0x00000000,
5219
                     0x00007800,
5220
                     0x00002000,
5221
                     0x00002800,
5222
                     0x00004000,
5223
                     0x00007000,
5224
                     0x00005000,
5225
                     0x00003800,
5226
                     0x00003000,
5227
                     0x00001800,
5228
                     0x00008800,
5229
                     0x0000d800,
5230
                     0x0000e000,
5231
                     0x00009000,
5232
                     0x0000c800,
5233
                     0x0000e800,
5234
                     0x00008000,
5235
                     0x0000f800,
5236
                     0x0000a000,
5237
                     0x0000a800,
5238
                     0x0000c000,
5239
                     0x0000f000,
5240
                     0x0000d000,
5241
                     0x0000b800,
5242
                     0x0000b000,
5243
                     0x00009800,
5244
                     0x00038800,
5245
                     0x0003d800,
5246
                     0x0003e000,
5247
                     0x00039000,
5248
                     0x0003c800,
5249
                     0x0003e800,
5250
                     0x00038000,
5251
                     0x0003f800,
5252
                     0x0003a000,
5253
                     0x0003a800,
5254
                     0x0003c000,
5255
                     0x0003f000,
5256
                     0x0003d000,
5257
                     0x0003b800,
5258
                     0x0003b000,
5259
                     0x00039800,
5260
                     0x00068800,
5261
                     0x0006d800,
5262
                     0x0006e000,
5263
                     0x00069000,
5264
                     0x0006c800,
5265
                     0x0006e800,
5266
                     0x00068000,
5267
                     0x0006f800,
5268
                     0x0006a000,
5269
                     0x0006a800,
5270
                     0x0006c000,
5271
                     0x0006f000,
5272
                     0x0006d000,
5273
                     0x0006b800,
5274
                     0x0006b000,
5275
                     0x00069800,
5276
                     0x00058800,
5277
                     0x0005d800,
5278
                     0x0005e000,
5279
                     0x00059000,
5280
                     0x0005c800,
5281
                     0x0005e800,
5282
                     0x00058000,
5283
                     0x0005f800,
5284
                     0x0005a000,
5285
                     0x0005a800,
5286
                     0x0005c000,
5287
                     0x0005f000,
5288
                     0x0005d000,
5289
                     0x0005b800,
5290
                     0x0005b000,
5291
                     0x00059800,
5292
                     0x00020800,
5293
                     0x00025800,
5294
                     0x00026000,
5295
                     0x00021000,
5296
                     0x00024800,
5297
                     0x00026800,
5298
                     0x00020000,
5299
                     0x00027800,
5300
                     0x00022000,
5301
                     0x00022800,
5302
                     0x00024000,
5303
                     0x00027000,
5304
                     0x00025000,
5305
                     0x00023800,
5306
                     0x00023000,
5307
                     0x00021800,
5308
                     0x00028800,
5309
                     0x0002d800,
5310
                     0x0002e000,
5311
                     0x00029000,
5312
                     0x0002c800,
5313
                     0x0002e800,
5314
                     0x00028000,
5315
                     0x0002f800,
5316
                     0x0002a000,
5317
                     0x0002a800,
5318
                     0x0002c000,
5319
                     0x0002f000,
5320
                     0x0002d000,
5321
                     0x0002b800,
5322
                     0x0002b000,
5323
                     0x00029800,
5324
                     0x00010800,
5325
                     0x00015800,
5326
                     0x00016000,
5327
                     0x00011000,
5328
                     0x00014800,
5329
                     0x00016800,
5330
                     0x00010000,
5331
                     0x00017800,
5332
                     0x00012000,
5333
                     0x00012800,
5334
                     0x00014000,
5335
                     0x00017000,
5336
                     0x00015000,
5337
                     0x00013800,
5338
                     0x00013000,
5339
                     0x00011800,
5340
                     0x00040800,
5341
                     0x00045800,
5342
                     0x00046000,
5343
                     0x00041000,
5344
                     0x00044800,
5345
                     0x00046800,
5346
                     0x00040000,
5347
                     0x00047800,
5348
                     0x00042000,
5349
                     0x00042800,
5350
                     0x00044000,
5351
                     0x00047000,
5352
                     0x00045000,
5353
                     0x00043800,
5354
                     0x00043000,
5355
                     0x00041800,
5356
                     0x00070800,
5357
                     0x00075800,
5358
                     0x00076000,
5359
                     0x00071000,
5360
                     0x00074800,
5361
                     0x00076800,
5362
                     0x00070000,
5363
                     0x00077800,
5364
                     0x00072000,
5365
                     0x00072800,
5366
                     0x00074000,
5367
                     0x00077000,
5368
                     0x00075000,
5369
                     0x00073800,
5370
                     0x00073000,
5371
                     0x00071800,
5372
                     0x00078800,
5373
                     0x0007d800,
5374
                     0x0007e000,
5375
                     0x00079000,
5376
                     0x0007c800,
5377
                     0x0007e800,
5378
                     0x00078000,
5379
                     0x0007f800,
5380
                     0x0007a000,
5381
                     0x0007a800,
5382
                     0x0007c000,
5383
                     0x0007f000,
5384
                     0x0007d000,
5385
                     0x0007b800,
5386
                     0x0007b000,
5387
                     0x00079800,
5388
                     0x00060800,
5389
                     0x00065800,
5390
                     0x00066000,
5391
                     0x00061000,
5392
                     0x00064800,
5393
                     0x00066800,
5394
                     0x00060000,
5395
                     0x00067800,
5396
                     0x00062000,
5397
                     0x00062800,
5398
                     0x00064000,
5399
                     0x00067000,
5400
                     0x00065000,
5401
                     0x00063800,
5402
                     0x00063000,
5403
                     0x00061800,
5404
                     0x00048800,
5405
                     0x0004d800,
5406
                     0x0004e000,
5407
                     0x00049000,
5408
                     0x0004c800,
5409
                     0x0004e800,
5410
                     0x00048000,
5411
                     0x0004f800,
5412
                     0x0004a000,
5413
                     0x0004a800,
5414
                     0x0004c000,
5415
                     0x0004f000,
5416
                     0x0004d000,
5417
                     0x0004b800,
5418
                     0x0004b000,
5419
                     0x00049800,
5420
                     0x00050800,
5421
                     0x00055800,
5422
                     0x00056000,
5423
                     0x00051000,
5424
                     0x00054800,
5425
                     0x00056800,
5426
                     0x00050000,
5427
                     0x00057800,
5428
                     0x00052000,
5429
                     0x00052800,
5430
                     0x00054000,
5431
                     0x00057000,
5432
                     0x00055000,
5433
                     0x00053800,
5434
                     0x00053000,
5435
                     0x00051800,
5436
                     0x00030800,
5437
                     0x00035800,
5438
                     0x00036000,
5439
                     0x00031000,
5440
                     0x00034800,
5441
                     0x00036800,
5442
                     0x00030000,
5443
                     0x00037800,
5444
                     0x00032000,
5445
                     0x00032800,
5446
                     0x00034000,
5447
                     0x00037000,
5448
                     0x00035000,
5449
                     0x00033800,
5450
                     0x00033000,
5451
                     0x00031800,
5452
                     0x00018800,
5453
                     0x0001d800,
5454
                     0x0001e000,
5455
                     0x00019000,
5456
                     0x0001c800,
5457
                     0x0001e800,
5458
                     0x00018000,
5459
                     0x0001f800,
5460
                     0x0001a000,
5461
                     0x0001a800,
5462
                     0x0001c000,
5463
                     0x0001f000,
5464
                     0x0001d000,
5465
                     0x0001b800,
5466
                     0x0001b000,
5467
                     0x00019800,
5468
                     /* 1 */
5469
                     0x01c00000,
5470
                     0x01900000,
5471
                     0x01a80000,
5472
                     0x01800000,
5473
                     0x01a00000,
5474
                     0x01c80000,
5475
                     0x01f80000,
5476
                     0x01d00000,
5477
                     0x01980000,
5478
                     0x01b80000,
5479
                     0x01e00000,
5480
                     0x01e80000,
5481
                     0x01b00000,
5482
                     0x01f00000,
5483
                     0x01880000,
5484
                     0x01d80000,
5485
                     0x03400000,
5486
                     0x03100000,
5487
                     0x03280000,
5488
                     0x03000000,
5489
                     0x03200000,
5490
                     0x03480000,
5491
                     0x03780000,
5492
                     0x03500000,
5493
                     0x03180000,
5494
                     0x03380000,
5495
                     0x03600000,
5496
                     0x03680000,
5497
                     0x03300000,
5498
                     0x03700000,
5499
                     0x03080000,
5500
                     0x03580000,
5501
                     0x00400000,
5502
                     0x00100000,
5503
                     0x00280000,
5504
                     0x00000000,
5505
                     0x00200000,
5506
                     0x00480000,
5507
                     0x00780000,
5508
                     0x00500000,
5509
                     0x00180000,
5510
                     0x00380000,
5511
                     0x00600000,
5512
                     0x00680000,
5513
                     0x00300000,
5514
                     0x00700000,
5515
                     0x00080000,
5516
                     0x00580000,
5517
                     0x00c00000,
5518
                     0x00900000,
5519
                     0x00a80000,
5520
                     0x00800000,
5521
                     0x00a00000,
5522
                     0x00c80000,
5523
                     0x00f80000,
5524
                     0x00d00000,
5525
                     0x00980000,
5526
                     0x00b80000,
5527
                     0x00e00000,
5528
                     0x00e80000,
5529
                     0x00b00000,
5530
                     0x00f00000,
5531
                     0x00880000,
5532
                     0x00d80000,
5533
                     0x02c00000,
5534
                     0x02900000,
5535
                     0x02a80000,
5536
                     0x02800000,
5537
                     0x02a00000,
5538
                     0x02c80000,
5539
                     0x02f80000,
5540
                     0x02d00000,
5541
                     0x02980000,
5542
                     0x02b80000,
5543
                     0x02e00000,
5544
                     0x02e80000,
5545
                     0x02b00000,
5546
                     0x02f00000,
5547
                     0x02880000,
5548
                     0x02d80000,
5549
                     0x06c00000,
5550
                     0x06900000,
5551
                     0x06a80000,
5552
                     0x06800000,
5553
                     0x06a00000,
5554
                     0x06c80000,
5555
                     0x06f80000,
5556
                     0x06d00000,
5557
                     0x06980000,
5558
                     0x06b80000,
5559
                     0x06e00000,
5560
                     0x06e80000,
5561
                     0x06b00000,
5562
                     0x06f00000,
5563
                     0x06880000,
5564
                     0x06d80000,
5565
                     0x05400000,
5566
                     0x05100000,
5567
                     0x05280000,
5568
                     0x05000000,
5569
                     0x05200000,
5570
                     0x05480000,
5571
                     0x05780000,
5572
                     0x05500000,
5573
                     0x05180000,
5574
                     0x05380000,
5575
                     0x05600000,
5576
                     0x05680000,
5577
                     0x05300000,
5578
                     0x05700000,
5579
                     0x05080000,
5580
                     0x05580000,
5581
                     0x04400000,
5582
                     0x04100000,
5583
                     0x04280000,
5584
                     0x04000000,
5585
                     0x04200000,
5586
                     0x04480000,
5587
                     0x04780000,
5588
                     0x04500000,
5589
                     0x04180000,
5590
                     0x04380000,
5591
                     0x04600000,
5592
                     0x04680000,
5593
                     0x04300000,
5594
                     0x04700000,
5595
                     0x04080000,
5596
                     0x04580000,
5597
                     0x05c00000,
5598
                     0x05900000,
5599
                     0x05a80000,
5600
                     0x05800000,
5601
                     0x05a00000,
5602
                     0x05c80000,
5603
                     0x05f80000,
5604
                     0x05d00000,
5605
                     0x05980000,
5606
                     0x05b80000,
5607
                     0x05e00000,
5608
                     0x05e80000,
5609
                     0x05b00000,
5610
                     0x05f00000,
5611
                     0x05880000,
5612
                     0x05d80000,
5613
                     0x01400000,
5614
                     0x01100000,
5615
                     0x01280000,
5616
                     0x01000000,
5617
                     0x01200000,
5618
                     0x01480000,
5619
                     0x01780000,
5620
                     0x01500000,
5621
                     0x01180000,
5622
                     0x01380000,
5623
                     0x01600000,
5624
                     0x01680000,
5625
                     0x01300000,
5626
                     0x01700000,
5627
                     0x01080000,
5628
                     0x01580000,
5629
                     0x04c00000,
5630
                     0x04900000,
5631
                     0x04a80000,
5632
                     0x04800000,
5633
                     0x04a00000,
5634
                     0x04c80000,
5635
                     0x04f80000,
5636
                     0x04d00000,
5637
                     0x04980000,
5638
                     0x04b80000,
5639
                     0x04e00000,
5640
                     0x04e80000,
5641
                     0x04b00000,
5642
                     0x04f00000,
5643
                     0x04880000,
5644
                     0x04d80000,
5645
                     0x03c00000,
5646
                     0x03900000,
5647
                     0x03a80000,
5648
                     0x03800000,
5649
                     0x03a00000,
5650
                     0x03c80000,
5651
                     0x03f80000,
5652
                     0x03d00000,
5653
                     0x03980000,
5654
                     0x03b80000,
5655
                     0x03e00000,
5656
                     0x03e80000,
5657
                     0x03b00000,
5658
                     0x03f00000,
5659
                     0x03880000,
5660
                     0x03d80000,
5661
                     0x07400000,
5662
                     0x07100000,
5663
                     0x07280000,
5664
                     0x07000000,
5665
                     0x07200000,
5666
                     0x07480000,
5667
                     0x07780000,
5668
                     0x07500000,
5669
                     0x07180000,
5670
                     0x07380000,
5671
                     0x07600000,
5672
                     0x07680000,
5673
                     0x07300000,
5674
                     0x07700000,
5675
                     0x07080000,
5676
                     0x07580000,
5677
                     0x07c00000,
5678
                     0x07900000,
5679
                     0x07a80000,
5680
                     0x07800000,
5681
                     0x07a00000,
5682
                     0x07c80000,
5683
                     0x07f80000,
5684
                     0x07d00000,
5685
                     0x07980000,
5686
                     0x07b80000,
5687
                     0x07e00000,
5688
                     0x07e80000,
5689
                     0x07b00000,
5690
                     0x07f00000,
5691
                     0x07880000,
5692
                     0x07d80000,
5693
                     0x06400000,
5694
                     0x06100000,
5695
                     0x06280000,
5696
                     0x06000000,
5697
                     0x06200000,
5698
                     0x06480000,
5699
                     0x06780000,
5700
                     0x06500000,
5701
                     0x06180000,
5702
                     0x06380000,
5703
                     0x06600000,
5704
                     0x06680000,
5705
                     0x06300000,
5706
                     0x06700000,
5707
                     0x06080000,
5708
                     0x06580000,
5709
                     0x02400000,
5710
                     0x02100000,
5711
                     0x02280000,
5712
                     0x02000000,
5713
                     0x02200000,
5714
                     0x02480000,
5715
                     0x02780000,
5716
                     0x02500000,
5717
                     0x02180000,
5718
                     0x02380000,
5719
                     0x02600000,
5720
                     0x02680000,
5721
                     0x02300000,
5722
                     0x02700000,
5723
                     0x02080000,
5724
                     0x02580000,
5725
                     /* 2 */
5726
                     0x40000006,
5727
                     0x68000006,
5728
                     0x58000006,
5729
                     0x00000006,
5730
                     0x20000006,
5731
                     0x28000006,
5732
                     0x08000006,
5733
                     0x10000006,
5734
                     0x48000006,
5735
                     0x18000006,
5736
                     0x60000006,
5737
                     0x70000006,
5738
                     0x30000006,
5739
                     0x78000006,
5740
                     0x50000006,
5741
                     0x38000006,
5742
                     0xc0000004,
5743
                     0xe8000004,
5744
                     0xd8000004,
5745
                     0x80000004,
5746
                     0xa0000004,
5747
                     0xa8000004,
5748
                     0x88000004,
5749
                     0x90000004,
5750
                     0xc8000004,
5751
                     0x98000004,
5752
                     0xe0000004,
5753
                     0xf0000004,
5754
                     0xb0000004,
5755
                     0xf8000004,
5756
                     0xd0000004,
5757
                     0xb8000004,
5758
                     0xc0000005,
5759
                     0xe8000005,
5760
                     0xd8000005,
5761
                     0x80000005,
5762
                     0xa0000005,
5763
                     0xa8000005,
5764
                     0x88000005,
5765
                     0x90000005,
5766
                     0xc8000005,
5767
                     0x98000005,
5768
                     0xe0000005,
5769
                     0xf0000005,
5770
                     0xb0000005,
5771
                     0xf8000005,
5772
                     0xd0000005,
5773
                     0xb8000005,
5774
                     0xc0000000,
5775
                     0xe8000000,
5776
                     0xd8000000,
5777
                     0x80000000,
5778
                     0xa0000000,
5779
                     0xa8000000,
5780
                     0x88000000,
5781
                     0x90000000,
5782
                     0xc8000000,
5783
                     0x98000000,
5784
                     0xe0000000,
5785
                     0xf0000000,
5786
                     0xb0000000,
5787
                     0xf8000000,
5788
                     0xd0000000,
5789
                     0xb8000000,
5790
                     0x40000004,
5791
                     0x68000004,
5792
                     0x58000004,
5793
                     0x00000004,
5794
                     0x20000004,
5795
                     0x28000004,
5796
                     0x08000004,
5797
                     0x10000004,
5798
                     0x48000004,
5799
                     0x18000004,
5800
                     0x60000004,
5801
                     0x70000004,
5802
                     0x30000004,
5803
                     0x78000004,
5804
                     0x50000004,
5805
                     0x38000004,
5806
                     0x40000007,
5807
                     0x68000007,
5808
                     0x58000007,
5809
                     0x00000007,
5810
                     0x20000007,
5811
                     0x28000007,
5812
                     0x08000007,
5813
                     0x10000007,
5814
                     0x48000007,
5815
                     0x18000007,
5816
                     0x60000007,
5817
                     0x70000007,
5818
                     0x30000007,
5819
                     0x78000007,
5820
                     0x50000007,
5821
                     0x38000007,
5822
                     0x40000001,
5823
                     0x68000001,
5824
                     0x58000001,
5825
                     0x00000001,
5826
                     0x20000001,
5827
                     0x28000001,
5828
                     0x08000001,
5829
                     0x10000001,
5830
                     0x48000001,
5831
                     0x18000001,
5832
                     0x60000001,
5833
                     0x70000001,
5834
                     0x30000001,
5835
                     0x78000001,
5836
                     0x50000001,
5837
                     0x38000001,
5838
                     0x40000002,
5839
                     0x68000002,
5840
                     0x58000002,
5841
                     0x00000002,
5842
                     0x20000002,
5843
                     0x28000002,
5844
                     0x08000002,
5845
                     0x10000002,
5846
                     0x48000002,
5847
                     0x18000002,
5848
                     0x60000002,
5849
                     0x70000002,
5850
                     0x30000002,
5851
                     0x78000002,
5852
                     0x50000002,
5853
                     0x38000002,
5854
                     0xc0000003,
5855
                     0xe8000003,
5856
                     0xd8000003,
5857
                     0x80000003,
5858
                     0xa0000003,
5859
                     0xa8000003,
5860
                     0x88000003,
5861
                     0x90000003,
5862
                     0xc8000003,
5863
                     0x98000003,
5864
                     0xe0000003,
5865
                     0xf0000003,
5866
                     0xb0000003,
5867
                     0xf8000003,
5868
                     0xd0000003,
5869
                     0xb8000003,
5870
                     0xc0000001,
5871
                     0xe8000001,
5872
                     0xd8000001,
5873
                     0x80000001,
5874
                     0xa0000001,
5875
                     0xa8000001,
5876
                     0x88000001,
5877
                     0x90000001,
5878
                     0xc8000001,
5879
                     0x98000001,
5880
                     0xe0000001,
5881
                     0xf0000001,
5882
                     0xb0000001,
5883
                     0xf8000001,
5884
                     0xd0000001,
5885
                     0xb8000001,
5886
                     0x40000003,
5887
                     0x68000003,
5888
                     0x58000003,
5889
                     0x00000003,
5890
                     0x20000003,
5891
                     0x28000003,
5892
                     0x08000003,
5893
                     0x10000003,
5894
                     0x48000003,
5895
                     0x18000003,
5896
                     0x60000003,
5897
                     0x70000003,
5898
                     0x30000003,
5899
                     0x78000003,
5900
                     0x50000003,
5901
                     0x38000003,
5902
                     0xc0000002,
5903
                     0xe8000002,
5904
                     0xd8000002,
5905
                     0x80000002,
5906
                     0xa0000002,
5907
                     0xa8000002,
5908
                     0x88000002,
5909
                     0x90000002,
5910
                     0xc8000002,
5911
                     0x98000002,
5912
                     0xe0000002,
5913
                     0xf0000002,
5914
                     0xb0000002,
5915
                     0xf8000002,
5916
                     0xd0000002,
5917
                     0xb8000002,
5918
                     0x40000005,
5919
                     0x68000005,
5920
                     0x58000005,
5921
                     0x00000005,
5922
                     0x20000005,
5923
                     0x28000005,
5924
                     0x08000005,
5925
                     0x10000005,
5926
                     0x48000005,
5927
                     0x18000005,
5928
                     0x60000005,
5929
                     0x70000005,
5930
                     0x30000005,
5931
                     0x78000005,
5932
                     0x50000005,
5933
                     0x38000005,
5934
                     0x40000000,
5935
                     0x68000000,
5936
                     0x58000000,
5937
                     0x00000000,
5938
                     0x20000000,
5939
                     0x28000000,
5940
                     0x08000000,
5941
                     0x10000000,
5942
                     0x48000000,
5943
                     0x18000000,
5944
                     0x60000000,
5945
                     0x70000000,
5946
                     0x30000000,
5947
                     0x78000000,
5948
                     0x50000000,
5949
                     0x38000000,
5950
                     0xc0000007,
5951
                     0xe8000007,
5952
                     0xd8000007,
5953
                     0x80000007,
5954
                     0xa0000007,
5955
                     0xa8000007,
5956
                     0x88000007,
5957
                     0x90000007,
5958
                     0xc8000007,
5959
                     0x98000007,
5960
                     0xe0000007,
5961
                     0xf0000007,
5962
                     0xb0000007,
5963
                     0xf8000007,
5964
                     0xd0000007,
5965
                     0xb8000007,
5966
                     0xc0000006,
5967
                     0xe8000006,
5968
                     0xd8000006,
5969
                     0x80000006,
5970
                     0xa0000006,
5971
                     0xa8000006,
5972
                     0x88000006,
5973
                     0x90000006,
5974
                     0xc8000006,
5975
                     0x98000006,
5976
                     0xe0000006,
5977
                     0xf0000006,
5978
                     0xb0000006,
5979
                     0xf8000006,
5980
                     0xd0000006,
5981
                     0xb8000006,
5982
                     /* 3 */
5983
                     0x000003d0,
5984
                     0x000003c8,
5985
                     0x000003b0,
5986
                     0x000003c0,
5987
                     0x000003e8,
5988
                     0x000003f0,
5989
                     0x00000390,
5990
                     0x00000380,
5991
                     0x000003f8,
5992
                     0x00000398,
5993
                     0x000003a8,
5994
                     0x000003d8,
5995
                     0x000003a0,
5996
                     0x00000388,
5997
                     0x000003e0,
5998
                     0x000003b8,
5999
                     0x00000250,
6000
                     0x00000248,
6001
                     0x00000230,
6002
                     0x00000240,
6003
                     0x00000268,
6004
                     0x00000270,
6005
                     0x00000210,
6006
                     0x00000200,
6007
                     0x00000278,
6008
                     0x00000218,
6009
                     0x00000228,
6010
                     0x00000258,
6011
                     0x00000220,
6012
                     0x00000208,
6013
                     0x00000260,
6014
                     0x00000238,
6015
                     0x00000050,
6016
                     0x00000048,
6017
                     0x00000030,
6018
                     0x00000040,
6019
                     0x00000068,
6020
                     0x00000070,
6021
                     0x00000010,
6022
                     0x00000000,
6023
                     0x00000078,
6024
                     0x00000018,
6025
                     0x00000028,
6026
                     0x00000058,
6027
                     0x00000020,
6028
                     0x00000008,
6029
                     0x00000060,
6030
                     0x00000038,
6031
                     0x000002d0,
6032
                     0x000002c8,
6033
                     0x000002b0,
6034
                     0x000002c0,
6035
                     0x000002e8,
6036
                     0x000002f0,
6037
                     0x00000290,
6038
                     0x00000280,
6039
                     0x000002f8,
6040
                     0x00000298,
6041
                     0x000002a8,
6042
                     0x000002d8,
6043
                     0x000002a0,
6044
                     0x00000288,
6045
                     0x000002e0,
6046
                     0x000002b8,
6047
                     0x00000550,
6048
                     0x00000548,
6049
                     0x00000530,
6050
                     0x00000540,
6051
                     0x00000568,
6052
                     0x00000570,
6053
                     0x00000510,
6054
                     0x00000500,
6055
                     0x00000578,
6056
                     0x00000518,
6057
                     0x00000528,
6058
                     0x00000558,
6059
                     0x00000520,
6060
                     0x00000508,
6061
                     0x00000560,
6062
                     0x00000538,
6063
                     0x00000150,
6064
                     0x00000148,
6065
                     0x00000130,
6066
                     0x00000140,
6067
                     0x00000168,
6068
                     0x00000170,
6069
                     0x00000110,
6070
                     0x00000100,
6071
                     0x00000178,
6072
                     0x00000118,
6073
                     0x00000128,
6074
                     0x00000158,
6075
                     0x00000120,
6076
                     0x00000108,
6077
                     0x00000160,
6078
                     0x00000138,
6079
                     0x000007d0,
6080
                     0x000007c8,
6081
                     0x000007b0,
6082
                     0x000007c0,
6083
                     0x000007e8,
6084
                     0x000007f0,
6085
                     0x00000790,
6086
                     0x00000780,
6087
                     0x000007f8,
6088
                     0x00000798,
6089
                     0x000007a8,
6090
                     0x000007d8,
6091
                     0x000007a0,
6092
                     0x00000788,
6093
                     0x000007e0,
6094
                     0x000007b8,
6095
                     0x00000750,
6096
                     0x00000748,
6097
                     0x00000730,
6098
                     0x00000740,
6099
                     0x00000768,
6100
                     0x00000770,
6101
                     0x00000710,
6102
                     0x00000700,
6103
                     0x00000778,
6104
                     0x00000718,
6105
                     0x00000728,
6106
                     0x00000758,
6107
                     0x00000720,
6108
                     0x00000708,
6109
                     0x00000760,
6110
                     0x00000738,
6111
                     0x00000650,
6112
                     0x00000648,
6113
                     0x00000630,
6114
                     0x00000640,
6115
                     0x00000668,
6116
                     0x00000670,
6117
                     0x00000610,
6118
                     0x00000600,
6119
                     0x00000678,
6120
                     0x00000618,
6121
                     0x00000628,
6122
                     0x00000658,
6123
                     0x00000620,
6124
                     0x00000608,
6125
                     0x00000660,
6126
                     0x00000638,
6127
                     0x00000350,
6128
                     0x00000348,
6129
                     0x00000330,
6130
                     0x00000340,
6131
                     0x00000368,
6132
                     0x00000370,
6133
                     0x00000310,
6134
                     0x00000300,
6135
                     0x00000378,
6136
                     0x00000318,
6137
                     0x00000328,
6138
                     0x00000358,
6139
                     0x00000320,
6140
                     0x00000308,
6141
                     0x00000360,
6142
                     0x00000338,
6143
                     0x000000d0,
6144
                     0x000000c8,
6145
                     0x000000b0,
6146
                     0x000000c0,
6147
                     0x000000e8,
6148
                     0x000000f0,
6149
                     0x00000090,
6150
                     0x00000080,
6151
                     0x000000f8,
6152
                     0x00000098,
6153
                     0x000000a8,
6154
                     0x000000d8,
6155
                     0x000000a0,
6156
                     0x00000088,
6157
                     0x000000e0,
6158
                     0x000000b8,
6159
                     0x000005d0,
6160
                     0x000005c8,
6161
                     0x000005b0,
6162
                     0x000005c0,
6163
                     0x000005e8,
6164
                     0x000005f0,
6165
                     0x00000590,
6166
                     0x00000580,
6167
                     0x000005f8,
6168
                     0x00000598,
6169
                     0x000005a8,
6170
                     0x000005d8,
6171
                     0x000005a0,
6172
                     0x00000588,
6173
                     0x000005e0,
6174
                     0x000005b8,
6175
                     0x000006d0,
6176
                     0x000006c8,
6177
                     0x000006b0,
6178
                     0x000006c0,
6179
                     0x000006e8,
6180
                     0x000006f0,
6181
                     0x00000690,
6182
                     0x00000680,
6183
                     0x000006f8,
6184
                     0x00000698,
6185
                     0x000006a8,
6186
                     0x000006d8,
6187
                     0x000006a0,
6188
                     0x00000688,
6189
                     0x000006e0,
6190
                     0x000006b8,
6191
                     0x000004d0,
6192
                     0x000004c8,
6193
                     0x000004b0,
6194
                     0x000004c0,
6195
                     0x000004e8,
6196
                     0x000004f0,
6197
                     0x00000490,
6198
                     0x00000480,
6199
                     0x000004f8,
6200
                     0x00000498,
6201
                     0x000004a8,
6202
                     0x000004d8,
6203
                     0x000004a0,
6204
                     0x00000488,
6205
                     0x000004e0,
6206
                     0x000004b8,
6207
                     0x000001d0,
6208
                     0x000001c8,
6209
                     0x000001b0,
6210
                     0x000001c0,
6211
                     0x000001e8,
6212
                     0x000001f0,
6213
                     0x00000190,
6214
                     0x00000180,
6215
                     0x000001f8,
6216
                     0x00000198,
6217
                     0x000001a8,
6218
                     0x000001d8,
6219
                     0x000001a0,
6220
                     0x00000188,
6221
                     0x000001e0,
6222
                     0x000001b8,
6223
                     0x00000450,
6224
                     0x00000448,
6225
                     0x00000430,
6226
                     0x00000440,
6227
                     0x00000468,
6228
                     0x00000470,
6229
                     0x00000410,
6230
                     0x00000400,
6231
                     0x00000478,
6232
                     0x00000418,
6233
                     0x00000428,
6234
                     0x00000458,
6235
                     0x00000420,
6236
                     0x00000408,
6237
                     0x00000460,
6238
                     0x00000438,
6239
                   } };
6240
6241
const struct gost28147_param gost28147_param_CryptoPro_D = { 1,
6242
                   {
6243
                     /* 0 */
6244
                     0x0005f800,
6245
                     0x0005e000,
6246
                     0x00059000,
6247
                     0x0005d000,
6248
                     0x0005b000,
6249
                     0x0005a000,
6250
                     0x0005a800,
6251
                     0x00058000,
6252
                     0x0005b800,
6253
                     0x0005c800,
6254
                     0x0005f000,
6255
                     0x0005e800,
6256
                     0x00058800,
6257
                     0x0005d800,
6258
                     0x0005c000,
6259
                     0x00059800,
6260
                     0x00037800,
6261
                     0x00036000,
6262
                     0x00031000,
6263
                     0x00035000,
6264
                     0x00033000,
6265
                     0x00032000,
6266
                     0x00032800,
6267
                     0x00030000,
6268
                     0x00033800,
6269
                     0x00034800,
6270
                     0x00037000,
6271
                     0x00036800,
6272
                     0x00030800,
6273
                     0x00035800,
6274
                     0x00034000,
6275
                     0x00031800,
6276
                     0x0001f800,
6277
                     0x0001e000,
6278
                     0x00019000,
6279
                     0x0001d000,
6280
                     0x0001b000,
6281
                     0x0001a000,
6282
                     0x0001a800,
6283
                     0x00018000,
6284
                     0x0001b800,
6285
                     0x0001c800,
6286
                     0x0001f000,
6287
                     0x0001e800,
6288
                     0x00018800,
6289
                     0x0001d800,
6290
                     0x0001c000,
6291
                     0x00019800,
6292
                     0x00027800,
6293
                     0x00026000,
6294
                     0x00021000,
6295
                     0x00025000,
6296
                     0x00023000,
6297
                     0x00022000,
6298
                     0x00022800,
6299
                     0x00020000,
6300
                     0x00023800,
6301
                     0x00024800,
6302
                     0x00027000,
6303
                     0x00026800,
6304
                     0x00020800,
6305
                     0x00025800,
6306
                     0x00024000,
6307
                     0x00021800,
6308
                     0x00067800,
6309
                     0x00066000,
6310
                     0x00061000,
6311
                     0x00065000,
6312
                     0x00063000,
6313
                     0x00062000,
6314
                     0x00062800,
6315
                     0x00060000,
6316
                     0x00063800,
6317
                     0x00064800,
6318
                     0x00067000,
6319
                     0x00066800,
6320
                     0x00060800,
6321
                     0x00065800,
6322
                     0x00064000,
6323
                     0x00061800,
6324
                     0x0007f800,
6325
                     0x0007e000,
6326
                     0x00079000,
6327
                     0x0007d000,
6328
                     0x0007b000,
6329
                     0x0007a000,
6330
                     0x0007a800,
6331
                     0x00078000,
6332
                     0x0007b800,
6333
                     0x0007c800,
6334
                     0x0007f000,
6335
                     0x0007e800,
6336
                     0x00078800,
6337
                     0x0007d800,
6338
                     0x0007c000,
6339
                     0x00079800,
6340
                     0x00077800,
6341
                     0x00076000,
6342
                     0x00071000,
6343
                     0x00075000,
6344
                     0x00073000,
6345
                     0x00072000,
6346
                     0x00072800,
6347
                     0x00070000,
6348
                     0x00073800,
6349
                     0x00074800,
6350
                     0x00077000,
6351
                     0x00076800,
6352
                     0x00070800,
6353
                     0x00075800,
6354
                     0x00074000,
6355
                     0x00071800,
6356
                     0x00017800,
6357
                     0x00016000,
6358
                     0x00011000,
6359
                     0x00015000,
6360
                     0x00013000,
6361
                     0x00012000,
6362
                     0x00012800,
6363
                     0x00010000,
6364
                     0x00013800,
6365
                     0x00014800,
6366
                     0x00017000,
6367
                     0x00016800,
6368
                     0x00010800,
6369
                     0x00015800,
6370
                     0x00014000,
6371
                     0x00011800,
6372
                     0x0003f800,
6373
                     0x0003e000,
6374
                     0x00039000,
6375
                     0x0003d000,
6376
                     0x0003b000,
6377
                     0x0003a000,
6378
                     0x0003a800,
6379
                     0x00038000,
6380
                     0x0003b800,
6381
                     0x0003c800,
6382
                     0x0003f000,
6383
                     0x0003e800,
6384
                     0x00038800,
6385
                     0x0003d800,
6386
                     0x0003c000,
6387
                     0x00039800,
6388
                     0x0006f800,
6389
                     0x0006e000,
6390
                     0x00069000,
6391
                     0x0006d000,
6392
                     0x0006b000,
6393
                     0x0006a000,
6394
                     0x0006a800,
6395
                     0x00068000,
6396
                     0x0006b800,
6397
                     0x0006c800,
6398
                     0x0006f000,
6399
                     0x0006e800,
6400
                     0x00068800,
6401
                     0x0006d800,
6402
                     0x0006c000,
6403
                     0x00069800,
6404
                     0x00047800,
6405
                     0x00046000,
6406
                     0x00041000,
6407
                     0x00045000,
6408
                     0x00043000,
6409
                     0x00042000,
6410
                     0x00042800,
6411
                     0x00040000,
6412
                     0x00043800,
6413
                     0x00044800,
6414
                     0x00047000,
6415
                     0x00046800,
6416
                     0x00040800,
6417
                     0x00045800,
6418
                     0x00044000,
6419
                     0x00041800,
6420
                     0x00007800,
6421
                     0x00006000,
6422
                     0x00001000,
6423
                     0x00005000,
6424
                     0x00003000,
6425
                     0x00002000,
6426
                     0x00002800,
6427
                     0x00000000,
6428
                     0x00003800,
6429
                     0x00004800,
6430
                     0x00007000,
6431
                     0x00006800,
6432
                     0x00000800,
6433
                     0x00005800,
6434
                     0x00004000,
6435
                     0x00001800,
6436
                     0x0002f800,
6437
                     0x0002e000,
6438
                     0x00029000,
6439
                     0x0002d000,
6440
                     0x0002b000,
6441
                     0x0002a000,
6442
                     0x0002a800,
6443
                     0x00028000,
6444
                     0x0002b800,
6445
                     0x0002c800,
6446
                     0x0002f000,
6447
                     0x0002e800,
6448
                     0x00028800,
6449
                     0x0002d800,
6450
                     0x0002c000,
6451
                     0x00029800,
6452
                     0x00057800,
6453
                     0x00056000,
6454
                     0x00051000,
6455
                     0x00055000,
6456
                     0x00053000,
6457
                     0x00052000,
6458
                     0x00052800,
6459
                     0x00050000,
6460
                     0x00053800,
6461
                     0x00054800,
6462
                     0x00057000,
6463
                     0x00056800,
6464
                     0x00050800,
6465
                     0x00055800,
6466
                     0x00054000,
6467
                     0x00051800,
6468
                     0x0004f800,
6469
                     0x0004e000,
6470
                     0x00049000,
6471
                     0x0004d000,
6472
                     0x0004b000,
6473
                     0x0004a000,
6474
                     0x0004a800,
6475
                     0x00048000,
6476
                     0x0004b800,
6477
                     0x0004c800,
6478
                     0x0004f000,
6479
                     0x0004e800,
6480
                     0x00048800,
6481
                     0x0004d800,
6482
                     0x0004c000,
6483
                     0x00049800,
6484
                     0x0000f800,
6485
                     0x0000e000,
6486
                     0x00009000,
6487
                     0x0000d000,
6488
                     0x0000b000,
6489
                     0x0000a000,
6490
                     0x0000a800,
6491
                     0x00008000,
6492
                     0x0000b800,
6493
                     0x0000c800,
6494
                     0x0000f000,
6495
                     0x0000e800,
6496
                     0x00008800,
6497
                     0x0000d800,
6498
                     0x0000c000,
6499
                     0x00009800,
6500
                     /* 1 */
6501
                     0x00880000,
6502
                     0x00e00000,
6503
                     0x00d80000,
6504
                     0x00800000,
6505
                     0x00f80000,
6506
                     0x00f00000,
6507
                     0x00b00000,
6508
                     0x00a80000,
6509
                     0x00d00000,
6510
                     0x00e80000,
6511
                     0x00a00000,
6512
                     0x00c00000,
6513
                     0x00c80000,
6514
                     0x00980000,
6515
                     0x00b80000,
6516
                     0x00900000,
6517
                     0x02880000,
6518
                     0x02e00000,
6519
                     0x02d80000,
6520
                     0x02800000,
6521
                     0x02f80000,
6522
                     0x02f00000,
6523
                     0x02b00000,
6524
                     0x02a80000,
6525
                     0x02d00000,
6526
                     0x02e80000,
6527
                     0x02a00000,
6528
                     0x02c00000,
6529
                     0x02c80000,
6530
                     0x02980000,
6531
                     0x02b80000,
6532
                     0x02900000,
6533
                     0x07080000,
6534
                     0x07600000,
6535
                     0x07580000,
6536
                     0x07000000,
6537
                     0x07780000,
6538
                     0x07700000,
6539
                     0x07300000,
6540
                     0x07280000,
6541
                     0x07500000,
6542
                     0x07680000,
6543
                     0x07200000,
6544
                     0x07400000,
6545
                     0x07480000,
6546
                     0x07180000,
6547
                     0x07380000,
6548
                     0x07100000,
6549
                     0x06080000,
6550
                     0x06600000,
6551
                     0x06580000,
6552
                     0x06000000,
6553
                     0x06780000,
6554
                     0x06700000,
6555
                     0x06300000,
6556
                     0x06280000,
6557
                     0x06500000,
6558
                     0x06680000,
6559
                     0x06200000,
6560
                     0x06400000,
6561
                     0x06480000,
6562
                     0x06180000,
6563
                     0x06380000,
6564
                     0x06100000,
6565
                     0x05080000,
6566
                     0x05600000,
6567
                     0x05580000,
6568
                     0x05000000,
6569
                     0x05780000,
6570
                     0x05700000,
6571
                     0x05300000,
6572
                     0x05280000,
6573
                     0x05500000,
6574
                     0x05680000,
6575
                     0x05200000,
6576
                     0x05400000,
6577
                     0x05480000,
6578
                     0x05180000,
6579
                     0x05380000,
6580
                     0x05100000,
6581
                     0x03880000,
6582
                     0x03e00000,
6583
                     0x03d80000,
6584
                     0x03800000,
6585
                     0x03f80000,
6586
                     0x03f00000,
6587
                     0x03b00000,
6588
                     0x03a80000,
6589
                     0x03d00000,
6590
                     0x03e80000,
6591
                     0x03a00000,
6592
                     0x03c00000,
6593
                     0x03c80000,
6594
                     0x03980000,
6595
                     0x03b80000,
6596
                     0x03900000,
6597
                     0x00080000,
6598
                     0x00600000,
6599
                     0x00580000,
6600
                     0x00000000,
6601
                     0x00780000,
6602
                     0x00700000,
6603
                     0x00300000,
6604
                     0x00280000,
6605
                     0x00500000,
6606
                     0x00680000,
6607
                     0x00200000,
6608
                     0x00400000,
6609
                     0x00480000,
6610
                     0x00180000,
6611
                     0x00380000,
6612
                     0x00100000,
6613
                     0x06880000,
6614
                     0x06e00000,
6615
                     0x06d80000,
6616
                     0x06800000,
6617
                     0x06f80000,
6618
                     0x06f00000,
6619
                     0x06b00000,
6620
                     0x06a80000,
6621
                     0x06d00000,
6622
                     0x06e80000,
6623
                     0x06a00000,
6624
                     0x06c00000,
6625
                     0x06c80000,
6626
                     0x06980000,
6627
                     0x06b80000,
6628
                     0x06900000,
6629
                     0x03080000,
6630
                     0x03600000,
6631
                     0x03580000,
6632
                     0x03000000,
6633
                     0x03780000,
6634
                     0x03700000,
6635
                     0x03300000,
6636
                     0x03280000,
6637
                     0x03500000,
6638
                     0x03680000,
6639
                     0x03200000,
6640
                     0x03400000,
6641
                     0x03480000,
6642
                     0x03180000,
6643
                     0x03380000,
6644
                     0x03100000,
6645
                     0x01080000,
6646
                     0x01600000,
6647
                     0x01580000,
6648
                     0x01000000,
6649
                     0x01780000,
6650
                     0x01700000,
6651
                     0x01300000,
6652
                     0x01280000,
6653
                     0x01500000,
6654
                     0x01680000,
6655
                     0x01200000,
6656
                     0x01400000,
6657
                     0x01480000,
6658
                     0x01180000,
6659
                     0x01380000,
6660
                     0x01100000,
6661
                     0x05880000,
6662
                     0x05e00000,
6663
                     0x05d80000,
6664
                     0x05800000,
6665
                     0x05f80000,
6666
                     0x05f00000,
6667
                     0x05b00000,
6668
                     0x05a80000,
6669
                     0x05d00000,
6670
                     0x05e80000,
6671
                     0x05a00000,
6672
                     0x05c00000,
6673
                     0x05c80000,
6674
                     0x05980000,
6675
                     0x05b80000,
6676
                     0x05900000,
6677
                     0x02080000,
6678
                     0x02600000,
6679
                     0x02580000,
6680
                     0x02000000,
6681
                     0x02780000,
6682
                     0x02700000,
6683
                     0x02300000,
6684
                     0x02280000,
6685
                     0x02500000,
6686
                     0x02680000,
6687
                     0x02200000,
6688
                     0x02400000,
6689
                     0x02480000,
6690
                     0x02180000,
6691
                     0x02380000,
6692
                     0x02100000,
6693
                     0x04880000,
6694
                     0x04e00000,
6695
                     0x04d80000,
6696
                     0x04800000,
6697
                     0x04f80000,
6698
                     0x04f00000,
6699
                     0x04b00000,
6700
                     0x04a80000,
6701
                     0x04d00000,
6702
                     0x04e80000,
6703
                     0x04a00000,
6704
                     0x04c00000,
6705
                     0x04c80000,
6706
                     0x04980000,
6707
                     0x04b80000,
6708
                     0x04900000,
6709
                     0x01880000,
6710
                     0x01e00000,
6711
                     0x01d80000,
6712
                     0x01800000,
6713
                     0x01f80000,
6714
                     0x01f00000,
6715
                     0x01b00000,
6716
                     0x01a80000,
6717
                     0x01d00000,
6718
                     0x01e80000,
6719
                     0x01a00000,
6720
                     0x01c00000,
6721
                     0x01c80000,
6722
                     0x01980000,
6723
                     0x01b80000,
6724
                     0x01900000,
6725
                     0x07880000,
6726
                     0x07e00000,
6727
                     0x07d80000,
6728
                     0x07800000,
6729
                     0x07f80000,
6730
                     0x07f00000,
6731
                     0x07b00000,
6732
                     0x07a80000,
6733
                     0x07d00000,
6734
                     0x07e80000,
6735
                     0x07a00000,
6736
                     0x07c00000,
6737
                     0x07c80000,
6738
                     0x07980000,
6739
                     0x07b80000,
6740
                     0x07900000,
6741
                     0x04080000,
6742
                     0x04600000,
6743
                     0x04580000,
6744
                     0x04000000,
6745
                     0x04780000,
6746
                     0x04700000,
6747
                     0x04300000,
6748
                     0x04280000,
6749
                     0x04500000,
6750
                     0x04680000,
6751
                     0x04200000,
6752
                     0x04400000,
6753
                     0x04480000,
6754
                     0x04180000,
6755
                     0x04380000,
6756
                     0x04100000,
6757
                     /* 2 */
6758
                     0x00000004,
6759
                     0x60000004,
6760
                     0x40000004,
6761
                     0x48000004,
6762
                     0x68000004,
6763
                     0x10000004,
6764
                     0x50000004,
6765
                     0x58000004,
6766
                     0x38000004,
6767
                     0x18000004,
6768
                     0x30000004,
6769
                     0x28000004,
6770
                     0x20000004,
6771
                     0x70000004,
6772
                     0x78000004,
6773
                     0x08000004,
6774
                     0x00000000,
6775
                     0x60000000,
6776
                     0x40000000,
6777
                     0x48000000,
6778
                     0x68000000,
6779
                     0x10000000,
6780
                     0x50000000,
6781
                     0x58000000,
6782
                     0x38000000,
6783
                     0x18000000,
6784
                     0x30000000,
6785
                     0x28000000,
6786
                     0x20000000,
6787
                     0x70000000,
6788
                     0x78000000,
6789
                     0x08000000,
6790
                     0x80000007,
6791
                     0xe0000007,
6792
                     0xc0000007,
6793
                     0xc8000007,
6794
                     0xe8000007,
6795
                     0x90000007,
6796
                     0xd0000007,
6797
                     0xd8000007,
6798
                     0xb8000007,
6799
                     0x98000007,
6800
                     0xb0000007,
6801
                     0xa8000007,
6802
                     0xa0000007,
6803
                     0xf0000007,
6804
                     0xf8000007,
6805
                     0x88000007,
6806
                     0x80000001,
6807
                     0xe0000001,
6808
                     0xc0000001,
6809
                     0xc8000001,
6810
                     0xe8000001,
6811
                     0x90000001,
6812
                     0xd0000001,
6813
                     0xd8000001,
6814
                     0xb8000001,
6815
                     0x98000001,
6816
                     0xb0000001,
6817
                     0xa8000001,
6818
                     0xa0000001,
6819
                     0xf0000001,
6820
                     0xf8000001,
6821
                     0x88000001,
6822
                     0x00000001,
6823
                     0x60000001,
6824
                     0x40000001,
6825
                     0x48000001,
6826
                     0x68000001,
6827
                     0x10000001,
6828
                     0x50000001,
6829
                     0x58000001,
6830
                     0x38000001,
6831
                     0x18000001,
6832
                     0x30000001,
6833
                     0x28000001,
6834
                     0x20000001,
6835
                     0x70000001,
6836
                     0x78000001,
6837
                     0x08000001,
6838
                     0x80000002,
6839
                     0xe0000002,
6840
                     0xc0000002,
6841
                     0xc8000002,
6842
                     0xe8000002,
6843
                     0x90000002,
6844
                     0xd0000002,
6845
                     0xd8000002,
6846
                     0xb8000002,
6847
                     0x98000002,
6848
                     0xb0000002,
6849
                     0xa8000002,
6850
                     0xa0000002,
6851
                     0xf0000002,
6852
                     0xf8000002,
6853
                     0x88000002,
6854
                     0x00000007,
6855
                     0x60000007,
6856
                     0x40000007,
6857
                     0x48000007,
6858
                     0x68000007,
6859
                     0x10000007,
6860
                     0x50000007,
6861
                     0x58000007,
6862
                     0x38000007,
6863
                     0x18000007,
6864
                     0x30000007,
6865
                     0x28000007,
6866
                     0x20000007,
6867
                     0x70000007,
6868
                     0x78000007,
6869
                     0x08000007,
6870
                     0x80000005,
6871
                     0xe0000005,
6872
                     0xc0000005,
6873
                     0xc8000005,
6874
                     0xe8000005,
6875
                     0x90000005,
6876
                     0xd0000005,
6877
                     0xd8000005,
6878
                     0xb8000005,
6879
                     0x98000005,
6880
                     0xb0000005,
6881
                     0xa8000005,
6882
                     0xa0000005,
6883
                     0xf0000005,
6884
                     0xf8000005,
6885
                     0x88000005,
6886
                     0x80000000,
6887
                     0xe0000000,
6888
                     0xc0000000,
6889
                     0xc8000000,
6890
                     0xe8000000,
6891
                     0x90000000,
6892
                     0xd0000000,
6893
                     0xd8000000,
6894
                     0xb8000000,
6895
                     0x98000000,
6896
                     0xb0000000,
6897
                     0xa8000000,
6898
                     0xa0000000,
6899
                     0xf0000000,
6900
                     0xf8000000,
6901
                     0x88000000,
6902
                     0x00000005,
6903
                     0x60000005,
6904
                     0x40000005,
6905
                     0x48000005,
6906
                     0x68000005,
6907
                     0x10000005,
6908
                     0x50000005,
6909
                     0x58000005,
6910
                     0x38000005,
6911
                     0x18000005,
6912
                     0x30000005,
6913
                     0x28000005,
6914
                     0x20000005,
6915
                     0x70000005,
6916
                     0x78000005,
6917
                     0x08000005,
6918
                     0x00000002,
6919
                     0x60000002,
6920
                     0x40000002,
6921
                     0x48000002,
6922
                     0x68000002,
6923
                     0x10000002,
6924
                     0x50000002,
6925
                     0x58000002,
6926
                     0x38000002,
6927
                     0x18000002,
6928
                     0x30000002,
6929
                     0x28000002,
6930
                     0x20000002,
6931
                     0x70000002,
6932
                     0x78000002,
6933
                     0x08000002,
6934
                     0x80000003,
6935
                     0xe0000003,
6936
                     0xc0000003,
6937
                     0xc8000003,
6938
                     0xe8000003,
6939
                     0x90000003,
6940
                     0xd0000003,
6941
                     0xd8000003,
6942
                     0xb8000003,
6943
                     0x98000003,
6944
                     0xb0000003,
6945
                     0xa8000003,
6946
                     0xa0000003,
6947
                     0xf0000003,
6948
                     0xf8000003,
6949
                     0x88000003,
6950
                     0x00000006,
6951
                     0x60000006,
6952
                     0x40000006,
6953
                     0x48000006,
6954
                     0x68000006,
6955
                     0x10000006,
6956
                     0x50000006,
6957
                     0x58000006,
6958
                     0x38000006,
6959
                     0x18000006,
6960
                     0x30000006,
6961
                     0x28000006,
6962
                     0x20000006,
6963
                     0x70000006,
6964
                     0x78000006,
6965
                     0x08000006,
6966
                     0x80000004,
6967
                     0xe0000004,
6968
                     0xc0000004,
6969
                     0xc8000004,
6970
                     0xe8000004,
6971
                     0x90000004,
6972
                     0xd0000004,
6973
                     0xd8000004,
6974
                     0xb8000004,
6975
                     0x98000004,
6976
                     0xb0000004,
6977
                     0xa8000004,
6978
                     0xa0000004,
6979
                     0xf0000004,
6980
                     0xf8000004,
6981
                     0x88000004,
6982
                     0x80000006,
6983
                     0xe0000006,
6984
                     0xc0000006,
6985
                     0xc8000006,
6986
                     0xe8000006,
6987
                     0x90000006,
6988
                     0xd0000006,
6989
                     0xd8000006,
6990
                     0xb8000006,
6991
                     0x98000006,
6992
                     0xb0000006,
6993
                     0xa8000006,
6994
                     0xa0000006,
6995
                     0xf0000006,
6996
                     0xf8000006,
6997
                     0x88000006,
6998
                     0x00000003,
6999
                     0x60000003,
7000
                     0x40000003,
7001
                     0x48000003,
7002
                     0x68000003,
7003
                     0x10000003,
7004
                     0x50000003,
7005
                     0x58000003,
7006
                     0x38000003,
7007
                     0x18000003,
7008
                     0x30000003,
7009
                     0x28000003,
7010
                     0x20000003,
7011
                     0x70000003,
7012
                     0x78000003,
7013
                     0x08000003,
7014
                     /* 3 */
7015
                     0x00000098,
7016
                     0x00000080,
7017
                     0x000000b0,
7018
                     0x000000f8,
7019
                     0x00000088,
7020
                     0x000000f0,
7021
                     0x000000c8,
7022
                     0x00000090,
7023
                     0x000000e8,
7024
                     0x000000c0,
7025
                     0x000000e0,
7026
                     0x000000a0,
7027
                     0x000000d8,
7028
                     0x000000d0,
7029
                     0x000000a8,
7030
                     0x000000b8,
7031
                     0x00000518,
7032
                     0x00000500,
7033
                     0x00000530,
7034
                     0x00000578,
7035
                     0x00000508,
7036
                     0x00000570,
7037
                     0x00000548,
7038
                     0x00000510,
7039
                     0x00000568,
7040
                     0x00000540,
7041
                     0x00000560,
7042
                     0x00000520,
7043
                     0x00000558,
7044
                     0x00000550,
7045
                     0x00000528,
7046
                     0x00000538,
7047
                     0x00000318,
7048
                     0x00000300,
7049
                     0x00000330,
7050
                     0x00000378,
7051
                     0x00000308,
7052
                     0x00000370,
7053
                     0x00000348,
7054
                     0x00000310,
7055
                     0x00000368,
7056
                     0x00000340,
7057
                     0x00000360,
7058
                     0x00000320,
7059
                     0x00000358,
7060
                     0x00000350,
7061
                     0x00000328,
7062
                     0x00000338,
7063
                     0x00000418,
7064
                     0x00000400,
7065
                     0x00000430,
7066
                     0x00000478,
7067
                     0x00000408,
7068
                     0x00000470,
7069
                     0x00000448,
7070
                     0x00000410,
7071
                     0x00000468,
7072
                     0x00000440,
7073
                     0x00000460,
7074
                     0x00000420,
7075
                     0x00000458,
7076
                     0x00000450,
7077
                     0x00000428,
7078
                     0x00000438,
7079
                     0x00000798,
7080
                     0x00000780,
7081
                     0x000007b0,
7082
                     0x000007f8,
7083
                     0x00000788,
7084
                     0x000007f0,
7085
                     0x000007c8,
7086
                     0x00000790,
7087
                     0x000007e8,
7088
                     0x000007c0,
7089
                     0x000007e0,
7090
                     0x000007a0,
7091
                     0x000007d8,
7092
                     0x000007d0,
7093
                     0x000007a8,
7094
                     0x000007b8,
7095
                     0x00000598,
7096
                     0x00000580,
7097
                     0x000005b0,
7098
                     0x000005f8,
7099
                     0x00000588,
7100
                     0x000005f0,
7101
                     0x000005c8,
7102
                     0x00000590,
7103
                     0x000005e8,
7104
                     0x000005c0,
7105
                     0x000005e0,
7106
                     0x000005a0,
7107
                     0x000005d8,
7108
                     0x000005d0,
7109
                     0x000005a8,
7110
                     0x000005b8,
7111
                     0x00000018,
7112
                     0x00000000,
7113
                     0x00000030,
7114
                     0x00000078,
7115
                     0x00000008,
7116
                     0x00000070,
7117
                     0x00000048,
7118
                     0x00000010,
7119
                     0x00000068,
7120
                     0x00000040,
7121
                     0x00000060,
7122
                     0x00000020,
7123
                     0x00000058,
7124
                     0x00000050,
7125
                     0x00000028,
7126
                     0x00000038,
7127
                     0x00000218,
7128
                     0x00000200,
7129
                     0x00000230,
7130
                     0x00000278,
7131
                     0x00000208,
7132
                     0x00000270,
7133
                     0x00000248,
7134
                     0x00000210,
7135
                     0x00000268,
7136
                     0x00000240,
7137
                     0x00000260,
7138
                     0x00000220,
7139
                     0x00000258,
7140
                     0x00000250,
7141
                     0x00000228,
7142
                     0x00000238,
7143
                     0x00000618,
7144
                     0x00000600,
7145
                     0x00000630,
7146
                     0x00000678,
7147
                     0x00000608,
7148
                     0x00000670,
7149
                     0x00000648,
7150
                     0x00000610,
7151
                     0x00000668,
7152
                     0x00000640,
7153
                     0x00000660,
7154
                     0x00000620,
7155
                     0x00000658,
7156
                     0x00000650,
7157
                     0x00000628,
7158
                     0x00000638,
7159
                     0x00000198,
7160
                     0x00000180,
7161
                     0x000001b0,
7162
                     0x000001f8,
7163
                     0x00000188,
7164
                     0x000001f0,
7165
                     0x000001c8,
7166
                     0x00000190,
7167
                     0x000001e8,
7168
                     0x000001c0,
7169
                     0x000001e0,
7170
                     0x000001a0,
7171
                     0x000001d8,
7172
                     0x000001d0,
7173
                     0x000001a8,
7174
                     0x000001b8,
7175
                     0x00000298,
7176
                     0x00000280,
7177
                     0x000002b0,
7178
                     0x000002f8,
7179
                     0x00000288,
7180
                     0x000002f0,
7181
                     0x000002c8,
7182
                     0x00000290,
7183
                     0x000002e8,
7184
                     0x000002c0,
7185
                     0x000002e0,
7186
                     0x000002a0,
7187
                     0x000002d8,
7188
                     0x000002d0,
7189
                     0x000002a8,
7190
                     0x000002b8,
7191
                     0x00000498,
7192
                     0x00000480,
7193
                     0x000004b0,
7194
                     0x000004f8,
7195
                     0x00000488,
7196
                     0x000004f0,
7197
                     0x000004c8,
7198
                     0x00000490,
7199
                     0x000004e8,
7200
                     0x000004c0,
7201
                     0x000004e0,
7202
                     0x000004a0,
7203
                     0x000004d8,
7204
                     0x000004d0,
7205
                     0x000004a8,
7206
                     0x000004b8,
7207
                     0x00000398,
7208
                     0x00000380,
7209
                     0x000003b0,
7210
                     0x000003f8,
7211
                     0x00000388,
7212
                     0x000003f0,
7213
                     0x000003c8,
7214
                     0x00000390,
7215
                     0x000003e8,
7216
                     0x000003c0,
7217
                     0x000003e0,
7218
                     0x000003a0,
7219
                     0x000003d8,
7220
                     0x000003d0,
7221
                     0x000003a8,
7222
                     0x000003b8,
7223
                     0x00000698,
7224
                     0x00000680,
7225
                     0x000006b0,
7226
                     0x000006f8,
7227
                     0x00000688,
7228
                     0x000006f0,
7229
                     0x000006c8,
7230
                     0x00000690,
7231
                     0x000006e8,
7232
                     0x000006c0,
7233
                     0x000006e0,
7234
                     0x000006a0,
7235
                     0x000006d8,
7236
                     0x000006d0,
7237
                     0x000006a8,
7238
                     0x000006b8,
7239
                     0x00000118,
7240
                     0x00000100,
7241
                     0x00000130,
7242
                     0x00000178,
7243
                     0x00000108,
7244
                     0x00000170,
7245
                     0x00000148,
7246
                     0x00000110,
7247
                     0x00000168,
7248
                     0x00000140,
7249
                     0x00000160,
7250
                     0x00000120,
7251
                     0x00000158,
7252
                     0x00000150,
7253
                     0x00000128,
7254
                     0x00000138,
7255
                     0x00000718,
7256
                     0x00000700,
7257
                     0x00000730,
7258
                     0x00000778,
7259
                     0x00000708,
7260
                     0x00000770,
7261
                     0x00000748,
7262
                     0x00000710,
7263
                     0x00000768,
7264
                     0x00000740,
7265
                     0x00000760,
7266
                     0x00000720,
7267
                     0x00000758,
7268
                     0x00000750,
7269
                     0x00000728,
7270
                     0x00000738,
7271
                   } };
7272
7273
const struct gost28147_param gost28147_param_TC26_Z = { 1,
7274
              {
7275
                /* 0 */
7276
                0x00036000,
7277
                0x00032000,
7278
                0x00033000,
7279
                0x00031000,
7280
                0x00035000,
7281
                0x00032800,
7282
                0x00035800,
7283
                0x00034800,
7284
                0x00037000,
7285
                0x00034000,
7286
                0x00036800,
7287
                0x00033800,
7288
                0x00030000,
7289
                0x00031800,
7290
                0x00037800,
7291
                0x00030800,
7292
                0x00046000,
7293
                0x00042000,
7294
                0x00043000,
7295
                0x00041000,
7296
                0x00045000,
7297
                0x00042800,
7298
                0x00045800,
7299
                0x00044800,
7300
                0x00047000,
7301
                0x00044000,
7302
                0x00046800,
7303
                0x00043800,
7304
                0x00040000,
7305
                0x00041800,
7306
                0x00047800,
7307
                0x00040800,
7308
                0x00016000,
7309
                0x00012000,
7310
                0x00013000,
7311
                0x00011000,
7312
                0x00015000,
7313
                0x00012800,
7314
                0x00015800,
7315
                0x00014800,
7316
                0x00017000,
7317
                0x00014000,
7318
                0x00016800,
7319
                0x00013800,
7320
                0x00010000,
7321
                0x00011800,
7322
                0x00017800,
7323
                0x00010800,
7324
                0x0001e000,
7325
                0x0001a000,
7326
                0x0001b000,
7327
                0x00019000,
7328
                0x0001d000,
7329
                0x0001a800,
7330
                0x0001d800,
7331
                0x0001c800,
7332
                0x0001f000,
7333
                0x0001c000,
7334
                0x0001e800,
7335
                0x0001b800,
7336
                0x00018000,
7337
                0x00019800,
7338
                0x0001f800,
7339
                0x00018800,
7340
                0x0004e000,
7341
                0x0004a000,
7342
                0x0004b000,
7343
                0x00049000,
7344
                0x0004d000,
7345
                0x0004a800,
7346
                0x0004d800,
7347
                0x0004c800,
7348
                0x0004f000,
7349
                0x0004c000,
7350
                0x0004e800,
7351
                0x0004b800,
7352
                0x00048000,
7353
                0x00049800,
7354
                0x0004f800,
7355
                0x00048800,
7356
                0x00056000,
7357
                0x00052000,
7358
                0x00053000,
7359
                0x00051000,
7360
                0x00055000,
7361
                0x00052800,
7362
                0x00055800,
7363
                0x00054800,
7364
                0x00057000,
7365
                0x00054000,
7366
                0x00056800,
7367
                0x00053800,
7368
                0x00050000,
7369
                0x00051800,
7370
                0x00057800,
7371
                0x00050800,
7372
                0x0002e000,
7373
                0x0002a000,
7374
                0x0002b000,
7375
                0x00029000,
7376
                0x0002d000,
7377
                0x0002a800,
7378
                0x0002d800,
7379
                0x0002c800,
7380
                0x0002f000,
7381
                0x0002c000,
7382
                0x0002e800,
7383
                0x0002b800,
7384
                0x00028000,
7385
                0x00029800,
7386
                0x0002f800,
7387
                0x00028800,
7388
                0x00066000,
7389
                0x00062000,
7390
                0x00063000,
7391
                0x00061000,
7392
                0x00065000,
7393
                0x00062800,
7394
                0x00065800,
7395
                0x00064800,
7396
                0x00067000,
7397
                0x00064000,
7398
                0x00066800,
7399
                0x00063800,
7400
                0x00060000,
7401
                0x00061800,
7402
                0x00067800,
7403
                0x00060800,
7404
                0x0000e000,
7405
                0x0000a000,
7406
                0x0000b000,
7407
                0x00009000,
7408
                0x0000d000,
7409
                0x0000a800,
7410
                0x0000d800,
7411
                0x0000c800,
7412
                0x0000f000,
7413
                0x0000c000,
7414
                0x0000e800,
7415
                0x0000b800,
7416
                0x00008000,
7417
                0x00009800,
7418
                0x0000f800,
7419
                0x00008800,
7420
                0x00076000,
7421
                0x00072000,
7422
                0x00073000,
7423
                0x00071000,
7424
                0x00075000,
7425
                0x00072800,
7426
                0x00075800,
7427
                0x00074800,
7428
                0x00077000,
7429
                0x00074000,
7430
                0x00076800,
7431
                0x00073800,
7432
                0x00070000,
7433
                0x00071800,
7434
                0x00077800,
7435
                0x00070800,
7436
                0x00026000,
7437
                0x00022000,
7438
                0x00023000,
7439
                0x00021000,
7440
                0x00025000,
7441
                0x00022800,
7442
                0x00025800,
7443
                0x00024800,
7444
                0x00027000,
7445
                0x00024000,
7446
                0x00026800,
7447
                0x00023800,
7448
                0x00020000,
7449
                0x00021800,
7450
                0x00027800,
7451
                0x00020800,
7452
                0x0003e000,
7453
                0x0003a000,
7454
                0x0003b000,
7455
                0x00039000,
7456
                0x0003d000,
7457
                0x0003a800,
7458
                0x0003d800,
7459
                0x0003c800,
7460
                0x0003f000,
7461
                0x0003c000,
7462
                0x0003e800,
7463
                0x0003b800,
7464
                0x00038000,
7465
                0x00039800,
7466
                0x0003f800,
7467
                0x00038800,
7468
                0x0005e000,
7469
                0x0005a000,
7470
                0x0005b000,
7471
                0x00059000,
7472
                0x0005d000,
7473
                0x0005a800,
7474
                0x0005d800,
7475
                0x0005c800,
7476
                0x0005f000,
7477
                0x0005c000,
7478
                0x0005e800,
7479
                0x0005b800,
7480
                0x00058000,
7481
                0x00059800,
7482
                0x0005f800,
7483
                0x00058800,
7484
                0x0006e000,
7485
                0x0006a000,
7486
                0x0006b000,
7487
                0x00069000,
7488
                0x0006d000,
7489
                0x0006a800,
7490
                0x0006d800,
7491
                0x0006c800,
7492
                0x0006f000,
7493
                0x0006c000,
7494
                0x0006e800,
7495
                0x0006b800,
7496
                0x00068000,
7497
                0x00069800,
7498
                0x0006f800,
7499
                0x00068800,
7500
                0x00006000,
7501
                0x00002000,
7502
                0x00003000,
7503
                0x00001000,
7504
                0x00005000,
7505
                0x00002800,
7506
                0x00005800,
7507
                0x00004800,
7508
                0x00007000,
7509
                0x00004000,
7510
                0x00006800,
7511
                0x00003800,
7512
                0x00000000,
7513
                0x00001800,
7514
                0x00007800,
7515
                0x00000800,
7516
                0x0007e000,
7517
                0x0007a000,
7518
                0x0007b000,
7519
                0x00079000,
7520
                0x0007d000,
7521
                0x0007a800,
7522
                0x0007d800,
7523
                0x0007c800,
7524
                0x0007f000,
7525
                0x0007c000,
7526
                0x0007e800,
7527
                0x0007b800,
7528
                0x00078000,
7529
                0x00079800,
7530
                0x0007f800,
7531
                0x00078800,
7532
                /* 1 */
7533
                0x06580000,
7534
                0x06180000,
7535
                0x06280000,
7536
                0x06400000,
7537
                0x06100000,
7538
                0x06780000,
7539
                0x06500000,
7540
                0x06680000,
7541
                0x06700000,
7542
                0x06080000,
7543
                0x06380000,
7544
                0x06200000,
7545
                0x06600000,
7546
                0x06480000,
7547
                0x06300000,
7548
                0x06000000,
7549
                0x04580000,
7550
                0x04180000,
7551
                0x04280000,
7552
                0x04400000,
7553
                0x04100000,
7554
                0x04780000,
7555
                0x04500000,
7556
                0x04680000,
7557
                0x04700000,
7558
                0x04080000,
7559
                0x04380000,
7560
                0x04200000,
7561
                0x04600000,
7562
                0x04480000,
7563
                0x04300000,
7564
                0x04000000,
7565
                0x01580000,
7566
                0x01180000,
7567
                0x01280000,
7568
                0x01400000,
7569
                0x01100000,
7570
                0x01780000,
7571
                0x01500000,
7572
                0x01680000,
7573
                0x01700000,
7574
                0x01080000,
7575
                0x01380000,
7576
                0x01200000,
7577
                0x01600000,
7578
                0x01480000,
7579
                0x01300000,
7580
                0x01000000,
7581
                0x00d80000,
7582
                0x00980000,
7583
                0x00a80000,
7584
                0x00c00000,
7585
                0x00900000,
7586
                0x00f80000,
7587
                0x00d00000,
7588
                0x00e80000,
7589
                0x00f00000,
7590
                0x00880000,
7591
                0x00b80000,
7592
                0x00a00000,
7593
                0x00e00000,
7594
                0x00c80000,
7595
                0x00b00000,
7596
                0x00800000,
7597
                0x06d80000,
7598
                0x06980000,
7599
                0x06a80000,
7600
                0x06c00000,
7601
                0x06900000,
7602
                0x06f80000,
7603
                0x06d00000,
7604
                0x06e80000,
7605
                0x06f00000,
7606
                0x06880000,
7607
                0x06b80000,
7608
                0x06a00000,
7609
                0x06e00000,
7610
                0x06c80000,
7611
                0x06b00000,
7612
                0x06800000,
7613
                0x02580000,
7614
                0x02180000,
7615
                0x02280000,
7616
                0x02400000,
7617
                0x02100000,
7618
                0x02780000,
7619
                0x02500000,
7620
                0x02680000,
7621
                0x02700000,
7622
                0x02080000,
7623
                0x02380000,
7624
                0x02200000,
7625
                0x02600000,
7626
                0x02480000,
7627
                0x02300000,
7628
                0x02000000,
7629
                0x07d80000,
7630
                0x07980000,
7631
                0x07a80000,
7632
                0x07c00000,
7633
                0x07900000,
7634
                0x07f80000,
7635
                0x07d00000,
7636
                0x07e80000,
7637
                0x07f00000,
7638
                0x07880000,
7639
                0x07b80000,
7640
                0x07a00000,
7641
                0x07e00000,
7642
                0x07c80000,
7643
                0x07b00000,
7644
                0x07800000,
7645
                0x03580000,
7646
                0x03180000,
7647
                0x03280000,
7648
                0x03400000,
7649
                0x03100000,
7650
                0x03780000,
7651
                0x03500000,
7652
                0x03680000,
7653
                0x03700000,
7654
                0x03080000,
7655
                0x03380000,
7656
                0x03200000,
7657
                0x03600000,
7658
                0x03480000,
7659
                0x03300000,
7660
                0x03000000,
7661
                0x03d80000,
7662
                0x03980000,
7663
                0x03a80000,
7664
                0x03c00000,
7665
                0x03900000,
7666
                0x03f80000,
7667
                0x03d00000,
7668
                0x03e80000,
7669
                0x03f00000,
7670
                0x03880000,
7671
                0x03b80000,
7672
                0x03a00000,
7673
                0x03e00000,
7674
                0x03c80000,
7675
                0x03b00000,
7676
                0x03800000,
7677
                0x00580000,
7678
                0x00180000,
7679
                0x00280000,
7680
                0x00400000,
7681
                0x00100000,
7682
                0x00780000,
7683
                0x00500000,
7684
                0x00680000,
7685
                0x00700000,
7686
                0x00080000,
7687
                0x00380000,
7688
                0x00200000,
7689
                0x00600000,
7690
                0x00480000,
7691
                0x00300000,
7692
                0x00000000,
7693
                0x05580000,
7694
                0x05180000,
7695
                0x05280000,
7696
                0x05400000,
7697
                0x05100000,
7698
                0x05780000,
7699
                0x05500000,
7700
                0x05680000,
7701
                0x05700000,
7702
                0x05080000,
7703
                0x05380000,
7704
                0x05200000,
7705
                0x05600000,
7706
                0x05480000,
7707
                0x05300000,
7708
                0x05000000,
7709
                0x02d80000,
7710
                0x02980000,
7711
                0x02a80000,
7712
                0x02c00000,
7713
                0x02900000,
7714
                0x02f80000,
7715
                0x02d00000,
7716
                0x02e80000,
7717
                0x02f00000,
7718
                0x02880000,
7719
                0x02b80000,
7720
                0x02a00000,
7721
                0x02e00000,
7722
                0x02c80000,
7723
                0x02b00000,
7724
                0x02800000,
7725
                0x01d80000,
7726
                0x01980000,
7727
                0x01a80000,
7728
                0x01c00000,
7729
                0x01900000,
7730
                0x01f80000,
7731
                0x01d00000,
7732
                0x01e80000,
7733
                0x01f00000,
7734
                0x01880000,
7735
                0x01b80000,
7736
                0x01a00000,
7737
                0x01e00000,
7738
                0x01c80000,
7739
                0x01b00000,
7740
                0x01800000,
7741
                0x07580000,
7742
                0x07180000,
7743
                0x07280000,
7744
                0x07400000,
7745
                0x07100000,
7746
                0x07780000,
7747
                0x07500000,
7748
                0x07680000,
7749
                0x07700000,
7750
                0x07080000,
7751
                0x07380000,
7752
                0x07200000,
7753
                0x07600000,
7754
                0x07480000,
7755
                0x07300000,
7756
                0x07000000,
7757
                0x04d80000,
7758
                0x04980000,
7759
                0x04a80000,
7760
                0x04c00000,
7761
                0x04900000,
7762
                0x04f80000,
7763
                0x04d00000,
7764
                0x04e80000,
7765
                0x04f00000,
7766
                0x04880000,
7767
                0x04b80000,
7768
                0x04a00000,
7769
                0x04e00000,
7770
                0x04c80000,
7771
                0x04b00000,
7772
                0x04800000,
7773
                0x05d80000,
7774
                0x05980000,
7775
                0x05a80000,
7776
                0x05c00000,
7777
                0x05900000,
7778
                0x05f80000,
7779
                0x05d00000,
7780
                0x05e80000,
7781
                0x05f00000,
7782
                0x05880000,
7783
                0x05b80000,
7784
                0x05a00000,
7785
                0x05e00000,
7786
                0x05c80000,
7787
                0x05b00000,
7788
                0x05800000,
7789
                /* 2 */
7790
                0xb8000002,
7791
                0xf8000002,
7792
                0xa8000002,
7793
                0xd0000002,
7794
                0xc0000002,
7795
                0x88000002,
7796
                0xb0000002,
7797
                0xe8000002,
7798
                0x80000002,
7799
                0xc8000002,
7800
                0x98000002,
7801
                0xf0000002,
7802
                0xd8000002,
7803
                0xa0000002,
7804
                0x90000002,
7805
                0xe0000002,
7806
                0xb8000006,
7807
                0xf8000006,
7808
                0xa8000006,
7809
                0xd0000006,
7810
                0xc0000006,
7811
                0x88000006,
7812
                0xb0000006,
7813
                0xe8000006,
7814
                0x80000006,
7815
                0xc8000006,
7816
                0x98000006,
7817
                0xf0000006,
7818
                0xd8000006,
7819
                0xa0000006,
7820
                0x90000006,
7821
                0xe0000006,
7822
                0xb8000007,
7823
                0xf8000007,
7824
                0xa8000007,
7825
                0xd0000007,
7826
                0xc0000007,
7827
                0x88000007,
7828
                0xb0000007,
7829
                0xe8000007,
7830
                0x80000007,
7831
                0xc8000007,
7832
                0x98000007,
7833
                0xf0000007,
7834
                0xd8000007,
7835
                0xa0000007,
7836
                0x90000007,
7837
                0xe0000007,
7838
                0x38000003,
7839
                0x78000003,
7840
                0x28000003,
7841
                0x50000003,
7842
                0x40000003,
7843
                0x08000003,
7844
                0x30000003,
7845
                0x68000003,
7846
                0x00000003,
7847
                0x48000003,
7848
                0x18000003,
7849
                0x70000003,
7850
                0x58000003,
7851
                0x20000003,
7852
                0x10000003,
7853
                0x60000003,
7854
                0xb8000004,
7855
                0xf8000004,
7856
                0xa8000004,
7857
                0xd0000004,
7858
                0xc0000004,
7859
                0x88000004,
7860
                0xb0000004,
7861
                0xe8000004,
7862
                0x80000004,
7863
                0xc8000004,
7864
                0x98000004,
7865
                0xf0000004,
7866
                0xd8000004,
7867
                0xa0000004,
7868
                0x90000004,
7869
                0xe0000004,
7870
                0x38000001,
7871
                0x78000001,
7872
                0x28000001,
7873
                0x50000001,
7874
                0x40000001,
7875
                0x08000001,
7876
                0x30000001,
7877
                0x68000001,
7878
                0x00000001,
7879
                0x48000001,
7880
                0x18000001,
7881
                0x70000001,
7882
                0x58000001,
7883
                0x20000001,
7884
                0x10000001,
7885
                0x60000001,
7886
                0x38000006,
7887
                0x78000006,
7888
                0x28000006,
7889
                0x50000006,
7890
                0x40000006,
7891
                0x08000006,
7892
                0x30000006,
7893
                0x68000006,
7894
                0x00000006,
7895
                0x48000006,
7896
                0x18000006,
7897
                0x70000006,
7898
                0x58000006,
7899
                0x20000006,
7900
                0x10000006,
7901
                0x60000006,
7902
                0x38000005,
7903
                0x78000005,
7904
                0x28000005,
7905
                0x50000005,
7906
                0x40000005,
7907
                0x08000005,
7908
                0x30000005,
7909
                0x68000005,
7910
                0x00000005,
7911
                0x48000005,
7912
                0x18000005,
7913
                0x70000005,
7914
                0x58000005,
7915
                0x20000005,
7916
                0x10000005,
7917
                0x60000005,
7918
                0xb8000005,
7919
                0xf8000005,
7920
                0xa8000005,
7921
                0xd0000005,
7922
                0xc0000005,
7923
                0x88000005,
7924
                0xb0000005,
7925
                0xe8000005,
7926
                0x80000005,
7927
                0xc8000005,
7928
                0x98000005,
7929
                0xf0000005,
7930
                0xd8000005,
7931
                0xa0000005,
7932
                0x90000005,
7933
                0xe0000005,
7934
                0xb8000003,
7935
                0xf8000003,
7936
                0xa8000003,
7937
                0xd0000003,
7938
                0xc0000003,
7939
                0x88000003,
7940
                0xb0000003,
7941
                0xe8000003,
7942
                0x80000003,
7943
                0xc8000003,
7944
                0x98000003,
7945
                0xf0000003,
7946
                0xd8000003,
7947
                0xa0000003,
7948
                0x90000003,
7949
                0xe0000003,
7950
                0x38000004,
7951
                0x78000004,
7952
                0x28000004,
7953
                0x50000004,
7954
                0x40000004,
7955
                0x08000004,
7956
                0x30000004,
7957
                0x68000004,
7958
                0x00000004,
7959
                0x48000004,
7960
                0x18000004,
7961
                0x70000004,
7962
                0x58000004,
7963
                0x20000004,
7964
                0x10000004,
7965
                0x60000004,
7966
                0xb8000000,
7967
                0xf8000000,
7968
                0xa8000000,
7969
                0xd0000000,
7970
                0xc0000000,
7971
                0x88000000,
7972
                0xb0000000,
7973
                0xe8000000,
7974
                0x80000000,
7975
                0xc8000000,
7976
                0x98000000,
7977
                0xf0000000,
7978
                0xd8000000,
7979
                0xa0000000,
7980
                0x90000000,
7981
                0xe0000000,
7982
                0x38000002,
7983
                0x78000002,
7984
                0x28000002,
7985
                0x50000002,
7986
                0x40000002,
7987
                0x08000002,
7988
                0x30000002,
7989
                0x68000002,
7990
                0x00000002,
7991
                0x48000002,
7992
                0x18000002,
7993
                0x70000002,
7994
                0x58000002,
7995
                0x20000002,
7996
                0x10000002,
7997
                0x60000002,
7998
                0xb8000001,
7999
                0xf8000001,
8000
                0xa8000001,
8001
                0xd0000001,
8002
                0xc0000001,
8003
                0x88000001,
8004
                0xb0000001,
8005
                0xe8000001,
8006
                0x80000001,
8007
                0xc8000001,
8008
                0x98000001,
8009
                0xf0000001,
8010
                0xd8000001,
8011
                0xa0000001,
8012
                0x90000001,
8013
                0xe0000001,
8014
                0x38000007,
8015
                0x78000007,
8016
                0x28000007,
8017
                0x50000007,
8018
                0x40000007,
8019
                0x08000007,
8020
                0x30000007,
8021
                0x68000007,
8022
                0x00000007,
8023
                0x48000007,
8024
                0x18000007,
8025
                0x70000007,
8026
                0x58000007,
8027
                0x20000007,
8028
                0x10000007,
8029
                0x60000007,
8030
                0x38000000,
8031
                0x78000000,
8032
                0x28000000,
8033
                0x50000000,
8034
                0x40000000,
8035
                0x08000000,
8036
                0x30000000,
8037
                0x68000000,
8038
                0x00000000,
8039
                0x48000000,
8040
                0x18000000,
8041
                0x70000000,
8042
                0x58000000,
8043
                0x20000000,
8044
                0x10000000,
8045
                0x60000000,
8046
                /* 3 */
8047
                0x000000c0,
8048
                0x000000f0,
8049
                0x00000090,
8050
                0x000000a8,
8051
                0x000000b0,
8052
                0x000000c8,
8053
                0x00000088,
8054
                0x000000e0,
8055
                0x000000f8,
8056
                0x000000a0,
8057
                0x000000d8,
8058
                0x00000080,
8059
                0x000000e8,
8060
                0x000000d0,
8061
                0x00000098,
8062
                0x000000b8,
8063
                0x000003c0,
8064
                0x000003f0,
8065
                0x00000390,
8066
                0x000003a8,
8067
                0x000003b0,
8068
                0x000003c8,
8069
                0x00000388,
8070
                0x000003e0,
8071
                0x000003f8,
8072
                0x000003a0,
8073
                0x000003d8,
8074
                0x00000380,
8075
                0x000003e8,
8076
                0x000003d0,
8077
                0x00000398,
8078
                0x000003b8,
8079
                0x00000740,
8080
                0x00000770,
8081
                0x00000710,
8082
                0x00000728,
8083
                0x00000730,
8084
                0x00000748,
8085
                0x00000708,
8086
                0x00000760,
8087
                0x00000778,
8088
                0x00000720,
8089
                0x00000758,
8090
                0x00000700,
8091
                0x00000768,
8092
                0x00000750,
8093
                0x00000718,
8094
                0x00000738,
8095
                0x000006c0,
8096
                0x000006f0,
8097
                0x00000690,
8098
                0x000006a8,
8099
                0x000006b0,
8100
                0x000006c8,
8101
                0x00000688,
8102
                0x000006e0,
8103
                0x000006f8,
8104
                0x000006a0,
8105
                0x000006d8,
8106
                0x00000680,
8107
                0x000006e8,
8108
                0x000006d0,
8109
                0x00000698,
8110
                0x000006b8,
8111
                0x00000040,
8112
                0x00000070,
8113
                0x00000010,
8114
                0x00000028,
8115
                0x00000030,
8116
                0x00000048,
8117
                0x00000008,
8118
                0x00000060,
8119
                0x00000078,
8120
                0x00000020,
8121
                0x00000058,
8122
                0x00000000,
8123
                0x00000068,
8124
                0x00000050,
8125
                0x00000018,
8126
                0x00000038,
8127
                0x000002c0,
8128
                0x000002f0,
8129
                0x00000290,
8130
                0x000002a8,
8131
                0x000002b0,
8132
                0x000002c8,
8133
                0x00000288,
8134
                0x000002e0,
8135
                0x000002f8,
8136
                0x000002a0,
8137
                0x000002d8,
8138
                0x00000280,
8139
                0x000002e8,
8140
                0x000002d0,
8141
                0x00000298,
8142
                0x000002b8,
8143
                0x00000440,
8144
                0x00000470,
8145
                0x00000410,
8146
                0x00000428,
8147
                0x00000430,
8148
                0x00000448,
8149
                0x00000408,
8150
                0x00000460,
8151
                0x00000478,
8152
                0x00000420,
8153
                0x00000458,
8154
                0x00000400,
8155
                0x00000468,
8156
                0x00000450,
8157
                0x00000418,
8158
                0x00000438,
8159
                0x000001c0,
8160
                0x000001f0,
8161
                0x00000190,
8162
                0x000001a8,
8163
                0x000001b0,
8164
                0x000001c8,
8165
                0x00000188,
8166
                0x000001e0,
8167
                0x000001f8,
8168
                0x000001a0,
8169
                0x000001d8,
8170
                0x00000180,
8171
                0x000001e8,
8172
                0x000001d0,
8173
                0x00000198,
8174
                0x000001b8,
8175
                0x00000240,
8176
                0x00000270,
8177
                0x00000210,
8178
                0x00000228,
8179
                0x00000230,
8180
                0x00000248,
8181
                0x00000208,
8182
                0x00000260,
8183
                0x00000278,
8184
                0x00000220,
8185
                0x00000258,
8186
                0x00000200,
8187
                0x00000268,
8188
                0x00000250,
8189
                0x00000218,
8190
                0x00000238,
8191
                0x000007c0,
8192
                0x000007f0,
8193
                0x00000790,
8194
                0x000007a8,
8195
                0x000007b0,
8196
                0x000007c8,
8197
                0x00000788,
8198
                0x000007e0,
8199
                0x000007f8,
8200
                0x000007a0,
8201
                0x000007d8,
8202
                0x00000780,
8203
                0x000007e8,
8204
                0x000007d0,
8205
                0x00000798,
8206
                0x000007b8,
8207
                0x00000540,
8208
                0x00000570,
8209
                0x00000510,
8210
                0x00000528,
8211
                0x00000530,
8212
                0x00000548,
8213
                0x00000508,
8214
                0x00000560,
8215
                0x00000578,
8216
                0x00000520,
8217
                0x00000558,
8218
                0x00000500,
8219
                0x00000568,
8220
                0x00000550,
8221
                0x00000518,
8222
                0x00000538,
8223
                0x00000340,
8224
                0x00000370,
8225
                0x00000310,
8226
                0x00000328,
8227
                0x00000330,
8228
                0x00000348,
8229
                0x00000308,
8230
                0x00000360,
8231
                0x00000378,
8232
                0x00000320,
8233
                0x00000358,
8234
                0x00000300,
8235
                0x00000368,
8236
                0x00000350,
8237
                0x00000318,
8238
                0x00000338,
8239
                0x000004c0,
8240
                0x000004f0,
8241
                0x00000490,
8242
                0x000004a8,
8243
                0x000004b0,
8244
                0x000004c8,
8245
                0x00000488,
8246
                0x000004e0,
8247
                0x000004f8,
8248
                0x000004a0,
8249
                0x000004d8,
8250
                0x00000480,
8251
                0x000004e8,
8252
                0x000004d0,
8253
                0x00000498,
8254
                0x000004b8,
8255
                0x00000640,
8256
                0x00000670,
8257
                0x00000610,
8258
                0x00000628,
8259
                0x00000630,
8260
                0x00000648,
8261
                0x00000608,
8262
                0x00000660,
8263
                0x00000678,
8264
                0x00000620,
8265
                0x00000658,
8266
                0x00000600,
8267
                0x00000668,
8268
                0x00000650,
8269
                0x00000618,
8270
                0x00000638,
8271
                0x000005c0,
8272
                0x000005f0,
8273
                0x00000590,
8274
                0x000005a8,
8275
                0x000005b0,
8276
                0x000005c8,
8277
                0x00000588,
8278
                0x000005e0,
8279
                0x000005f8,
8280
                0x000005a0,
8281
                0x000005d8,
8282
                0x00000580,
8283
                0x000005e8,
8284
                0x000005d0,
8285
                0x00000598,
8286
                0x000005b8,
8287
                0x00000140,
8288
                0x00000170,
8289
                0x00000110,
8290
                0x00000128,
8291
                0x00000130,
8292
                0x00000148,
8293
                0x00000108,
8294
                0x00000160,
8295
                0x00000178,
8296
                0x00000120,
8297
                0x00000158,
8298
                0x00000100,
8299
                0x00000168,
8300
                0x00000150,
8301
                0x00000118,
8302
                0x00000138,
8303
              } };
8304
8305
/*
8306
 *  A macro that performs a full encryption round of GOST 28147-89.
8307
 *  Temporary variables tmp assumed and variables r and l for left and right
8308
 *  blocks.
8309
 */
8310
#define GOST_ENCRYPT_ROUND(key1, key2, sbox)          \
8311
0
  tmp = (key1) + r;                             \
8312
0
  l ^= (sbox)[0 * 256 + (tmp & 0xff)] ^         \
8313
0
       (sbox)[1 * 256 + ((tmp >> 8) & 0xff)] ^  \
8314
0
       (sbox)[2 * 256 + ((tmp >> 16) & 0xff)] ^ \
8315
0
       (sbox)[3 * 256 + (tmp >> 24)];           \
8316
0
  tmp = (key2) + l;                             \
8317
0
  r ^= (sbox)[0 * 256 + (tmp & 0xff)] ^         \
8318
0
       (sbox)[1 * 256 + ((tmp >> 8) & 0xff)] ^  \
8319
0
       (sbox)[2 * 256 + ((tmp >> 16) & 0xff)] ^ \
8320
0
       (sbox)[3 * 256 + (tmp >> 24)];
8321
8322
/* encrypt a block with the given key */
8323
void gost28147_encrypt_simple(const uint32_t *key, const uint32_t *sbox,
8324
            const uint32_t *in, uint32_t *out)
8325
0
{
8326
0
  uint32_t l, r, tmp;
8327
8328
0
  r = in[0], l = in[1];
8329
0
  GOST_ENCRYPT_ROUND(key[0], key[1], sbox)
8330
0
  GOST_ENCRYPT_ROUND(key[2], key[3], sbox)
8331
0
  GOST_ENCRYPT_ROUND(key[4], key[5], sbox)
8332
0
  GOST_ENCRYPT_ROUND(key[6], key[7], sbox)
8333
0
  GOST_ENCRYPT_ROUND(key[0], key[1], sbox)
8334
0
  GOST_ENCRYPT_ROUND(key[2], key[3], sbox)
8335
0
  GOST_ENCRYPT_ROUND(key[4], key[5], sbox)
8336
0
  GOST_ENCRYPT_ROUND(key[6], key[7], sbox)
8337
0
  GOST_ENCRYPT_ROUND(key[0], key[1], sbox)
8338
0
  GOST_ENCRYPT_ROUND(key[2], key[3], sbox)
8339
0
  GOST_ENCRYPT_ROUND(key[4], key[5], sbox)
8340
0
  GOST_ENCRYPT_ROUND(key[6], key[7], sbox)
8341
0
  GOST_ENCRYPT_ROUND(key[7], key[6], sbox)
8342
0
  GOST_ENCRYPT_ROUND(key[5], key[4], sbox)
8343
0
  GOST_ENCRYPT_ROUND(key[3], key[2], sbox)
8344
0
  GOST_ENCRYPT_ROUND(key[1], key[0], sbox)
8345
0
  *out = l, *(out + 1) = r;
8346
0
}
8347
8348
void gost28147_decrypt_simple(const uint32_t *key, const uint32_t *sbox,
8349
            const uint32_t *in, uint32_t *out)
8350
0
{
8351
0
  uint32_t l, r, tmp;
8352
8353
0
  r = in[0], l = in[1];
8354
0
  GOST_ENCRYPT_ROUND(key[0], key[1], sbox)
8355
0
  GOST_ENCRYPT_ROUND(key[2], key[3], sbox)
8356
0
  GOST_ENCRYPT_ROUND(key[4], key[5], sbox)
8357
0
  GOST_ENCRYPT_ROUND(key[6], key[7], sbox)
8358
0
  GOST_ENCRYPT_ROUND(key[7], key[6], sbox)
8359
0
  GOST_ENCRYPT_ROUND(key[5], key[4], sbox)
8360
0
  GOST_ENCRYPT_ROUND(key[3], key[2], sbox)
8361
0
  GOST_ENCRYPT_ROUND(key[1], key[0], sbox)
8362
0
  GOST_ENCRYPT_ROUND(key[7], key[6], sbox)
8363
0
  GOST_ENCRYPT_ROUND(key[5], key[4], sbox)
8364
0
  GOST_ENCRYPT_ROUND(key[3], key[2], sbox)
8365
0
  GOST_ENCRYPT_ROUND(key[1], key[0], sbox)
8366
0
  GOST_ENCRYPT_ROUND(key[7], key[6], sbox)
8367
0
  GOST_ENCRYPT_ROUND(key[5], key[4], sbox)
8368
0
  GOST_ENCRYPT_ROUND(key[3], key[2], sbox)
8369
0
  GOST_ENCRYPT_ROUND(key[1], key[0], sbox)
8370
0
  *out = l, *(out + 1) = r;
8371
0
}
8372
8373
static void gost28147_imit_simple(const uint32_t *key, const uint32_t *sbox,
8374
          const uint32_t *in, uint32_t *out)
8375
0
{
8376
0
  uint32_t l, r, tmp;
8377
8378
0
  r = in[0], l = in[1];
8379
0
  GOST_ENCRYPT_ROUND(key[0], key[1], sbox)
8380
0
  GOST_ENCRYPT_ROUND(key[2], key[3], sbox)
8381
0
  GOST_ENCRYPT_ROUND(key[4], key[5], sbox)
8382
0
  GOST_ENCRYPT_ROUND(key[6], key[7], sbox)
8383
0
  GOST_ENCRYPT_ROUND(key[0], key[1], sbox)
8384
0
  GOST_ENCRYPT_ROUND(key[2], key[3], sbox)
8385
0
  GOST_ENCRYPT_ROUND(key[4], key[5], sbox)
8386
0
  GOST_ENCRYPT_ROUND(key[6], key[7], sbox)
8387
0
  *out = r, *(out + 1) = l;
8388
0
}
8389
8390
static const uint32_t
8391
  gost28147_key_mesh_cryptopro_data[GOST28147_KEY_SIZE / 4] = {
8392
    0x22720069, 0x2304c964, 0x96db3a8d, 0xc42ae946,
8393
    0x94acfe18, 0x1207ed00, 0xc2dc86c0, 0x2ba94cef,
8394
  };
8395
8396
static void gost28147_key_mesh_cryptopro(struct gost28147_ctx *ctx)
8397
0
{
8398
0
  uint32_t newkey[GOST28147_KEY_SIZE / 4];
8399
8400
0
  gost28147_decrypt_simple(ctx->key, ctx->sbox,
8401
0
         &gost28147_key_mesh_cryptopro_data[0],
8402
0
         &newkey[0]);
8403
8404
0
  gost28147_decrypt_simple(ctx->key, ctx->sbox,
8405
0
         &gost28147_key_mesh_cryptopro_data[2],
8406
0
         &newkey[2]);
8407
8408
0
  gost28147_decrypt_simple(ctx->key, ctx->sbox,
8409
0
         &gost28147_key_mesh_cryptopro_data[4],
8410
0
         &newkey[4]);
8411
8412
0
  gost28147_decrypt_simple(ctx->key, ctx->sbox,
8413
0
         &gost28147_key_mesh_cryptopro_data[6],
8414
0
         &newkey[6]);
8415
8416
0
  memcpy(ctx->key, newkey, sizeof(newkey));
8417
0
  ctx->key_count = 0;
8418
0
}
8419
8420
void gost28147_set_key(struct gost28147_ctx *ctx, const uint8_t *key)
8421
0
{
8422
0
  unsigned i;
8423
8424
0
  assert(key);
8425
0
  for (i = 0; i < 8; i++, key += 4)
8426
0
    ctx->key[i] = LE_READ_UINT32(key);
8427
0
  ctx->key_count = 0;
8428
0
}
8429
8430
void gost28147_set_param(struct gost28147_ctx *ctx,
8431
       const struct gost28147_param *param)
8432
0
{
8433
0
  assert(param);
8434
0
  ctx->sbox = param->sbox;
8435
0
  ctx->key_meshing = param->key_meshing;
8436
0
}
8437
8438
void gost28147_encrypt(const struct gost28147_ctx *ctx, size_t length,
8439
           uint8_t *dst, const uint8_t *src)
8440
0
{
8441
0
  uint32_t block[2];
8442
8443
0
  assert(!(length % GOST28147_BLOCK_SIZE));
8444
8445
0
  while (length) {
8446
0
    block[0] = LE_READ_UINT32(src);
8447
0
    src += 4;
8448
0
    block[1] = LE_READ_UINT32(src);
8449
0
    src += 4;
8450
0
    gost28147_encrypt_simple(ctx->key, ctx->sbox, block, block);
8451
0
    LE_WRITE_UINT32(dst, block[0]);
8452
0
    dst += 4;
8453
0
    LE_WRITE_UINT32(dst, block[1]);
8454
0
    dst += 4;
8455
0
    length -= GOST28147_BLOCK_SIZE;
8456
0
  }
8457
0
}
8458
8459
void gost28147_decrypt(const struct gost28147_ctx *ctx, size_t length,
8460
           uint8_t *dst, const uint8_t *src)
8461
0
{
8462
0
  uint32_t block[2];
8463
8464
0
  assert(!(length % GOST28147_BLOCK_SIZE));
8465
8466
0
  while (length) {
8467
0
    block[0] = LE_READ_UINT32(src);
8468
0
    src += 4;
8469
0
    block[1] = LE_READ_UINT32(src);
8470
0
    src += 4;
8471
0
    gost28147_decrypt_simple(ctx->key, ctx->sbox, block, block);
8472
0
    LE_WRITE_UINT32(dst, block[0]);
8473
0
    dst += 4;
8474
0
    LE_WRITE_UINT32(dst, block[1]);
8475
0
    dst += 4;
8476
0
    length -= GOST28147_BLOCK_SIZE;
8477
0
  }
8478
0
}
8479
8480
void gost28147_encrypt_for_cfb(struct gost28147_ctx *ctx, size_t length,
8481
             uint8_t *dst, const uint8_t *src)
8482
0
{
8483
0
  uint32_t block[2];
8484
8485
0
  assert(!(length % GOST28147_BLOCK_SIZE));
8486
8487
0
  while (length) {
8488
0
    block[0] = LE_READ_UINT32(src);
8489
0
    src += 4;
8490
0
    block[1] = LE_READ_UINT32(src);
8491
0
    src += 4;
8492
0
    if (ctx->key_meshing && ctx->key_count == 1024) {
8493
0
      gost28147_key_mesh_cryptopro(ctx);
8494
0
      gost28147_encrypt_simple(ctx->key, ctx->sbox, block,
8495
0
             block);
8496
0
      ctx->key_count = 0;
8497
0
    }
8498
0
    gost28147_encrypt_simple(ctx->key, ctx->sbox, block, block);
8499
0
    LE_WRITE_UINT32(dst, block[0]);
8500
0
    dst += 4;
8501
0
    LE_WRITE_UINT32(dst, block[1]);
8502
0
    dst += 4;
8503
0
    length -= GOST28147_BLOCK_SIZE;
8504
0
    ctx->key_count += GOST28147_BLOCK_SIZE;
8505
0
  }
8506
0
}
8507
8508
static void gost28147_cnt_next_iv(struct gost28147_cnt_ctx *ctx, uint8_t *out)
8509
0
{
8510
0
  uint32_t block[2];
8511
0
  uint32_t temp;
8512
8513
0
  if (ctx->ctx.key_meshing && ctx->ctx.key_count == 1024) {
8514
0
    gost28147_key_mesh_cryptopro(&ctx->ctx);
8515
0
    gost28147_encrypt_simple(ctx->ctx.key, ctx->ctx.sbox, ctx->iv,
8516
0
           ctx->iv);
8517
0
    ctx->ctx.key_count = 0;
8518
0
  }
8519
8520
0
  ctx->iv[0] += 0x01010101;
8521
0
  temp = ctx->iv[1] + 0x01010104;
8522
0
  if (temp < ctx->iv[1])
8523
0
    ctx->iv[1] = temp + 1; /* Overflow */
8524
0
  else
8525
0
    ctx->iv[1] = temp;
8526
8527
0
  gost28147_encrypt_simple(ctx->ctx.key, ctx->ctx.sbox, ctx->iv, block);
8528
8529
0
  LE_WRITE_UINT32(out + 0, block[0]);
8530
0
  LE_WRITE_UINT32(out + 4, block[1]);
8531
8532
0
  ctx->ctx.key_count += GOST28147_BLOCK_SIZE;
8533
0
}
8534
8535
void gost28147_cnt_init(struct gost28147_cnt_ctx *ctx, const uint8_t *key,
8536
      const struct gost28147_param *param)
8537
0
{
8538
0
  gost28147_set_param(&ctx->ctx, param);
8539
0
  gost28147_set_key(&ctx->ctx, key);
8540
0
  ctx->bytes = 0;
8541
0
}
8542
8543
void gost28147_cnt_set_iv(struct gost28147_cnt_ctx *ctx, const uint8_t *iv)
8544
0
{
8545
0
  uint32_t block[2];
8546
8547
0
  block[0] = LE_READ_UINT32(iv + 0);
8548
0
  block[1] = LE_READ_UINT32(iv + 4);
8549
8550
0
  gost28147_encrypt_simple(ctx->ctx.key, ctx->ctx.sbox, block, ctx->iv);
8551
0
}
8552
8553
void gost28147_cnt_crypt(struct gost28147_cnt_ctx *ctx, size_t length,
8554
       uint8_t *dst, const uint8_t *src)
8555
0
{
8556
0
  size_t block_size = GOST28147_BLOCK_SIZE;
8557
8558
0
  if (ctx->bytes) {
8559
0
    size_t part = ctx->bytes < length ? ctx->bytes : length;
8560
0
    memxor3(dst, src, ctx->buffer + block_size - ctx->bytes, part);
8561
0
    dst += part;
8562
0
    src += part;
8563
0
    length -= part;
8564
0
    ctx->bytes -= part;
8565
0
    ctx->bytes %= block_size;
8566
0
  }
8567
0
  while (length >= block_size) {
8568
0
    gost28147_cnt_next_iv(ctx, ctx->buffer);
8569
0
    memxor3(dst, src, ctx->buffer, block_size);
8570
0
    length -= block_size;
8571
0
    src += block_size;
8572
0
    dst += block_size;
8573
0
  }
8574
8575
0
  if (length != 0) {
8576
0
    gost28147_cnt_next_iv(ctx, ctx->buffer);
8577
0
    memxor3(dst, src, ctx->buffer, length);
8578
0
    ctx->bytes = block_size - length;
8579
0
  }
8580
0
}
8581
8582
static void _gost28147_imit_reinit(struct gost28147_imit_ctx *ctx)
8583
0
{
8584
0
  ctx->state[0] = 0;
8585
0
  ctx->state[1] = 0;
8586
0
  ctx->index = 0;
8587
0
  ctx->count = 0;
8588
0
}
8589
8590
void gost28147_imit_set_key(struct gost28147_imit_ctx *ctx, size_t length,
8591
          const uint8_t *key)
8592
0
{
8593
0
  assert(length == GOST28147_IMIT_KEY_SIZE);
8594
0
  assert(key);
8595
8596
0
  _gost28147_imit_reinit(ctx);
8597
0
  gost28147_set_key(&ctx->cctx, key);
8598
0
}
8599
8600
void gost28147_imit_set_nonce(struct gost28147_imit_ctx *ctx,
8601
            const uint8_t *nonce)
8602
0
{
8603
0
  ctx->state[0] = LE_READ_UINT32(nonce + 0);
8604
0
  ctx->state[1] = LE_READ_UINT32(nonce + 4);
8605
0
}
8606
8607
void gost28147_imit_set_param(struct gost28147_imit_ctx *ctx,
8608
            const struct gost28147_param *param)
8609
0
{
8610
0
  assert(param);
8611
0
  gost28147_set_param(&ctx->cctx, param);
8612
0
}
8613
8614
static void gost28147_imit_compress(struct gost28147_imit_ctx *ctx,
8615
            const uint8_t *data)
8616
0
{
8617
0
  uint32_t block[2];
8618
8619
0
  if (ctx->cctx.key_meshing && ctx->cctx.key_count == 1024)
8620
0
    gost28147_key_mesh_cryptopro(&ctx->cctx);
8621
8622
0
  block[0] = LE_READ_UINT32(data + 0) ^ ctx->state[0];
8623
0
  block[1] = LE_READ_UINT32(data + 4) ^ ctx->state[1];
8624
0
  gost28147_imit_simple(ctx->cctx.key, ctx->cctx.sbox, block, ctx->state);
8625
0
  ctx->cctx.key_count += 8;
8626
0
}
8627
8628
void gost28147_imit_update(struct gost28147_imit_ctx *ctx, size_t length,
8629
         const uint8_t *data)
8630
0
{
8631
0
  MD_UPDATE(ctx, length, data, gost28147_imit_compress, ctx->count++);
8632
0
}
8633
8634
void gost28147_imit_digest(struct gost28147_imit_ctx *ctx, size_t length,
8635
         uint8_t *digest)
8636
0
{
8637
0
  assert(length <= GOST28147_IMIT_DIGEST_SIZE);
8638
0
  const uint8_t zero[GOST28147_IMIT_BLOCK_SIZE] = { 0 };
8639
8640
0
  if (ctx->index) {
8641
0
    assert(ctx->index < GOST28147_IMIT_BLOCK_SIZE);
8642
0
    gost28147_imit_update(
8643
0
      ctx, GOST28147_IMIT_BLOCK_SIZE - ctx->index, zero);
8644
0
  }
8645
8646
0
  if (ctx->count == 1) {
8647
0
    gost28147_imit_update(ctx, GOST28147_IMIT_BLOCK_SIZE, zero);
8648
0
  }
8649
8650
0
  _nettle_write_le32(length, digest, ctx->state);
8651
0
  _gost28147_imit_reinit(ctx);
8652
0
}
8653
#endif