aboutsummaryrefslogtreecommitdiff
path: root/bn/curves.json
blob: bdf993de27902235a0f6d50cf9cfc862eb3ae3f6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
{
  "name": "Barreto-Naehrig",
  "desc": "BN (Barreto, Naehrig curves) from: A Family of Implementation-Friendly BN Elliptic Curves - <https://eprint.iacr.org/2010/429.pdf>.",
  "curves": [
    {
      "name": "bn158",
      "category": "bn",
      "desc": "",
      "field": {
        "type": "Prime",
        "p": "0x24240D8241D5445106C8442084001384E0000013",
        "bits": 158
      },
      "form": "Weierstrass",
      "params": {
        "a": {
          "raw": "0x0000000000000000000000000000000000000000"
        },
        "b": {
          "raw": "0x0000000000000000000000000000000000000011"
        }
      },
      "generator": {
        "x": {
          "raw": "0x24240D8241D5445106C8442084001384E0000012"
        },
        "y": {
          "raw": "0x0000000000000000000000000000000000000004"
        }
      },
      "order": "0x24240D8241D5445106C7E3F07E0010842000000D",
      "cofactor": "0x01",
      "characteristics": {
        "discriminant": "206327671360737302491015800744139033450590902371",
        "j_invariant": "0",
        "trace_of_frobenius": "454233058419889982668807",
        "embedding_degree": "12",
        "anomalous": false,
        "supersingular": false,
        "cm_disc": "825310685442949209964062748743497713912381440069",
        "conductor": "1",
        "torsion_degrees": [
          {
            "r": 2,
            "least": 3,
            "full": 3
          },
          {
            "r": 3,
            "least": 2,
            "full": 6
          },
          {
            "r": 5,
            "least": 12,
            "full": 12
          },
          {
            "r": 7,
            "least": 6,
            "full": 6
          }
        ]
      }
    },
    {
      "name": "bn190",
      "category": "bn",
      "desc": "",
      "field": {
        "type": "Prime",
        "p": "0x240001B0000948001E60004134005F10005DC0003A800013",
        "bits": 190
      },
      "form": "Weierstrass",
      "params": {
        "a": {
          "raw": "0x000000000000000000000000000000000000000000000000"
        },
        "b": {
          "raw": "0x000000000000000000000000000000000000000000001001"
        }
      },
      "generator": {
        "x": {
          "raw": "0x240001B0000948001E60004134005F10005DC0003A800012"
        },
        "y": {
          "raw": "0x000000000000000000000000000000000000000000000040"
        }
      },
      "order": "0x240001B0000948001E600040D4005CD0005760003180000D",
      "cofactor": "0x01",
      "characteristics": {
        "discriminant": "882718062907666288196217719514349254081211436024346574435",
        "j_invariant": "0",
        "trace_of_frobenius": "29710571568175507457408237575",
        "embedding_degree": "12",
        "anomalous": false,
        "supersingular": false,
        "cm_disc": "392319139070073905864985653114187382750741137407664805213",
        "conductor": "3",
        "torsion_degrees": [
          {
            "r": 2,
            "least": 3,
            "full": 3
          },
          {
            "r": 3,
            "least": 2,
            "full": 6
          },
          {
            "r": 5,
            "least": 8,
            "full": 8
          },
          {
            "r": 7,
            "least": 2,
            "full": 6
          },
          {
            "r": 11,
            "least": 6,
            "full": 6
          },
          {
            "r": 13,
            "least": 4,
            "full": 12
          },
          {
            "r": 17,
            "least": 4,
            "full": 4
          },
          {
            "r": 19,
            "least": 9,
            "full": 18
          }
        ]
      }
    },
    {
      "name": "bn222",
      "category": "bn",
      "desc": "",
      "field": {
        "type": "Prime",
        "p": "0x23DC0D7DC02402CDE486F4C00015B5215C0000004C6CE00000000067",
        "bits": 222
      },
      "form": "Weierstrass",
      "params": {
        "a": {
          "raw": "0x00000000000000000000000000000000000000000000000000000000"
        },
        "b": {
          "raw": "0x00000000000000000000000000000000000000000000000000000101"
        }
      },
      "generator": {
        "x": {
          "raw": "0x23DC0D7DC02402CDE486F4C00015B5215C0000004C6CE00000000066"
        },
        "y": {
          "raw": "0x00000000000000000000000000000000000000000000000000000010"
        }
      },
      "order": "0x23DC0D7DC02402CDE486F4C00015555156000000496DA00000000061",
      "cofactor": "0x01",
      "characteristics": {
        "discriminant": "3776454638595735622662624104352071470606035506175466834584696299191",
        "j_invariant": "0",
        "trace_of_frobenius": "1943310227059934816526534243778567",
        "embedding_degree": "12",
        "anomalous": false,
        "supersingular": false,
        "cm_disc": "1678424283820326943405610713045364882123768329418561201311628394541"
      }
    },
    {
      "name": "bn254",
      "category": "bn",
      "desc": "",
      "field": {
        "type": "Prime",
        "p": "0x2523648240000001BA344D80000000086121000000000013A700000000000013",
        "bits": 254
      },
      "form": "Weierstrass",
      "params": {
        "a": {
          "raw": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        "b": {
          "raw": "0x0000000000000000000000000000000000000000000000000000000000000002"
        }
      },
      "generator": {
        "x": {
          "raw": "0x2523648240000001BA344D80000000086121000000000013A700000000000012"
        },
        "y": {
          "raw": "0x0000000000000000000000000000000000000000000000000000000000000001"
        }
      },
      "order": "0x2523648240000001BA344D8000000007FF9F800000000010A10000000000000D",
      "cofactor": "0x01",
      "characteristics": {
        "discriminant": "16798108731015832284940804142231733909889187121439069848933715426072753862995",
        "j_invariant": "0",
        "trace_of_frobenius": "129607518034317099905336561907183648775",
        "embedding_degree": "12",
        "anomalous": false,
        "supersingular": false,
        "cm_disc": "67192434924063329139763216568926935639427140967721962295829525142383831810117",
        "conductor": "1",
        "torsion_degrees": [
          {
            "r": 2,
            "least": 3,
            "full": 3
          },
          {
            "r": 3,
            "least": 2,
            "full": 2
          },
          {
            "r": 5,
            "least": 8,
            "full": 8
          },
          {
            "r": 7,
            "least": 6,
            "full": 6
          }
        ]
      },
      "aliases": [
        "other/Fp254BNb"
      ]
    },
    {
      "name": "bn286",
      "category": "bn",
      "desc": "",
      "field": {
        "type": "Prime",
        "p": "0x240900D8991B25B0E2CB51DDA534A205391892080A008108000853813800138000000013",
        "bits": 286
      },
      "form": "Weierstrass",
      "params": {
        "a": {
          "raw": "0x000000000000000000000000000000000000000000000000000000000000000000000000"
        },
        "b": {
          "raw": "0x000000000000000000000000000000000000000000000000000000000000000000000002"
        }
      },
      "generator": {
        "x": {
          "raw": "0x240900D8991B25B0E2CB51DDA534A205391892080A008108000853813800138000000012"
        },
        "y": {
          "raw": "0x000000000000000000000000000000000000000000000000000000000000000000000001"
        }
      },
      "order": "0x240900D8991B25B0E2CB51DDA534A205391831FC099FC0FC0007F081080010800000000D",
      "cofactor": "0x01",
      "characteristics": {
        "discriminant": "70004402153711663438486789763681164697717379781714415888917198592851957854802452412755",
        "j_invariant": "0",
        "trace_of_frobenius": "8366863340207706741299716820480866394308615",
        "embedding_degree": "12",
        "anomalous": false,
        "supersingular": false,
        "cm_disc": "280017608614846653753947159054724658790869510759994323347962053071691010938343415349317",
        "conductor": "1",
        "torsion_degrees": [
          {
            "r": 2,
            "least": 3,
            "full": 3
          },
          {
            "r": 3,
            "least": 2,
            "full": 2
          },
          {
            "r": 5,
            "least": 8,
            "full": 8
          },
          {
            "r": 7,
            "least": 2,
            "full": 6
          }
        ]
      }
    },
    {
      "name": "bn318",
      "category": "bn",
      "desc": "",
      "field": {
        "type": "Prime",
        "p": "0x24009000D800900024075015F015F0075000008F411E808F4000000004E484E4800000000000101B",
        "bits": 318
      },
      "form": "Weierstrass",
      "params": {
        "a": {
          "raw": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000"
        },
        "b": {
          "raw": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000002"
        }
      },
      "generator": {
        "x": {
          "raw": "0x24009000D800900024075015F015F0075000008F411E808F4000000004E484E4800000000000101A"
        },
        "y": {
          "raw": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000001"
        }
      },
      "order": "0x24009000D800900024075015F015F0075000008EE11DC08EE000000004DB84DB8000000000000FE5",
      "cofactor": "0x01",
      "characteristics": {
        "discriminant": "300391510669785740008207650393722453451551004041839877989597999344720209212220677955394396490075",
        "j_invariant": "0",
        "trace_of_frobenius": "548079839685593379889100768354473324754975588407",
        "embedding_degree": "12",
        "anomalous": false,
        "supersingular": false,
        "cm_disc": "1201566042679142960032830601574889813806204016166811432118706403998991736080528238496822610378805"
      }
    },
    {
      "name": "bn350",
      "category": "bn",
      "desc": "",
      "field": {
        "type": "Prime",
        "p": "0x23FFB80035FFEE24020A01CAFD738EC3F24B475EBC0AD0F6A0530FD78443FDF01A3FF64084000004E0000013",
        "bits": 350
      },
      "form": "Weierstrass",
      "params": {
        "a": {
          "raw": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
        },
        "b": {
          "raw": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000002"
        }
      },
      "generator": {
        "x": {
          "raw": "0x23FFB80035FFEE24020A01CAFD738EC3F24B475EBC0AD0F6A0530FD78443FDF01A3FF64084000004E0000012"
        },
        "y": {
          "raw": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"
        }
      },
      "order": "0x23FFB80035FFEE24020A01CAFD738EC3F24B475EBC0A70F70052F7D78413FE08173FF7C07E0000042000000D",
      "cofactor": "0x01",
      "characteristics": {
        "discriminant": "1290053601431926622698139429963477963560185337848708333001329190095450433717605248005163618066274214476115",
        "j_invariant": "0",
        "trace_of_frobenius": "35917316178020966140770026648761406645010658995732487",
        "embedding_degree": "12",
        "anomalous": false,
        "supersingular": false
      }
    },
    {
      "name": "bn382",
      "category": "bn",
      "desc": "",
      "field": {
        "type": "Prime",
        "p": "0x240026400F3D82B2E42DE125B00158405B710818AC00000840046200950400000000001380052E000000000000000013",
        "bits": 382
      },
      "form": "Weierstrass",
      "params": {
        "a": {
          "raw": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
        },
        "b": {
          "raw": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002"
        }
      },
      "generator": {
        "x": {
          "raw": "0x240026400F3D82B2E42DE125B00158405B710818AC00000840046200950400000000001380052E000000000000000012"
        },
        "y": {
          "raw": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"
        }
      },
      "order": "0x240026400F3D82B2E42DE125B00158405B710818AC000007E0042F008E3E00000000001080046200000000000000000D",
      "cofactor": "0x01",
      "characteristics": {
        "discriminant": "5540996953667913971058039301942914304734176495422447785045292539108217242186829586959562222833658991069414454982995",
        "j_invariant": "0",
        "trace_of_frobenius": "2353932232174051770881173201777159236219815696568919523335",
        "embedding_degree": "12",
        "anomalous": false,
        "supersingular": false,
        "cm_disc": "22163987814671655884232157207771657218936705981689791140178816224200694916976437174636471732098416148581088900415557",
        "conductor": "1",
        "torsion_degrees": [
          {
            "r": 2,
            "least": 3,
            "full": 3
          },
          {
            "r": 3,
            "least": 2,
            "full": 2
          }
        ]
      }
    },
    {
      "name": "bn414",
      "category": "bn",
      "desc": "",
      "field": {
        "type": "Prime",
        "p": "0x240024000D7EE23F2823CA035D31B144364C75E59AEFFF60544845142000765EFFF7C0000021138004DFFFFFD900000000000013",
        "bits": 414
      },
      "form": "Weierstrass",
      "params": {
        "a": {
          "raw": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
        },
        "b": {
          "raw": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002"
        }
      },
      "generator": {
        "x": {
          "raw": "0x240024000D7EE23F2823CA035D31B144364C75E59AEFFF60544845142000765EFFF7C0000021138004DFFFFFD900000000000012"
        },
        "y": {
          "raw": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"
        }
      },
      "order": "0x240024000D7EE23F2823CA035D31B144364C75E59AEFFF605447E513F00070607FF82000001F9080041FFFFFDF0000000000000D",
      "cofactor": "0x01",
      "characteristics": {
        "discriminant": "23798378007415224600523786020682647333689401448557870707284910146274969430638668827605864233418695199132888067995603277183315",
        "j_invariant": "0",
        "trace_of_frobenius": "154267229207681125708793071161652324726038701923943665681563655"
      }
    },
    {
      "name": "bn446",
      "category": "bn",
      "desc": "",
      "field": {
        "type": "Prime",
        "p": "0x2400000000000000002400000002D00000000D800000021C0000001800000000870000000B0400000057C00000015C000000132000000067",
        "bits": 446
      },
      "form": "Weierstrass",
      "params": {
        "a": {
          "raw": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
        },
        "b": {
          "raw": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101"
        }
      },
      "generator": {
        "x": {
          "raw": "0x2400000000000000002400000002D00000000D800000021C0000001800000000870000000B0400000057C00000015C000000132000000066"
        },
        "y": {
          "raw": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010"
        }
      },
      "order": "0x2400000000000000002400000002D00000000D800000021C00000017A0000000870000000AD400000054C000000156000000126000000061",
      "cofactor": "0x01",
      "characteristics": {
        "discriminant": "102211695604069718983520304652693874995639508460729604902280098199792736381528662976886082950231100101353700265360419596271313310490295",
        "j_invariant": "0",
        "trace_of_frobenius": "10109980000181489923001201093401906549415298505746886291297633566727",
        "embedding_degree": "12",
        "anomalous": false,
        "supersingular": false,
        "cm_disc": "16353871296651155037363248744431019999302321353716736784364815711966433421844578816704853223993239939954615430517437259951758228901085",
        "conductor": "5",
        "torsion_degrees": [
          {
            "r": 2,
            "least": 3,
            "full": 3
          },
          {
            "r": 3,
            "least": 2,
            "full": 6
          },
          {
            "r": 5,
            "least": 24,
            "full": 24
          },
          {
            "r": 7,
            "least": 3,
            "full": 6
          },
          {
            "r": 11,
            "least": 6,
            "full": 6
          },
          {
            "r": 13,
            "least": 3,
            "full": 12
          }
        ]
      }
    },
    {
      "name": "bn478",
      "category": "bn",
      "desc": "",
      "field": {
        "type": "Prime",
        "p": "0x23FFFFFFFFFFFFFEDFFFFFFFEE0001B3600000006BFFF5DB835FFF5D28085442328002888F96F2944D7DED781430FFD780065FFF010020FFFD900013",
        "bits": 478
      },
      "form": "Weierstrass",
      "params": {
        "a": {
          "raw": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
        },
        "b": {
          "raw": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002"
        }
      },
      "generator": {
        "x": {
          "raw": "0x23FFFFFFFFFFFFFEDFFFFFFFEE0001B3600000006BFFF5DB835FFF5D28085442328002888F96F2944D7DED781430FFD780065FFF010020FFFD900012"
        },
        "y": {
          "raw": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"
        }
      },
      "order": "0x23FFFFFFFFFFFFFEDFFFFFFFEE0001B3600000006BFFF5DB835FFF5D2807F442328002888F9872944D7E0578112F7FD780062FFF07001F7FFDF0000D",
      "cofactor": "0x01",
      "characteristics": {
        "discriminant": "438995889888186407347652991425301965681188858026820794321677547168174289793337316790981018819616267513532082540968716717668009346359904036714835",
        "j_invariant": "0",
        "trace_of_frobenius": "662567649291894123450065105820326672097321614256273183056335502227537927"
      }
    },
    {
      "name": "bn510",
      "category": "bn",
      "desc": "",
      "field": {
        "type": "Prime",
        "p": "0x2400000000000000003F000000000001B0002958000000000237000C0F0000084000F8100151A400073800242D00001380019440000000000888000000000013",
        "bits": 510
      },
      "form": "Weierstrass",
      "params": {
        "a": {
          "raw": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
        },
        "b": {
          "raw": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101"
        }
      },
      "generator": {
        "x": {
          "raw": "0x2400000000000000003F000000000001B0002958000000000237000C0F0000084000F8100151A400073800242D00001380019440000000000888000000000012"
        },
        "y": {
          "raw": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010"
        }
      },
      "order": "0x2400000000000000003F000000000001B0002958000000000237000C0F000007E000F8100151A40006E400242D000010800181E000000000073800000000000D",
      "cofactor": "0x01",
      "characteristics": {
        "discriminant": "1885472990148177717128295978135615557087890561449182466062048685887447869640291029478850359875117134356442109712418887586250126028988200000205538791824995",
        "j_invariant": "0",
        "trace_of_frobenius": "43422033463993573283847164979847511362503473044959842495500254821277109321735"
      }
    },
    {
      "name": "bn542",
      "category": "bn",
      "desc": "",
      "field": {
        "type": "Prime",
        "p": "0x2400090000D80009000024000090001B01B1B051090510001B00D8001B0510D8A2084511080008D000090510005110800108138025380001B00000084000001380000013",
        "bits": 542
      },
      "form": "Weierstrass",
      "params": {
        "a": {
          "raw": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
        },
        "b": {
          "raw": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002"
        }
      },
      "generator": {
        "x": {
          "raw": "0x2400090000D80009000024000090001B01B1B051090510001B00D8001B0510D8A2084511080008D000090510005110800108138025380001B00000084000001380000012"
        },
        "y": {
          "raw": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"
        }
      },
      "order": "0x2400090000D80009000024000090001B01B1B051090510001B00D8001B0510D8A207E510FC0008700009051000510FC000FC108025080001B0000007E00000108000000D",
      "cofactor": "0x01",
      "characteristics": {
        "discriminant": "8098075721811414878105028299024751526203735822988204570759586766702677409513512479452243326535098163859087683174740008257961979909363199815965376947448202431297875",
        "j_invariant": "0",
        "trace_of_frobenius": "2845711812853053972806387468884004947678235462567670984735634579507964130977906695"
      }
    },
    {
      "name": "bn574",
      "category": "bn",
      "desc": "",
      "field": {
        "type": "Prime",
        "p": "0x2400023FFFFB7FFF4C00002400167FFFEE01AEE014423FAEFFFB5C000A200050FFFF2808400041FFFE73FFF7C000210000000000001380004DFFFD90000000000000000000000013",
        "bits": 574
      },
      "form": "Weierstrass",
      "params": {
        "a": {
          "raw": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
        },
        "b": {
          "raw": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002"
        }
      },
      "generator": {
        "x": {
          "raw": "0x2400023FFFFB7FFF4C00002400167FFFEE01AEE014423FAEFFFB5C000A200050FFFF2808400041FFFE73FFF7C000210000000000001380004DFFFD90000000000000000000000012"
        },
        "y": {
          "raw": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"
        }
      },
      "order": "0x2400023FFFFB7FFF4C00002400167FFFEE01AEE014423FAEFFFB5C000A200050FFFF2807E0003EFFFE85FFF820001F80000000000010800041FFFDF000000000000000000000000D",
      "cofactor": "0x01",
      "characteristics": {
        "discriminant": "34780870876742995377456858134373496984033068311331682913917171552933960384313251034752424287877192201334219790531446172327873978399527076876359580494778958227471204544936275",
        "j_invariant": "0",
        "trace_of_frobenius": "186496302581962721809830439849867378820456264884631045871326327118225203759963374092295",
        "embedding_degree": "12",
        "anomalous": false,
        "supersingular": false,
        "cm_disc": "139123483506971981509827432537493987936132273245326731655668686211735841537253004139009510655206186842615069331685934821932675457333223676459566995651997607706124854805659717",
        "conductor": "1",
        "torsion_degrees": [
          {
            "r": 2,
            "least": 3,
            "full": 3
          }
        ]
      }
    },
    {
      "name": "bn606",
      "category": "bn",
      "desc": "",
      "field": {
        "type": "Prime",
        "p": "0x23FFFFFFFFFFFEE00000000000036000000241AFFB7FFFFFF275E0024000001B1440000D94482DF27FFFC9AEDF0000000036512100245142137FFFFFB75D7BD900000000000000246C844E13",
        "bits": 606
      },
      "form": "Weierstrass",
      "params": {
        "a": {
          "raw": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
        },
        "b": {
          "raw": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002"
        }
      },
      "generator": {
        "x": {
          "raw": "0x23FFFFFFFFFFFEE00000000000036000000241AFFB7FFFFFF275E0024000001B1440000D94482DF27FFFC9AEDF0000000036512100245142137FFFFFB75D7BD900000000000000246C844E12"
        },
        "y": {
          "raw": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"
        }
      },
      "order": "0x23FFFFFFFFFFFEE00000000000036000000241AFFB7FFFFFF275E0024000001B1440000D9447CDF27FFFC9AEE08000000036511F8024513F107FFFFFB75D81DF00000000000000246C7E420D",
      "cofactor": "0x01",
      "characteristics": {
        "discriminant": "149382560479715729921650870888843346324510370210262391936546251975130529782979972747938509514543700633492700155237654428326390908646123885612873792268661751975617273279725264282339155",
        "j_invariant": "0",
        "trace_of_frobenius": "12222215858006915839141401255556695821975177558367937484927312121315564820050836996405726215"
      }
    },
    {
      "name": "bn638",
      "category": "bn",
      "desc": "",
      "field": {
        "type": "Prime",
        "p": "0x23FFFFFDC000000D7FFFFFB8000001D3FFFFF942D000165E3FFF94870000D52FFFFDD0E00008DE55C00086520021E55BFFFFF51FFFF4EB800000004C80015ACDFFFFFFFFFFFFECE00000000000000067",
        "bits": 638
      },
      "form": "Weierstrass",
      "params": {
        "a": {
          "raw": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
        },
        "b": {
          "raw": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101"
        }
      },
      "generator": {
        "x": {
          "raw": "0x23FFFFFDC000000D7FFFFFB8000001D3FFFFF942D000165E3FFF94870000D52FFFFDD0E00008DE55C00086520021E55BFFFFF51FFFF4EB800000004C80015ACDFFFFFFFFFFFFECE00000000000000066"
        },
        "y": {
          "raw": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010"
        }
      },
      "order": "0x23FFFFFDC000000D7FFFFFB8000001D3FFFFF942D000165E3FFF94870000D52FFFFDD0E00008DE55600086550021E555FFFFF54FFFF4EAC000000049800154D9FFFFFFFFFFFFEDA00000000000000061",
      "cofactor": "0x01",
      "characteristics": {
        "discriminant": "641593209463000238284923228689168801117629789043238356871360716989515584497239494051781991794253619096481315470262367432019698642631650152075067922231951354925301839708740457083469793688592055",
        "j_invariant": "0",
        "trace_of_frobenius": "800995136978371572363525747477255032258950408689114271367829691469194143147501961435441086332935"
      }
    }
  ]
}