1
10
13
14
20
21
22
23
24
25
26
27
28
29
35
36
37
43
44
45
51
52
53
59
60
61
67
68
69
75
76
77
83
84
85
91
92
93
99
100
101
107
108
109
115
116
117
123
124
125
131
132
133
139
140
141
147
148
149
155
156
157
163
164
165
171
172
173
179
180
181
187
188
189
195
196
197
203
204
205
211
212
213
219
220
221
227
228
229
235
236
237
243
244
245
251
252
253
254
255
256
262
263
264
270
271
272
278
279
280
286
287
288
294
295
296
302
303
304
310
311
312
318
319
320
326
327
328
334
335
336
342
343
344
350
351
352
358
359
360
366
367
368
374
375
376
382
383
384
390
391
392
398
399
400
406
407
408
414
415
416
422
423
424
430
431
432
438
439
440
446
447
448
454
455
456
462
463
464
470
471
472
478
479
480
486
487
488
494
495
496
497
498
499
511
512
513
525
526
527
539
540
541
553
554
555
567
568
569
581
582
583
595
596
597
609
610
611
623
624
625
637
638
639
651
652
653
665
666
667
679
680
681
693
694
695
696
697
698
710
711
712
724
725
726
738
739
740
752
753
754
766
767
768
780
781
782
794
795
796
808
809
810
822
823
824
836
837
838
850
851
852
864
865
866
878
879
880
892
893
894
906
907
908
909
910
915
...
...
...
#include "nx_crypto_ec.h"
static NX_CRYPTO_CONST HN_UBASE secp224r1_fixed_points_data[][28 >> HN_SIZE_SHIFT] =
{
{
HN_ULONG_TO_UBASE(0x666EBBE9), HN_ULONG_TO_UBASE(0x5EFD9675),
HN_ULONG_TO_UBASE(0x664D40CE), HN_ULONG_TO_UBASE(0x2A43BCA7),
HN_ULONG_TO_UBASE(0x42DF8D8A), HN_ULONG_TO_UBASE(0xF99BC522),
HN_ULONG_TO_UBASE(0x1F49BBB0)
...},
{
HN_ULONG_TO_UBASE(0x92DC9C43), HN_ULONG_TO_UBASE(0x6229E0B8),
HN_ULONG_TO_UBASE(0x608436E6), HN_ULONG_TO_UBASE(0x10D0ECE8),
HN_ULONG_TO_UBASE(0x858F1853), HN_ULONG_TO_UBASE(0xB8D321DC),
HN_ULONG_TO_UBASE(0x9812DD4E)
...},
{
HN_ULONG_TO_UBASE(0x8D5D8EB8), HN_ULONG_TO_UBASE(0xF16D3E67),
HN_ULONG_TO_UBASE(0xED1CB362), HN_ULONG_TO_UBASE(0x8A3F559E),
HN_ULONG_TO_UBASE(0xE9A3BBCE), HN_ULONG_TO_UBASE(0xC2A74816),
HN_ULONG_TO_UBASE(0xEEDCCCD8)
...},
{
HN_ULONG_TO_UBASE(0xED50266D), HN_ULONG_TO_UBASE(0xDFF19F90),
HN_ULONG_TO_UBASE(0xB4BF65F9), HN_ULONG_TO_UBASE(0xAFECABF2),
HN_ULONG_TO_UBASE(0x3865468F), HN_ULONG_TO_UBASE(0x910A1731),
HN_ULONG_TO_UBASE(0x5CB379BA)
...},
{
HN_ULONG_TO_UBASE(0x6CAB26E3), HN_ULONG_TO_UBASE(0xA0064196),
HN_ULONG_TO_UBASE(0x2991FAB0), HN_ULONG_TO_UBASE(0x3A0B91FB),
HN_ULONG_TO_UBASE(0xEC27A4E1), HN_ULONG_TO_UBASE(0x5F8EBEEF),
HN_ULONG_TO_UBASE(0x0499AA8A)
...},
{
HN_ULONG_TO_UBASE(0x7766AF5D), HN_ULONG_TO_UBASE(0x50751040),
HN_ULONG_TO_UBASE(0x29610D54), HN_ULONG_TO_UBASE(0xF70684D9),
HN_ULONG_TO_UBASE(0xD77AAE82), HN_ULONG_TO_UBASE(0x338C5B81),
HN_ULONG_TO_UBASE(0x6916F6D4)
...},
{
HN_ULONG_TO_UBASE(0x3B1F15C6), HN_ULONG_TO_UBASE(0xD4EA95AC),
HN_ULONG_TO_UBASE(0x00905E82), HN_ULONG_TO_UBASE(0xC8B10860),
HN_ULONG_TO_UBASE(0x323AE4D1), HN_ULONG_TO_UBASE(0x7685A3DD),
HN_ULONG_TO_UBASE(0x932B56BE)
...},
{
HN_ULONG_TO_UBASE(0xEA25DBBF), HN_ULONG_TO_UBASE(0xF09EF93D),
HN_ULONG_TO_UBASE(0x5960F390), HN_ULONG_TO_UBASE(0xA8A74166),
HN_ULONG_TO_UBASE(0xEC76DBE2), HN_ULONG_TO_UBASE(0x19062AFD),
HN_ULONG_TO_UBASE(0x523E80F0)
...},
{
HN_ULONG_TO_UBASE(0x26732C73), HN_ULONG_TO_UBASE(0x0F822FDD),
HN_ULONG_TO_UBASE(0x83531B5D), HN_ULONG_TO_UBASE(0x1BA4A01C),
HN_ULONG_TO_UBASE(0x3F37347C), HN_ULONG_TO_UBASE(0x84725C36),
HN_ULONG_TO_UBASE(0xC391B45C)
...},
{
HN_ULONG_TO_UBASE(0xB2D6AD24), HN_ULONG_TO_UBASE(0xECBBD5E1),
HN_ULONG_TO_UBASE(0xCDE19DFA), HN_ULONG_TO_UBASE(0x2A7FDDFB),
HN_ULONG_TO_UBASE(0x93DA7E22), HN_ULONG_TO_UBASE(0xEDE244C3),
HN_ULONG_TO_UBASE(0x1EFB7890)
...},
{
HN_ULONG_TO_UBASE(0xCA217DA1), HN_ULONG_TO_UBASE(0xBB4C9E90),
HN_ULONG_TO_UBASE(0xECA79159), HN_ULONG_TO_UBASE(0x8B7CD11B),
HN_ULONG_TO_UBASE(0x8D33C2C9), HN_ULONG_TO_UBASE(0x09F849FF),
HN_ULONG_TO_UBASE(0x2610B394)
...},
{
HN_ULONG_TO_UBASE(0x2AC64DA0), HN_ULONG_TO_UBASE(0xFB44D135),
HN_ULONG_TO_UBASE(0x7B2C46B4), HN_ULONG_TO_UBASE(0x3C89CDBB),
HN_ULONG_TO_UBASE(0x6C079B75), HN_ULONG_TO_UBASE(0x20B11296),
HN_ULONG_TO_UBASE(0xFE67E4E8)
...},
{
HN_ULONG_TO_UBASE(0x2DF5312D), HN_ULONG_TO_UBASE(0x6EE28CAE),
HN_ULONG_TO_UBASE(0x61D16F5C), HN_ULONG_TO_UBASE(0x7C4CC71B),
HN_ULONG_TO_UBASE(0xB7619A3E), HN_ULONG_TO_UBASE(0x899B4779),
HN_ULONG_TO_UBASE(0x05C73240)
...},
{
HN_ULONG_TO_UBASE(0x82C73E3A), HN_ULONG_TO_UBASE(0xDA9F7F63),
HN_ULONG_TO_UBASE(0x5165C56B), HN_ULONG_TO_UBASE(0xFD561861),
HN_ULONG_TO_UBASE(0x1FAB2116), HN_ULONG_TO_UBASE(0xB0839464),
HN_ULONG_TO_UBASE(0x72855882)
...},
{
HN_ULONG_TO_UBASE(0x2F161C09), HN_ULONG_TO_UBASE(0xB5046918),
HN_ULONG_TO_UBASE(0x8CA8D00F), HN_ULONG_TO_UBASE(0xA3E074A9),
HN_ULONG_TO_UBASE(0x9DA93489), HN_ULONG_TO_UBASE(0xFB0C1DB8),
HN_ULONG_TO_UBASE(0x41C98768)
...},
{
HN_ULONG_TO_UBASE(0xFB32DA81), HN_ULONG_TO_UBASE(0x55E5EA05),
HN_ULONG_TO_UBASE(0x9FFBCA68), HN_ULONG_TO_UBASE(0x59E63DCE),
HN_ULONG_TO_UBASE(0xFE2D3FBF), HN_ULONG_TO_UBASE(0x8738A71C),
HN_ULONG_TO_UBASE(0x0E5E0340)
...},
{
HN_ULONG_TO_UBASE(0x2333E87F), HN_ULONG_TO_UBASE(0xF6DAB22B),
HN_ULONG_TO_UBASE(0x137A5DD2), HN_ULONG_TO_UBASE(0xBEB84430),
HN_ULONG_TO_UBASE(0x3AB9F738), HN_ULONG_TO_UBASE(0xC34F24E0),
HN_ULONG_TO_UBASE(0xCB0C5D0D)
...},
{
HN_ULONG_TO_UBASE(0xF0C8FDA5), HN_ULONG_TO_UBASE(0x44764A7D),
HN_ULONG_TO_UBASE(0xA5C3FA20), HN_ULONG_TO_UBASE(0xBE50185B),
HN_ULONG_TO_UBASE(0x81D688BC), HN_ULONG_TO_UBASE(0x89388192),
HN_ULONG_TO_UBASE(0xC40331DF)
...},
{
HN_ULONG_TO_UBASE(0x796F0F60), HN_ULONG_TO_UBASE(0xA3B89530),
HN_ULONG_TO_UBASE(0x2BD26909), HN_ULONG_TO_UBASE(0x84DAADE9),
HN_ULONG_TO_UBASE(0x0C83FB48), HN_ULONG_TO_UBASE(0xA5A9841A),
HN_ULONG_TO_UBASE(0x1765BF22)
...},
{
HN_ULONG_TO_UBASE(0xE75DB09E), HN_ULONG_TO_UBASE(0x6F772A9E),
HN_ULONG_TO_UBASE(0x6C67CEC1), HN_ULONG_TO_UBASE(0x4E2F23BC),
HN_ULONG_TO_UBASE(0x1EDBA8B1), HN_ULONG_TO_UBASE(0x6113694C),
HN_ULONG_TO_UBASE(0xE2A215D9)
...},
{
HN_ULONG_TO_UBASE(0x9FB5EFB3), HN_ULONG_TO_UBASE(0x52571E50),
HN_ULONG_TO_UBASE(0x86964105), HN_ULONG_TO_UBASE(0x74FEADE8),
HN_ULONG_TO_UBASE(0xAE85FADA), HN_ULONG_TO_UBASE(0x3BBDE3C8),
HN_ULONG_TO_UBASE(0x6C7E4BE8)
...},
{
HN_ULONG_TO_UBASE(0x160F4652), HN_ULONG_TO_UBASE(0x39FF9F51),
HN_ULONG_TO_UBASE(0xE2495A65), HN_ULONG_TO_UBASE(0x82F4B47C),
HN_ULONG_TO_UBASE(0x946C53B5), HN_ULONG_TO_UBASE(0xEE9A60A2),
HN_ULONG_TO_UBASE(0x286D2DB3)
...},
{
HN_ULONG_TO_UBASE(0x081A44AF), HN_ULONG_TO_UBASE(0x6C40BBD5),
HN_ULONG_TO_UBASE(0x183B1392), HN_ULONG_TO_UBASE(0xF6D00995),
HN_ULONG_TO_UBASE(0xEFBA6F47), HN_ULONG_TO_UBASE(0xCC0057BC),
HN_ULONG_TO_UBASE(0x215619E9)
...},
{
HN_ULONG_TO_UBASE(0x3B0DF45E), HN_ULONG_TO_UBASE(0x6F8BC94D),
HN_ULONG_TO_UBASE(0x54A3694F), HN_ULONG_TO_UBASE(0xE8B5F11C),
HN_ULONG_TO_UBASE(0x31B93CDF), HN_ULONG_TO_UBASE(0x982DB986),
HN_ULONG_TO_UBASE(0xE7E3F4B0)
...},
{
HN_ULONG_TO_UBASE(0xAB3E1C7B), HN_ULONG_TO_UBASE(0xD8B17048),
HN_ULONG_TO_UBASE(0xF36FF8A1), HN_ULONG_TO_UBASE(0xD2C6AC38),
HN_ULONG_TO_UBASE(0x29819435), HN_ULONG_TO_UBASE(0x4C07E91C),
HN_ULONG_TO_UBASE(0xC813132F)
...},
{
HN_ULONG_TO_UBASE(0x5503B11F), HN_ULONG_TO_UBASE(0xEA289142),
HN_ULONG_TO_UBASE(0x1030579F), HN_ULONG_TO_UBASE(0x96740878),
HN_ULONG_TO_UBASE(0x426BA5CC), HN_ULONG_TO_UBASE(0x8562BCF5),
HN_ULONG_TO_UBASE(0x1E28EBF1)
...},
{
HN_ULONG_TO_UBASE(0x7CC864EB), HN_ULONG_TO_UBASE(0x4C9F3199),
HN_ULONG_TO_UBASE(0x91D28B5E), HN_ULONG_TO_UBASE(0xA97306CD),
HN_ULONG_TO_UBASE(0x17036691), HN_ULONG_TO_UBASE(0x497C58FF),
HN_ULONG_TO_UBASE(0xF1AEF351)
...},
{
HN_ULONG_TO_UBASE(0x600564FF), HN_ULONG_TO_UBASE(0xDBDD1F2D),
HN_ULONG_TO_UBASE(0x073B1402), HN_ULONG_TO_UBASE(0xD693DEAD),
HN_ULONG_TO_UBASE(0xA684435B), HN_ULONG_TO_UBASE(0x96255874),
HN_ULONG_TO_UBASE(0xEEA7471F)
...}
...};
static NX_CRYPTO_CONST HN_UBASE secp224r1_fixed_points_2e_data[][28 >> HN_SIZE_SHIFT] =
{
{
HN_ULONG_TO_UBASE(0x6DDDF554), HN_ULONG_TO_UBASE(0x2D966526),
HN_ULONG_TO_UBASE(0xD78B60EF), HN_ULONG_TO_UBASE(0xA4179613),
HN_ULONG_TO_UBASE(0x27A34CDB), HN_ULONG_TO_UBASE(0x6AFC31CE),
HN_ULONG_TO_UBASE(0xD35AB74D)
...},
{
HN_ULONG_TO_UBASE(0x22DEB15E), HN_ULONG_TO_UBASE(0xAB85CCDD),
HN_ULONG_TO_UBASE(0xE5783A6A), HN_ULONG_TO_UBASE(0x93C62137),
HN_ULONG_TO_UBASE(0x41CFFD8C), HN_ULONG_TO_UBASE(0xE90F2DA1),
HN_ULONG_TO_UBASE(0x355A1830)
...},
{
HN_ULONG_TO_UBASE(0xADAADE65), HN_ULONG_TO_UBASE(0x3C1A494E),
HN_ULONG_TO_UBASE(0x4DA77FE5), HN_ULONG_TO_UBASE(0xEC86D6DA),
HN_ULONG_TO_UBASE(0x992996AB), HN_ULONG_TO_UBASE(0x6090E3E7),
HN_ULONG_TO_UBASE(0x65C3553C)
...},
{
HN_ULONG_TO_UBASE(0x1FB09346), HN_ULONG_TO_UBASE(0xAFFA610B),
HN_ULONG_TO_UBASE(0x540B8A4A), HN_ULONG_TO_UBASE(0xCBABF1C6),
HN_ULONG_TO_UBASE(0x1A13CCD3), HN_ULONG_TO_UBASE(0x18C28AC5),
HN_ULONG_TO_UBASE(0x02995B1B)
...},
{
HN_ULONG_TO_UBASE(0x8E7295EF), HN_ULONG_TO_UBASE(0x04787456),
HN_ULONG_TO_UBASE(0x19FBE38D), HN_ULONG_TO_UBASE(0x0D9A86B4),
HN_ULONG_TO_UBASE(0x0690A755), HN_ULONG_TO_UBASE(0xBEAC33DC),
HN_ULONG_TO_UBASE(0xD3966A44)
...},
{
HN_ULONG_TO_UBASE(0xEC29132F), HN_ULONG_TO_UBASE(0xF32B7280),
HN_ULONG_TO_UBASE(0x3B6A032D), HN_ULONG_TO_UBASE(0x1200BEAA),
HN_ULONG_TO_UBASE(0x7DD88AE4), HN_ULONG_TO_UBASE(0xE3A100DC),
HN_ULONG_TO_UBASE(0xD25E2513)
...},
{
HN_ULONG_TO_UBASE(0xEB2EFAFD), HN_ULONG_TO_UBASE(0x90924857),
HN_ULONG_TO_UBASE(0xCE412231), HN_ULONG_TO_UBASE(0x53FCAC2B),
HN_ULONG_TO_UBASE(0xDAA14455), HN_ULONG_TO_UBASE(0x3562D58E),
HN_ULONG_TO_UBASE(0x825800FD)
...},
{
HN_ULONG_TO_UBASE(0x8EA96621), HN_ULONG_TO_UBASE(0x8D8D7914),
HN_ULONG_TO_UBASE(0x1C3DD9ED), HN_ULONG_TO_UBASE(0x16B523A0),
HN_ULONG_TO_UBASE(0x8B219F94), HN_ULONG_TO_UBASE(0x77DAEAAF),
HN_ULONG_TO_UBASE(0xD8DB0CC2)
...},
{
HN_ULONG_TO_UBASE(0xB1A700F0), HN_ULONG_TO_UBASE(0x9176A9C3),
HN_ULONG_TO_UBASE(0xD29BC7E6), HN_ULONG_TO_UBASE(0x0327E9AC),
HN_ULONG_TO_UBASE(0x212D1A6B), HN_ULONG_TO_UBASE(0xE154BE69),
HN_ULONG_TO_UBASE(0x6322E97F)
...},
{
HN_ULONG_TO_UBASE(0x465D62AA), HN_ULONG_TO_UBASE(0x05469FC5),
HN_ULONG_TO_UBASE(0xED18883B), HN_ULONG_TO_UBASE(0x2B888D41),
HN_ULONG_TO_UBASE(0x8EAE66C5), HN_ULONG_TO_UBASE(0x25BE511F),
HN_ULONG_TO_UBASE(0xE4FCBE93)
...},
{
HN_ULONG_TO_UBASE(0x583CAC16), HN_ULONG_TO_UBASE(0x3A825FDF),
HN_ULONG_TO_UBASE(0x857C7B02), HN_ULONG_TO_UBASE(0x0165020B),
HN_ULONG_TO_UBASE(0x3C17744B), HN_ULONG_TO_UBASE(0xDAF2F168),
HN_ULONG_TO_UBASE(0x14FFD0A2)
...},
{
HN_ULONG_TO_UBASE(0x184218F9), HN_ULONG_TO_UBASE(0xD4323B36),
HN_ULONG_TO_UBASE(0xEC4E3B47), HN_ULONG_TO_UBASE(0x1ACF4944),
HN_ULONG_TO_UBASE(0x5B308084), HN_ULONG_TO_UBASE(0x1A28BBC1),
HN_ULONG_TO_UBASE(0x0BCED4B0)
...},
{
HN_ULONG_TO_UBASE(0x230DF5C4), HN_ULONG_TO_UBASE(0xA892AC22),
HN_ULONG_TO_UBASE(0x3B4063ED), HN_ULONG_TO_UBASE(0x0C9352F3),
HN_ULONG_TO_UBASE(0x3F19870C), HN_ULONG_TO_UBASE(0xA65233CB),
HN_ULONG_TO_UBASE(0x40064F2B)
...},
{
HN_ULONG_TO_UBASE(0x924F8992), HN_ULONG_TO_UBASE(0x17FE16F0),
HN_ULONG_TO_UBASE(0xA25AF5B5), HN_ULONG_TO_UBASE(0x23A6012D),
HN_ULONG_TO_UBASE(0x57BB24F7), HN_ULONG_TO_UBASE(0x760DEF1A),
HN_ULONG_TO_UBASE(0x06F8BC76)
...},
{
HN_ULONG_TO_UBASE(0xF7817CB9), HN_ULONG_TO_UBASE(0x784A7084),
HN_ULONG_TO_UBASE(0x0738EE9A), HN_ULONG_TO_UBASE(0xC326BCAB),
HN_ULONG_TO_UBASE(0xC11E11D9), HN_ULONG_TO_UBASE(0x0F1AAE3E),
HN_ULONG_TO_UBASE(0xDC0FE90E)
...},
{
HN_ULONG_TO_UBASE(0xA5F98390), HN_ULONG_TO_UBASE(0x74CF639E),
HN_ULONG_TO_UBASE(0x0AA22FFB), HN_ULONG_TO_UBASE(0x47B75C35),
HN_ULONG_TO_UBASE(0xFAE98A40), HN_ULONG_TO_UBASE(0x17FC459A),
HN_ULONG_TO_UBASE(0x956EC2D6)
...},
{
HN_ULONG_TO_UBASE(0x48C1BE6A), HN_ULONG_TO_UBASE(0x624306D6),
HN_ULONG_TO_UBASE(0xCD8BC9A4), HN_ULONG_TO_UBASE(0x2F2E9247),
HN_ULONG_TO_UBASE(0x595E377D), HN_ULONG_TO_UBASE(0xF1A52EF5),
HN_ULONG_TO_UBASE(0xBD1C3CAF)
...},
{
HN_ULONG_TO_UBASE(0x472409D0), HN_ULONG_TO_UBASE(0x73045E14),
HN_ULONG_TO_UBASE(0xE17078F7), HN_ULONG_TO_UBASE(0x4F7D29F3),
HN_ULONG_TO_UBASE(0x5A602B2D), HN_ULONG_TO_UBASE(0x5CDFBB74),
HN_ULONG_TO_UBASE(0x19183768)
...},
{
HN_ULONG_TO_UBASE(0x54A8CB79), HN_ULONG_TO_UBASE(0x265B6EE2),
HN_ULONG_TO_UBASE(0x433F5E70), HN_ULONG_TO_UBASE(0xDEF44953),
HN_ULONG_TO_UBASE(0x1FAEB1D1), HN_ULONG_TO_UBASE(0x5C09DEE2),
HN_ULONG_TO_UBASE(0xC4C22578)
...},
{
HN_ULONG_TO_UBASE(0xBBA1E518), HN_ULONG_TO_UBASE(0xB8307CE7),
HN_ULONG_TO_UBASE(0x25B1036D), HN_ULONG_TO_UBASE(0x9E8F31B1),
HN_ULONG_TO_UBASE(0xE9186883), HN_ULONG_TO_UBASE(0x33B9F347),
HN_ULONG_TO_UBASE(0xC765866E)
...},
{
HN_ULONG_TO_UBASE(0x24F96906), HN_ULONG_TO_UBASE(0x933BFECE),
HN_ULONG_TO_UBASE(0xDA641E50), HN_ULONG_TO_UBASE(0xDB264794),
HN_ULONG_TO_UBASE(0x5DF64F95), HN_ULONG_TO_UBASE(0x714B05DE),
HN_ULONG_TO_UBASE(0x297ECD89)
...},
{
HN_ULONG_TO_UBASE(0xEBB2C3AA), HN_ULONG_TO_UBASE(0xD5701BD3),
HN_ULONG_TO_UBASE(0xB4F53CB1), HN_ULONG_TO_UBASE(0xAF167073),
HN_ULONG_TO_UBASE(0xC5665658), HN_ULONG_TO_UBASE(0x66FE5813),
HN_ULONG_TO_UBASE(0x9895089D)
...},
{
HN_ULONG_TO_UBASE(0xF78C4790), HN_ULONG_TO_UBASE(0x2E0FEF05),
HN_ULONG_TO_UBASE(0x3633B05D), HN_ULONG_TO_UBASE(0x1C942D77),
HN_ULONG_TO_UBASE(0x229C3A95), HN_ULONG_TO_UBASE(0x4911BB94),
HN_ULONG_TO_UBASE(0xBBBD70DF)
...},
{
HN_ULONG_TO_UBASE(0x3D2C1168), HN_ULONG_TO_UBASE(0x73B2C696),
HN_ULONG_TO_UBASE(0x47A72B0D), HN_ULONG_TO_UBASE(0x4080105F),
HN_ULONG_TO_UBASE(0xDF611161), HN_ULONG_TO_UBASE(0x9E67B09F),
HN_ULONG_TO_UBASE(0x7B7E94B3)
...},
{
HN_ULONG_TO_UBASE(0x6EFBE2B3), HN_ULONG_TO_UBASE(0x9DAD1A7D),
HN_ULONG_TO_UBASE(0x482C0DA6), HN_ULONG_TO_UBASE(0x8345F012),
HN_ULONG_TO_UBASE(0x3BDF1243), HN_ULONG_TO_UBASE(0x7AA4D96B),
HN_ULONG_TO_UBASE(0x40D7558D)
...},
{
HN_ULONG_TO_UBASE(0xFB5C6D3D), HN_ULONG_TO_UBASE(0x388A09FF),
HN_ULONG_TO_UBASE(0x6E5D9FFD), HN_ULONG_TO_UBASE(0x9B1C9A35),
HN_ULONG_TO_UBASE(0x73F15F4F), HN_ULONG_TO_UBASE(0x63C3EA59),
HN_ULONG_TO_UBASE(0xDCD5F59F)
...},
{
HN_ULONG_TO_UBASE(0x4C5CA7AB), HN_ULONG_TO_UBASE(0x37ACF39F),
HN_ULONG_TO_UBASE(0x71CC5FD7), HN_ULONG_TO_UBASE(0x11844C80),
HN_ULONG_TO_UBASE(0x4E3602CD), HN_ULONG_TO_UBASE(0xC9ABBAC6),
HN_ULONG_TO_UBASE(0x0ACD4644)
...},
{
HN_ULONG_TO_UBASE(0x36D8BF6E), HN_ULONG_TO_UBASE(0x2A6C011A),
HN_ULONG_TO_UBASE(0x87BA24E3), HN_ULONG_TO_UBASE(0xFAD8FECD),
HN_ULONG_TO_UBASE(0xF6F56574), HN_ULONG_TO_UBASE(0xED940519),
HN_ULONG_TO_UBASE(0x050B204C)
...},
{
HN_ULONG_TO_UBASE(0xAE7D9A96), HN_ULONG_TO_UBASE(0x0AED4F1C),
HN_ULONG_TO_UBASE(0xF7AD94C4), HN_ULONG_TO_UBASE(0xEF9B5CEE),
HN_ULONG_TO_UBASE(0x8E4A3BF3), HN_ULONG_TO_UBASE(0xC3B55E77),
HN_ULONG_TO_UBASE(0x7405783D)
...},
{
HN_ULONG_TO_UBASE(0x61B6E8C6), HN_ULONG_TO_UBASE(0x8B32477C),
HN_ULONG_TO_UBASE(0x97570F01), HN_ULONG_TO_UBASE(0x95D1B46A),
HN_ULONG_TO_UBASE(0x176D0A7E), HN_ULONG_TO_UBASE(0x4C7D0E91),
HN_ULONG_TO_UBASE(0x3DF90FBC)
...}
...};
static NX_CRYPTO_CONST NX_CRYPTO_EC_POINT secp224r1_fixed_points_array[] =
{
{
NX_CRYPTO_EC_POINT_AFFINE,
{
(HN_UBASE *)&secp224r1_fixed_points_data[0],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{
(HN_UBASE *)&secp224r1_fixed_points_data[1],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{(HN_UBASE *)NX_CRYPTO_NULL, 0u, 0u, 0u}
...},
{
NX_CRYPTO_EC_POINT_AFFINE,
{
(HN_UBASE *)&secp224r1_fixed_points_data[2],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{
(HN_UBASE *)&secp224r1_fixed_points_data[3],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{(HN_UBASE *)NX_CRYPTO_NULL, 0u, 0u, 0u}
...},
{
NX_CRYPTO_EC_POINT_AFFINE,
{
(HN_UBASE *)&secp224r1_fixed_points_data[4],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{
(HN_UBASE *)&secp224r1_fixed_points_data[5],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{(HN_UBASE *)NX_CRYPTO_NULL, 0u, 0u, 0u}
...},
{
NX_CRYPTO_EC_POINT_AFFINE,
{
(HN_UBASE *)&secp224r1_fixed_points_data[6],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{
(HN_UBASE *)&secp224r1_fixed_points_data[7],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{(HN_UBASE *)NX_CRYPTO_NULL, 0u, 0u, 0u}
...},
{
NX_CRYPTO_EC_POINT_AFFINE,
{
(HN_UBASE *)&secp224r1_fixed_points_data[8],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{
(HN_UBASE *)&secp224r1_fixed_points_data[9],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{(HN_UBASE *)NX_CRYPTO_NULL, 0u, 0u, 0u}
...},
{
NX_CRYPTO_EC_POINT_AFFINE,
{
(HN_UBASE *)&secp224r1_fixed_points_data[10],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{
(HN_UBASE *)&secp224r1_fixed_points_data[11],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{(HN_UBASE *)NX_CRYPTO_NULL, 0u, 0u, 0u}
...},
{
NX_CRYPTO_EC_POINT_AFFINE,
{
(HN_UBASE *)&secp224r1_fixed_points_data[12],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{
(HN_UBASE *)&secp224r1_fixed_points_data[13],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{(HN_UBASE *)NX_CRYPTO_NULL, 0u, 0u, 0u}
...},
{
NX_CRYPTO_EC_POINT_AFFINE,
{
(HN_UBASE *)&secp224r1_fixed_points_data[14],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{
(HN_UBASE *)&secp224r1_fixed_points_data[15],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{(HN_UBASE *)NX_CRYPTO_NULL, 0u, 0u, 0u}
...},
{
NX_CRYPTO_EC_POINT_AFFINE,
{
(HN_UBASE *)&secp224r1_fixed_points_data[16],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{
(HN_UBASE *)&secp224r1_fixed_points_data[17],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{(HN_UBASE *)NX_CRYPTO_NULL, 0u, 0u, 0u}
...},
{
NX_CRYPTO_EC_POINT_AFFINE,
{
(HN_UBASE *)&secp224r1_fixed_points_data[18],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{
(HN_UBASE *)&secp224r1_fixed_points_data[19],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{(HN_UBASE *)NX_CRYPTO_NULL, 0u, 0u, 0u}
...},
{
NX_CRYPTO_EC_POINT_AFFINE,
{
(HN_UBASE *)&secp224r1_fixed_points_data[20],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{
(HN_UBASE *)&secp224r1_fixed_points_data[21],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{(HN_UBASE *)NX_CRYPTO_NULL, 0u, 0u, 0u}
...},
{
NX_CRYPTO_EC_POINT_AFFINE,
{
(HN_UBASE *)&secp224r1_fixed_points_data[22],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{
(HN_UBASE *)&secp224r1_fixed_points_data[23],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{(HN_UBASE *)NX_CRYPTO_NULL, 0u, 0u, 0u}
...},
{
NX_CRYPTO_EC_POINT_AFFINE,
{
(HN_UBASE *)&secp224r1_fixed_points_data[24],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{
(HN_UBASE *)&secp224r1_fixed_points_data[25],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{(HN_UBASE *)NX_CRYPTO_NULL, 0u, 0u, 0u}
...},
{
NX_CRYPTO_EC_POINT_AFFINE,
{
(HN_UBASE *)&secp224r1_fixed_points_data[26],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{
(HN_UBASE *)&secp224r1_fixed_points_data[27],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{(HN_UBASE *)NX_CRYPTO_NULL, 0u, 0u, 0u}
...}
...};
static NX_CRYPTO_CONST NX_CRYPTO_EC_POINT secp224r1_fixed_points_2e_array[] =
{
{
NX_CRYPTO_EC_POINT_AFFINE,
{
(HN_UBASE *)&secp224r1_fixed_points_2e_data[0],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{
(HN_UBASE *)&secp224r1_fixed_points_2e_data[1],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{(HN_UBASE *)NX_CRYPTO_NULL, 0u, 0u, 0u}
...},
{
NX_CRYPTO_EC_POINT_AFFINE,
{
(HN_UBASE *)&secp224r1_fixed_points_2e_data[2],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{
(HN_UBASE *)&secp224r1_fixed_points_2e_data[3],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{(HN_UBASE *)NX_CRYPTO_NULL, 0u, 0u, 0u}
...},
{
NX_CRYPTO_EC_POINT_AFFINE,
{
(HN_UBASE *)&secp224r1_fixed_points_2e_data[4],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{
(HN_UBASE *)&secp224r1_fixed_points_2e_data[5],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{(HN_UBASE *)NX_CRYPTO_NULL, 0u, 0u, 0u}
...},
{
NX_CRYPTO_EC_POINT_AFFINE,
{
(HN_UBASE *)&secp224r1_fixed_points_2e_data[6],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{
(HN_UBASE *)&secp224r1_fixed_points_2e_data[7],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{(HN_UBASE *)NX_CRYPTO_NULL, 0u, 0u, 0u}
...},
{
NX_CRYPTO_EC_POINT_AFFINE,
{
(HN_UBASE *)&secp224r1_fixed_points_2e_data[8],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{
(HN_UBASE *)&secp224r1_fixed_points_2e_data[9],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{(HN_UBASE *)NX_CRYPTO_NULL, 0u, 0u, 0u}
...},
{
NX_CRYPTO_EC_POINT_AFFINE,
{
(HN_UBASE *)&secp224r1_fixed_points_2e_data[10],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{
(HN_UBASE *)&secp224r1_fixed_points_2e_data[11],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{(HN_UBASE *)NX_CRYPTO_NULL, 0u, 0u, 0u}
...},
{
NX_CRYPTO_EC_POINT_AFFINE,
{
(HN_UBASE *)&secp224r1_fixed_points_2e_data[12],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{
(HN_UBASE *)&secp224r1_fixed_points_2e_data[13],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{(HN_UBASE *)NX_CRYPTO_NULL, 0u, 0u, 0u}
...},
{
NX_CRYPTO_EC_POINT_AFFINE,
{
(HN_UBASE *)&secp224r1_fixed_points_2e_data[14],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{
(HN_UBASE *)&secp224r1_fixed_points_2e_data[15],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{(HN_UBASE *)NX_CRYPTO_NULL, 0u, 0u, 0u}
...},
{
NX_CRYPTO_EC_POINT_AFFINE,
{
(HN_UBASE *)&secp224r1_fixed_points_2e_data[16],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{
(HN_UBASE *)&secp224r1_fixed_points_2e_data[17],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{(HN_UBASE *)NX_CRYPTO_NULL, 0u, 0u, 0u}
...},
{
NX_CRYPTO_EC_POINT_AFFINE,
{
(HN_UBASE *)&secp224r1_fixed_points_2e_data[18],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{
(HN_UBASE *)&secp224r1_fixed_points_2e_data[19],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{(HN_UBASE *)NX_CRYPTO_NULL, 0u, 0u, 0u}
...},
{
NX_CRYPTO_EC_POINT_AFFINE,
{
(HN_UBASE *)&secp224r1_fixed_points_2e_data[20],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{
(HN_UBASE *)&secp224r1_fixed_points_2e_data[21],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{(HN_UBASE *)NX_CRYPTO_NULL, 0u, 0u, 0u}
...},
{
NX_CRYPTO_EC_POINT_AFFINE,
{
(HN_UBASE *)&secp224r1_fixed_points_2e_data[22],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{
(HN_UBASE *)&secp224r1_fixed_points_2e_data[23],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{(HN_UBASE *)NX_CRYPTO_NULL, 0u, 0u, 0u}
...},
{
NX_CRYPTO_EC_POINT_AFFINE,
{
(HN_UBASE *)&secp224r1_fixed_points_2e_data[24],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{
(HN_UBASE *)&secp224r1_fixed_points_2e_data[25],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{(HN_UBASE *)NX_CRYPTO_NULL, 0u, 0u, 0u}
...},
{
NX_CRYPTO_EC_POINT_AFFINE,
{
(HN_UBASE *)&secp224r1_fixed_points_2e_data[26],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{
(HN_UBASE *)&secp224r1_fixed_points_2e_data[27],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{(HN_UBASE *)NX_CRYPTO_NULL, 0u, 0u, 0u}
...},
{
NX_CRYPTO_EC_POINT_AFFINE,
{
(HN_UBASE *)&secp224r1_fixed_points_2e_data[28],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{
(HN_UBASE *)&secp224r1_fixed_points_2e_data[29],
28 >> HN_SIZE_SHIFT, 28, (UINT)NX_CRYPTO_FALSE
...},
{(HN_UBASE *)NX_CRYPTO_NULL, 0u, 0u, 0u}
...}
...};
NX_CRYPTO_CONST NX_CRYPTO_EC_FIXED_POINTS _nx_crypto_ec_secp224r1_fixed_points =
{
4u, 224u, 56u, 28u,
(NX_CRYPTO_EC_POINT *)secp224r1_fixed_points_array,
(NX_CRYPTO_EC_POINT *)secp224r1_fixed_points_2e_array
...};...