Skip to content

test_invalid()

Documentation for tests/osaka/eip7951_p256verify_precompiles/test_p256verify.py::test_invalid@e9958ed2.

Generate fixtures for these test cases for Osaka with:

fill -v tests/osaka/eip7951_p256verify_precompiles/test_p256verify.py::test_invalid --fork Osaka

Negative tests for the P256VERIFY precompile.

Source code in tests/osaka/eip7951_p256verify_precompiles/test_p256verify.py
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
@pytest.mark.parametrize(
    "input_data",
    [
        pytest.param(b"", id="zero_length_input"),
        pytest.param(
            b"\x00" + Spec.H0 + Spec.R0 + Spec.S0 + Spec.X0 + Spec.Y0,
            id="input_too_long",
        ),
        pytest.param(
            (Spec.H0 + Spec.R0 + Spec.S0 + Spec.X0 + Spec.Y0)[:-1],
            id="input_too_short",
        ),
        pytest.param(
            H(0) + R(0) + S(0) + X(0) + Y(0),
            id="input_all_zeros",
        ),
        pytest.param(
            H(0) + Spec.R0 + Spec.S0 + Spec.X0 + Spec.Y0,
            id="hash_0",
        ),
        pytest.param(
            H(Spec.N - 1) + Spec.R0 + Spec.S0 + Spec.X0 + Spec.Y0,
            id="hash_N_minus_1",
        ),
        pytest.param(
            H(Spec.N) + Spec.R0 + Spec.S0 + Spec.X0 + Spec.Y0,
            id="hash_N",
        ),
        pytest.param(
            H(Spec.P - 1) + Spec.R0 + Spec.S0 + Spec.X0 + Spec.Y0,
            id="hash_P_minus_1",
        ),
        pytest.param(
            H(Spec.P) + Spec.R0 + Spec.S0 + Spec.X0 + Spec.Y0,
            id="hash_P",
        ),
        pytest.param(
            H(2**256 - 1) + Spec.R0 + Spec.S0 + Spec.X0 + Spec.Y0,
            id="hash_max",
        ),
        pytest.param(
            Spec.H0 + R(0) + Spec.S0 + Spec.X0 + Spec.Y0,
            id="r_eq_to_zero",
        ),
        pytest.param(
            Spec.H0 + R(Spec.N) + Spec.S0 + Spec.X0 + Spec.Y0,
            id="r_eq_to_n",
        ),
        pytest.param(
            Spec.H1 + R(Spec.R1.value + Spec.N) + Spec.S1 + Spec.X1 + Spec.Y1,
            id="r_above_n",
        ),
        pytest.param(
            Spec.H0 + R(2**256 - 1) + Spec.S0 + Spec.X0 + Spec.Y0,
            id="r_max",
        ),
        pytest.param(
            Spec.H0 + Spec.R0 + S(0) + Spec.X0 + Spec.Y0,
            id="s_eq_to_zero",
        ),
        pytest.param(
            Spec.H0 + Spec.R0 + S(Spec.N) + Spec.X0 + Spec.Y0,
            id="s_eq_to_n",
        ),
        # If checks for r, s, and point-at-infinity are missing, the s=0 zeros
        # both u1 and u2, so the computed R is the point at infinity,
        # and the signature may be considered valid in such implementation.
        pytest.param(
            Spec.H0 + R(0) + S(0) + X(Spec.Gx) + Y(Spec.Gy),
            id="r_0_s_0",
        ),
        pytest.param(
            Spec.H0 + R(0) + S(Spec.N) + X(Spec.Gx) + Y(Spec.Gy),
            id="r_0_s_N",
        ),
        pytest.param(
            Spec.H0 + R(Spec.N) + S(0) + X(Spec.Gx) + Y(Spec.Gy),
            id="r_N_s_0",
        ),
        pytest.param(
            Spec.H0 + R(Spec.N) + S(Spec.N) + X(Spec.Gx) + Y(Spec.Gy),
            id="r_N_s_N",
        ),
        # If checks for r and point-at-infinity are missing, the h=0 and r=0
        # zero both u1 and u2, so the computed R is the point at infinity,
        # and the signature may be considered valid in such implementation.
        pytest.param(
            H(0) + R(0) + Spec.S0 + X(Spec.Gx) + Y(Spec.Gy),
            id="hash_0_r_0",
        ),
        pytest.param(
            H(0) + R(Spec.N) + Spec.S0 + X(Spec.Gx) + Y(Spec.Gy),
            id="hash_0_r_N",
        ),
        pytest.param(
            H(Spec.N) + R(0) + Spec.S0 + X(Spec.Gx) + Y(Spec.Gy),
            id="hash_N_r_0",
        ),
        pytest.param(
            H(Spec.N) + R(Spec.N) + Spec.S0 + X(Spec.Gx) + Y(Spec.Gy),
            id="hash_N_r_N",
        ),
        pytest.param(
            Spec.H0 + R(Spec.Gx) + S((2**256 - 1) % Spec.N) + X(Spec.Gx) + Y(Spec.Gy),
            id="s_max_mod_N",
        ),
        pytest.param(
            H(Spec.N + 1 - Spec.Gx) + R(Spec.Gx) + S(Spec.N + 1) + X(Spec.Gx) + Y(Spec.Gy),
            id="s_N_plus_1",
        ),
        pytest.param(
            H(((2**256 - 1) % Spec.N) - Spec.Gx + Spec.N)
            + R(Spec.Gx)
            + S(2**256 - 1)
            + X(Spec.Gx)
            + Y(Spec.Gy),
            id="s_max",
        ),
        pytest.param(
            Spec.H0 + Spec.R0 + Spec.S0 + X(Spec.P) + Spec.Y0,
            id="x_eq_to_p",
        ),
        pytest.param(
            Spec.H0 + Spec.R0 + Spec.S0 + Spec.X0 + Y(Spec.P),
            id="y_eq_to_p",
        ),
        pytest.param(
            Spec.H0 + Spec.R0 + Spec.S0 + X(0) + Y(0),
            id="point_at_infinity",
        ),
        # Test case with Q at infinity. If the implementation misses the check
        # that Q is not the point at infinity, the signature should verify.
        pytest.param(
            Spec.H0
            + R(0x2DD5CBB0E37BAEC8D1460909B206CA2C87E50CA43B8F31E46168027A7F0AEEC6)
            + Spec.S0
            + X(0)
            + Y(0),
            id="point_at_infinity_v2",
        ),
        pytest.param(
            Spec.H0 + Spec.R0 + Spec.S0 + X(Spec.X0.value + 1) + Spec.Y0,
            id="point_not_on_curve_x",
        ),
        pytest.param(
            Spec.H0 + Spec.R0 + Spec.S0 + Spec.X0 + Y(Spec.Y0.value + 1),
            id="point_not_on_curve_y",
        ),
        pytest.param(
            Spec.H0 + Spec.R0 + Spec.S0 + Spec.Y0 + Spec.X0,
            id="x_and_y_reversed",
        ),
        pytest.param(
            Spec.H0 + Spec.R0 + Spec.S0 + Spec.X0 + Y(Spec.P + 1),
            id="y_greater_than_p",
        ),
        pytest.param(
            Spec.H0 + Spec.R0 + Spec.S0 + X(Spec.P + 1) + Spec.Y0,
            id="x_greater_than_p",
        ),
        pytest.param(
            H(0xC3D3BE9EB3577F217AE0AB360529A30B18ADC751AEC886328593D7D6FE042809)
            + R(0x3A4E97B44CBF88B90E6205A45BA957E520F63F3C6072B53C244653278A1819D8)
            + S(0x6A184AA037688A5EBD25081FD2C0B10BB64FA558B671BD81955CA86E09D9D722)
            + X(Spec.P)  # Valid for X(0)
            + Y(0x66485C780E2F83D72433BD5D84A06BB6541C2AF31DAE871728BF856A174F93F4),
            id="x_P_y_positive",
        ),
        pytest.param(
            H(0xF98A88895CB0866C5BAD58CF03000DDF9D21CB9407892FF54D637E6A046AFBB3)
            + R(0x81DC074973D3222F3930981AD98D022517C91063FFB83CFD620E29B86DC30A8F)
            + S(0x365E4CD085617A265765062A2D9954ED86309DFA33CF5AE1464FE119419FC34A)
            + X(Spec.P)  # Valid for X(0)
            + Y(0x99B7A386F1D07C29DBCC42A27B5F9449ABE3D50DE25178E8D7407A95E8B06C0B),
            id="x_P_y_negative",
        ),
        pytest.param(
            H(0x5F95DCD6E41662D1E0AEFCCDB7877877C1FD88C9E67FC3CDA0D1D520FA8A3AC2)
            + R(0xAF5DFDDB7EDC789D7C9C42A44AFBBF13C8F1D77D576B6EE5F11FEA4F33E2CB39)
            + S(0xA28F8C5625AD622950F2FCE9672784B287EF9E032ADE8C23BA218413A1CF6522)
            + X(Spec.P + 5)  # Valid for X(5)
            + Y(0x459243B9AA581806FE913BCE99817ADE11CA503C64D9A3C533415C083248FBCC),
            id="x_P_plus_5_y_positive",
        ),
        pytest.param(
            H(0x31CE0B00FA8DD61EF28C7DC5F839C78CF70D60E625E0670BF9C9FCE25E89D99F)
            + R(0x0FA19CBE154513BA348F2DB951AFB6E135BAC5BD8891282781A032103C3F1289)
            + S(0xD9ABF5C4E61098A6E653F265770BDBA36ECC8073CEF99548D89FE2C39A7AFA9B)
            + X(Spec.P + 5)  # Valid for X(5)
            + Y(0xBA6DBC4555A7E7FA016EC431667E8521EE35AFC49B265C3ACCBEA3F7CDB70433),
            id="x_P_plus_5_y_negative",
        ),
        pytest.param(
            H(0x65B0E03E7A27E6F9F4989C72486FCAF0A3ECF3EF60D14F1C11FB5BF071A8FD1B)
            + R(0x0B0CC9E314E4180FE18D205010DD1C4410632D472CC4E7AB56CBC04091ABE006)
            + S(0x8D12C4F19AC41D7877705453A247AB96394E7C093F57EC073A9D150CDE6B68C6)
            + X(0x09E78D4EF60D05F750F6636209092BC43CBDD6B47E11A9DE20A9FEB2A50BB96C)
            + Y(Spec.P + 1),  # Valid for Y(1)
            id="y_P_plus_1",
        ),
        # Test case produces the point R at infinity: (R0/S0)*G + (R0/S0)*(-G).
        pytest.param(
            H(Spec.R0.value) + Spec.R0 + Spec.S0 + X(Spec.Gx) + Y(Spec.P - Spec.Gy),
            id="R_at_infinity_v1",
        ),
        # Test case produces the point R at infinity: (1/1)*G + (1/1)*(-G).
        pytest.param(
            H(1) + R(1) + S(1) + X(Spec.Gx) + Y(Spec.P - Spec.Gy),
            id="R_at_infinity_v2",
        ),
        pytest.param(
            Spec.H0
            + R(0x813EF79CCEFA9A56F7BA805F0E478584FE5F0DD5F567BC09B5123CCBC9832365)
            + S(0x900E75AD233FCC908509DBFF5922647DB37C21F4AFD3203AE8DC4AE7794B0F87)
            + X(0xB838FF44E5BC177BF21189D0766082FC9D843226887FC9760371100B7EE20A6F)
            + Y(0xF0C9D75BFBA7B31A6BCA1974496EEB56DE357071955D83C4B1BADAA0B21832E9),
            id="valid_secp256k1_inputs",
        ),
        pytest.param(
            H(0x235060CAFE19A407880C272BC3E73600E3A12294F56143ED61929C2FF4525ABB)
            + R(0x182E5CBDF96ACCB859E8EEA1850DE5FF6E430A19D1D9A680ECD5946BBEA8A32B)
            + S(0x76DDFAE6797FA6777CAAB9FA10E75F52E70A4E6CEB117B3C5B2F445D850BD64C)
            + X(0x3828736CDFC4C8696008F71999260329AD8B12287846FEDCEDE3BA1205B12729)
            + Y(0x3E5141734E971A8D55015068D9B3666760F4608A49B11F92E500ACEA647978C7),
            id="wrong_endianness",
        ),
        pytest.param(
            H(Spec.P - 1)
            + R(Spec.N - 2)
            + S((Spec.N - 1) // 2)
            + X(Spec.P - 3)
            + Y(0x19719BEBF6AEA13F25C96DFD7C71F5225D4C8FC09EB5A0AB9F39E9178E55C121),
            id="near_field_boundary_p_minus_3",
        ),
        pytest.param(
            # Invalid curve attack: This point satisfies y² = x³ - 3x + 1 (mod
            # p) instead of the correct P-256 equation y² = x³ - 3x + b where
            # b = 0x5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53...
            # ...B0F63BCE3C3E27D2604B
            #
            # This tests that the implementation properly validates the curve
            # equation and rejects points on different curves (CVE-2020-0601
            # class vulnerability)
            Spec.H0
            + Spec.R0
            + Spec.S0
            + X(0x4)
            + Y(0x872A856D521EED42D28A60CCC2EAE42E1572F33BE2BF616DC9A762D51C459E2A),
            id="invalid_curve_attack_b_equals_one",
        ),
        pytest.param(
            # Invalid curve attack: Singular curve with b = 0
            # Point satisfies y² = x³ - 3x (mod p) - a singular/degenerate
            #                                        curve
            # Singular curves have discriminant = 0 and provide no security
            # guarantees.
            # This tests rejection of points on curves with catastrophic
            # security failures
            Spec.H0
            + Spec.R0
            + Spec.S0
            + X(0x2)
            + Y(0x507442007322AA895340CBA4ABC2D730BFD0B16C2C79A46815F8780D2C55A2DD),
            id="invalid_curve_attack_singular_b_zero",
        ),
        pytest.param(
            # Invalid curve attack: Boundary value b = p-1
            # Point satisfies y² = x³ - 3x + (p-1) (mod p)
            #
            # Tests proper parameter validation at
            # modular arithmetic boundaries.
            # Ensures implementations handle field arithmetic edge cases
            # correctly.
            Spec.H0
            + Spec.R0
            + Spec.S0
            + X(0x1)
            + Y(0x6522AED9EA48F2623B8EEAE3E213B99DA32E74C9421835804D374CE28FCCA662),
            id="invalid_curve_attack_b_equals_p_minus_1",
        ),
        pytest.param(
            # Invalid curve attack: Small discriminant curve with b = 2
            # Point satisfies y² = x³ - 3x + 2 (mod p)
            #
            # Curves with small discriminants are vulnerable to specialized
            # attacks.
            #
            # Tests rejection of cryptographically weak curve parameters.
            Spec.H0 + Spec.R0 + Spec.S0 + X(0x1) + Y(0x0),
            id="invalid_curve_attack_small_discriminant",
        ),
        pytest.param(
            # Invalid curve attack: Composite order curve with b = 7
            # Point satisfies y² = x³ - 3x + 7 (mod p)
            # Curve order has small factors enabling Pohlig-Hellman attacks
            # Tests protection against small subgroup confinement attacks
            Spec.H0
            + Spec.R0
            + Spec.S0
            + X(0x1)
            + Y(0x85EC5A4AF40176B63189069AEFFCB229C96D3E046E0283ED2F9DAC21B15AD3C),
            id="invalid_curve_attack_composite_order",
        ),
        pytest.param(
            # Invalid curve attack: Composite order curve with b = -Spec.B
            # Random point which satisfies y² = x³ - 3x - Spec.B (mod p)
            # Without the curve check in the implementation,
            # the signature checks out.
            H(0xC223E1538C4D7B5BBD3EF932736826FD64F4E8B5C80250D9E07A728689D13C38)
            + R(0x0C7CB59EF6BE7539397CC979AD9A87A3B73A0DD268BBA4990A3378C6391512D5)
            + S(0xF8C943685BCFE7864C0F8485CACD732D3A9F167531CAF26B67A3CB10B641F92C)
            + X(0xF1F2ADE681DB5699741B1F9FF080E9A08DCFF48F48A5048C4D90EC89440C3EFB)
            + Y(0xBFFE372E7BBDBD60E4DF885E17A37878461AE13B6491E7863020305962F2C6B6),
            id="invalid_curve_attack_bneg_1",
        ),
        pytest.param(
            # Invalid curve attack: Composite order curve with b = -Spec.B
            # Random point which satisfies y² = x³ - 3x - Spec.B (mod p)
            # Without the curve check in the implementation,
            # the signature checks out.
            H(0x982D25BF8E0E81FF41AC3C8033604C78ED5EF17C6EDDA977072EAB6821A7AD0A)
            + R(0x7C1996FA0EC911E4739AE7340B5345823272F494DFA32034A4FE5642C3DB91F2)
            + S(0x1E4D6CCF1AFB675D18BD27274770C8B84028D272D1D2641E70B30E1DF17AF3DC)
            + X(0xC9124B6AB12F08790A2712AEC74A1B71FA997CA7DE1E9117BC18D07DCBFE7C91)
            + Y(0xADD1E9DF40A47ADD6B2191C05D0C1B4AF1BAEEAA0C0A97E7B3D06FFAE543D096),
            id="invalid_curve_attack_bneg_2",
        ),
        pytest.param(
            # Invalid curve attack: random point bytes.
            # Without the curve check in the implementation,
            # the signature checks out.
            H(0)
            + R(0xD21697149F598FEAE9A750DCA86AE6D5EFA654680BA748D2DF7053115101C129)
            + S(0xEF3FD943AD1F126B3EBA1A5900D79886755DB6DAFCB6B0117D86364340CE36CC)
            + X(0x687216395BD2F58E5A6D91964AE67E766DF2A2FB8E623795A5852507927C70C2)
            + Y(0xF40E19B93BEB5C0678EDE25AB3654E08C0C6EF6A143CEC9865F3A447C6EB84E3),
            id="invalid_curve_attack_h0_random1",
        ),
        pytest.param(
            # Invalid curve attack: random point bytes.
            # Without the curve check in the implementation,
            # the signature checks out.
            H(0)
            + R(0x52E47C5D6AAB66AB6A18A694359EB86FDD40F10E79EF5493C5469EC88BA03334)
            + S(0x7584C5BF3CA2869C7E383B1603A935EEB79D990B7F7152E055EC562E87FD715E)
            + X(0x0000000000000002000000000000000000000000000000000000000000000000)
            + Y(0x000000000000000000000000000000000000000000000000FE00000000000000),
            id="invalid_curve_attack_h0_random2",
        ),
        pytest.param(
            # Invalid curve attack: random point bytes.
            # Without the curve check in the implementation,
            # the signature checks out.
            H(0)
            + R(0x81333B13B13F362253BD536D17563A72EB575F1993F55ED40E633E503F60B864)
            + S(0xE2208C4045F5241ECCF08F825399224C4B78595A10433EC33799DCAD7B0E1F4A)
            + X(0xCE9C1088B4BCC71223A187410BB05819A6D32D2F1A1024B83557E51833AB23DC)
            + Y(0x00FB64209538D1143A88E8B91D2DA46095AF852D7DD494BE6AF26C29D545F856),
            id="invalid_curve_attack_h0_random3",
        ),
        pytest.param(
            # Invalid curve attack: random point bytes.
            # Without the curve check in the implementation,
            # the signature checks out.
            H(0)
            + R(0x3C593B5857D1D0EB83923D73E76A7A53EF191BB210267D8C0BE17A4E34AB2E73)
            + S(0xD022359310067882F713AFBECECE71CB80E4857368F46AB0346362DB033ED298)
            + X(0x358DF65C0D732CCAB431D4CAB7F98E9F9279BD71D64635FAB21EA87EF254C5D1)
            + Y(0x82909FF2E230433D000000000000000000000000000000000000000000000000),
            id="invalid_curve_attack_h0_random4",
        ),
        pytest.param(
            # Invalid curve attack: random point bytes.
            # Without the curve check in the implementation,
            # the signature checks out.
            H(0)
            + R(0x425CFFCA652791CABFC81B1E4B7712DBA196599FABCE16978E06E6AF486B1FEC)
            + S(0x58B864B5A41CD17524E4773EC353C9590D792F601DA075AD9B3F40E8E7070E8A)
            + X(0x00000000000000000000000000000000000000000000000000007FFFFFFFFFFF)
            + Y(0xFFFF000000000000000000000000000000000000000000000000000000000000),
            id="invalid_curve_attack_h0_random5",
        ),
        pytest.param(
            # Invalid curve attack: random point bytes.
            # Without the curve check in the implementation,
            # the signature checks out.
            H(0x2DA0A74BE3122AEAEF5704D0EB27881FBFB918B4A5252B660935263D0569BA92)
            + R(0x5543729CBCFD99EE6C3B422D7F245903E7177B3A6A4E3C20C0DC5F5E109795AE)
            + S(0x96403D5BB253EBD7DEF44BCBC062FCD4EA5E358B19B67C13E625EFDF6B977597)
            + X(0x996CADC001622FB5E363B421A08854096569397B3BDCB8C3DEC907392F7CC59B)
            + Y(0xD34A4E0F08C6FC549F7FAFFBCAF610D7F6C467B7B27072720E81079FB6595B52),
            id="invalid_curve_attack_random6",
        ),
        pytest.param(
            # Invalid curve attack: random point bytes.
            # Without the curve check in the implementation,
            # the signature checks out.
            H(0x1F9D9B26DB42380C85F075174DDAF158F9DE4CD10C3104190D7AF96938DD8ECD)
            + R(0x159946DBC4F1DE68CD4096862A5B10E5986ACB32229D6E68884DC83DAB70A307)
            + S(0x63D80724A4074421F7DD255630794E3AEBE635B756D72B24652AAC07D01B289C)
            + X(0x9CA2F39CC3536861000000000000000000000000000000000000000000000000)
            + Y(0x000000000000B100000000000000000000000000000000000000000000000000),
            id="invalid_curve_attack_random7",
        ),
        pytest.param(
            # Invalid curve attack: random point bytes.
            # Without the curve check in the implementation,
            # the signature checks out.
            H(0xD380DA9251F1FB809ED48C70DC8F81E91C471F0E81BC95E7611C653278A5B6B4)
            + R(0xFF197EB72A9E531B17B872525247E6564B786CC014ED28B6849CE7D8C976BDF2)
            + S(0x7B0B2EFF9BB5409052B35FD3FF81DCE77D95A1F75C46989817045120DA5C3C9C)
            + X(0xBA7695481956A6269DD646ADDD4AFE6D9763637D76AD780299E51201384A8403)
            + Y(0xA62443DD4AFE6D9763637D76AD780299E51201384AE4FEDD3CDAC9F461600D53),
            id="invalid_curve_attack_random8",
        ),
        pytest.param(
            # Invalid curve attack: random point bytes.
            # Without the curve check in the implementation,
            # the signature checks out.
            H(0x4B082B60497ED87FFE570612D521E73A2CD6C832744EF8E4E2E329E30D3D5879)
            + R(0x6665A88CB3FF30D339A1975FD46CF5EF480A68A093AB778550073D3528C3B609)
            + S(0xAEAADDB235E4AC6097356DB96161E27849EA8EDF1E971F74EB51E19A1CC950A1)
            + X(0x0000000000000002000000000000000000000000000000000000000000000000)
            + Y(0x000000000000000000000000000000000000000000000000FE00000000000000),
            id="invalid_curve_attack_random9",
        ),
        pytest.param(
            # Invalid curve attack: random point bytes.
            # Without the curve check in the implementation,
            # the signature checks out.
            H(0x6CC2B605CFBDB22B9E7B55EFE8C1DA0F1C5A0EC1AA8D82EEDFB5EA70E9846E88)
            + R(0x3C593B5857D1D0EB83923D73E76A7A53EF191BB210267D8C0BE17A4E34AB2E73)
            + S(0xD022359310067882F713AFBECECE71CB80E4857368F46AB0346362DB033ED298)
            + X(0x358DF65C0D732CCAB431D4CAB7F98E9F9279BD71D64635FAB21EA87EF254C5D1)
            + Y(0x82909FF2E230433D000000000000000000000000000000000000000000000000),
            id="invalid_curve_attack_random10",
        ),
        pytest.param(
            # Invalid curve attack: random point bytes.
            # Without the curve check in the implementation,
            # the signature checks out.
            H(0x810C1D53EA96A700C93F6AF1C183197B040EA6FEAE10564877A1C78EC6074FF1)
            + R(0x34D0F0C8E14D39002B5DEA00808957963E849503DDFD626323433047D696C7C4)
            + S(0x6A7FE39C046304317F799FB900877073F2AE3C798DD4414795551A833ABCBA85)
            + X(0x0000000000F90000000067923073C067015B601D94F262F0E82B9DA2D33A6A32)
            + Y(0xFC3D71CB490CF346ED31DC37405FB0069F4A7ED188381DC049ABAB66E9F80080),
            id="invalid_curve_attack_random_11",
        ),
    ],
)
@pytest.mark.parametrize("expected_output", [Spec.INVALID_RETURN_VALUE], ids=[""])
@pytest.mark.parametrize("precompile_address", [Spec.P256VERIFY], ids=[""])
@EIPChecklist.Precompile.Test.Inputs.AllZeros()
@EIPChecklist.Precompile.Test.Inputs.Invalid()
@EIPChecklist.Precompile.Test.Inputs.Invalid.Crypto()
@EIPChecklist.Precompile.Test.Inputs.Invalid.Corrupted()
@EIPChecklist.Precompile.Test.InputLengths.Zero()
@EIPChecklist.Precompile.Test.InputLengths.Static.Correct()
@EIPChecklist.Precompile.Test.InputLengths.Static.TooShort()
@EIPChecklist.Precompile.Test.InputLengths.Static.TooLong()
@EIPChecklist.Precompile.Test.OutOfBounds.Max()
@EIPChecklist.Precompile.Test.OutOfBounds.MaxPlusOne()
def test_invalid(state_test: StateTestFiller, pre: Alloc, post: dict, tx: Transaction) -> None:
    """Negative tests for the P256VERIFY precompile."""
    state_test(env=Environment(), pre=pre, post=post, tx=tx)

Parametrized Test Cases

The interactive table below is also available as a standalone page.

Test ID (Abbreviated) precompile_address expected_output input_data
...fork_Osaka-state_test---zero_length_input 256
...fork_Osaka-state_test---input_too_long 256 00bb5a52f42f9c9261ed4361f59422a1 e30036e7c32b270c8807a419feca6050 232ba3a8be6b94d5ec80a6d9d1190a43 6effe50d85a1eee859b8cc6af9bd5c2e 184cd60b855d442f5b3c7b11eb6c4e0a e7525fe710fab9aa7c77a67f79e6fadd 762927b10512bae3eddcfe467828128b ad2903269919f7086069c8c4df6c7328 38c7787964eaac00e5921fb1498a60f4 606766b3d9685001558d1a974e734151 3e
...fork_Osaka-state_test---input_too_short 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e734151
...fork_Osaka-state_test---input_all_zeros 256 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000
...fork_Osaka-state_test---hash_0 256 00000000000000000000000000000000 00000000000000000000000000000000 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e
...fork_Osaka-state_test---hash_N_minus_1 256 ffffffff00000000ffffffffffffffff bce6faada7179e84f3b9cac2fc632550 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e
...fork_Osaka-state_test---hash_N 256 ffffffff00000000ffffffffffffffff bce6faada7179e84f3b9cac2fc632551 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e
...fork_Osaka-state_test---hash_P_minus_1 256 ffffffff000000010000000000000000 00000000fffffffffffffffffffffffe 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e
...fork_Osaka-state_test---hash_P 256 ffffffff000000010000000000000000 00000000ffffffffffffffffffffffff 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e
...fork_Osaka-state_test---hash_max 256 ffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffff 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e
...fork_Osaka-state_test---r_eq_to_zero 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 00000000000000000000000000000000 00000000000000000000000000000000 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e
...fork_Osaka-state_test---r_eq_to_n 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 ffffffff00000000ffffffffffffffff bce6faada7179e84f3b9cac2fc632551 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e
...fork_Osaka-state_test---r_above_n 256 532eaabd9574880dbf76b9b8cc00832c 20a6ec113d682299550d7a6e0f345e25 ffffffff000000010000000000000000 00000000fffffffffffffffffffffffc ffffffff00000000ffffffffffffffff bce6faada7179e84f3b9cac2fc63254e d705d16f80987e2d9b1a6957d29ce22f ebf7d10fa515153182415c8361baaca4 b1fc105ee5ce80d514ec1238beae2037 a6f83625593620d460819e8682160926
...fork_Osaka-state_test---r_max 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 ffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffff 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e
...fork_Osaka-state_test---s_eq_to_zero 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 00000000000000000000000000000000 00000000000000000000000000000000 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e
...fork_Osaka-state_test---s_eq_to_n 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 ffffffff00000000ffffffffffffffff bce6faada7179e84f3b9cac2fc632551 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e
...fork_Osaka-state_test---r_0_s_0 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 4fe342e2fe1a7f9b8ee7eb4a7c0f9e16 2bce33576b315ececbb6406837bf51f5
...fork_Osaka-state_test---r_0_s_N 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 00000000000000000000000000000000 00000000000000000000000000000000 ffffffff00000000ffffffffffffffff bce6faada7179e84f3b9cac2fc632551 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 4fe342e2fe1a7f9b8ee7eb4a7c0f9e16 2bce33576b315ececbb6406837bf51f5
...fork_Osaka-state_test---r_N_s_0 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 ffffffff00000000ffffffffffffffff bce6faada7179e84f3b9cac2fc632551 00000000000000000000000000000000 00000000000000000000000000000000 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 4fe342e2fe1a7f9b8ee7eb4a7c0f9e16 2bce33576b315ececbb6406837bf51f5
...fork_Osaka-state_test---r_N_s_N 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 ffffffff00000000ffffffffffffffff bce6faada7179e84f3b9cac2fc632551 ffffffff00000000ffffffffffffffff bce6faada7179e84f3b9cac2fc632551 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 4fe342e2fe1a7f9b8ee7eb4a7c0f9e16 2bce33576b315ececbb6406837bf51f5
...fork_Osaka-state_test---hash_0_r_0 256 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 4fe342e2fe1a7f9b8ee7eb4a7c0f9e16 2bce33576b315ececbb6406837bf51f5
...fork_Osaka-state_test---hash_0_r_N 256 00000000000000000000000000000000 00000000000000000000000000000000 ffffffff00000000ffffffffffffffff bce6faada7179e84f3b9cac2fc632551 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 4fe342e2fe1a7f9b8ee7eb4a7c0f9e16 2bce33576b315ececbb6406837bf51f5
...fork_Osaka-state_test---hash_N_r_0 256 ffffffff00000000ffffffffffffffff bce6faada7179e84f3b9cac2fc632551 00000000000000000000000000000000 00000000000000000000000000000000 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 4fe342e2fe1a7f9b8ee7eb4a7c0f9e16 2bce33576b315ececbb6406837bf51f5
...fork_Osaka-state_test---hash_N_r_N 256 ffffffff00000000ffffffffffffffff bce6faada7179e84f3b9cac2fc632551 ffffffff00000000ffffffffffffffff bce6faada7179e84f3b9cac2fc632551 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 4fe342e2fe1a7f9b8ee7eb4a7c0f9e16 2bce33576b315ececbb6406837bf51f5
...fork_Osaka-state_test---s_max_mod_N 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 00000000ffffffff0000000000000000 4319055258e8617b0c46353d039cdaae 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 4fe342e2fe1a7f9b8ee7eb4a7c0f9e16 2bce33576b315ececbb6406837bf51f5
...fork_Osaka-state_test---s_N_plus_1 256 94e82e0c1ed3bdb90743191a9c5bbf0d 45e37d2c792c6ae3ff18917d23ca62bc 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 ffffffff00000000ffffffffffffffff bce6faada7179e84f3b9cac2fc632552 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 4fe342e2fe1a7f9b8ee7eb4a7c0f9e16 2bce33576b315ececbb6406837bf51f5
...fork_Osaka-state_test---s_max 256 94e82e0d1ed3bdb80743191a9c5bbf0d 88fc827ed214cc5f0b5ec6ba27673d69 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 ffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffff 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 4fe342e2fe1a7f9b8ee7eb4a7c0f9e16 2bce33576b315ececbb6406837bf51f5
...fork_Osaka-state_test---x_eq_to_p 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 ffffffff000000010000000000000000 00000000ffffffffffffffffffffffff c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e
...fork_Osaka-state_test---y_eq_to_p 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 ffffffff000000010000000000000000 00000000ffffffffffffffffffffffff
...fork_Osaka-state_test---point_at_infinity 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000
...fork_Osaka-state_test---point_at_infinity_v2 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2dd5cbb0e37baec8d1460909b206ca2c 87e50ca43b8f31e46168027a7f0aeec6 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000
...fork_Osaka-state_test---point_not_on_curve_x 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732839 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e
...fork_Osaka-state_test---point_not_on_curve_y 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513f
...fork_Osaka-state_test---x_and_y_reversed 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838
...fork_Osaka-state_test---y_greater_than_p 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 ffffffff000000010000000000000000 00000001000000000000000000000000
...fork_Osaka-state_test---x_greater_than_p 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 ffffffff000000010000000000000000 00000001000000000000000000000000 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e
...fork_Osaka-state_test---x_P_y_positive 256 c3d3be9eb3577f217ae0ab360529a30b 18adc751aec886328593d7d6fe042809 3a4e97b44cbf88b90e6205a45ba957e5 20f63f3c6072b53c244653278a1819d8 6a184aa037688a5ebd25081fd2c0b10b b64fa558b671bd81955ca86e09d9d722 ffffffff000000010000000000000000 00000000ffffffffffffffffffffffff 66485c780e2f83d72433bd5d84a06bb6 541c2af31dae871728bf856a174f93f4
...fork_Osaka-state_test---x_P_y_negative 256 f98a88895cb0866c5bad58cf03000ddf 9d21cb9407892ff54d637e6a046afbb3 81dc074973d3222f3930981ad98d0225 17c91063ffb83cfd620e29b86dc30a8f 365e4cd085617a265765062a2d9954ed 86309dfa33cf5ae1464fe119419fc34a ffffffff000000010000000000000000 00000000ffffffffffffffffffffffff 99b7a386f1d07c29dbcc42a27b5f9449 abe3d50de25178e8d7407a95e8b06c0b
...fork_Osaka-state_test---x_P_plus_5_y_positive 256 5f95dcd6e41662d1e0aefccdb7877877 c1fd88c9e67fc3cda0d1d520fa8a3ac2 af5dfddb7edc789d7c9c42a44afbbf13 c8f1d77d576b6ee5f11fea4f33e2cb39 a28f8c5625ad622950f2fce9672784b2 87ef9e032ade8c23ba218413a1cf6522 ffffffff000000010000000000000000 00000001000000000000000000000004 459243b9aa581806fe913bce99817ade 11ca503c64d9a3c533415c083248fbcc
...fork_Osaka-state_test---x_P_plus_5_y_negative 256 31ce0b00fa8dd61ef28c7dc5f839c78c f70d60e625e0670bf9c9fce25e89d99f 0fa19cbe154513ba348f2db951afb6e1 35bac5bd8891282781a032103c3f1289 d9abf5c4e61098a6e653f265770bdba3 6ecc8073cef99548d89fe2c39a7afa9b ffffffff000000010000000000000000 00000001000000000000000000000004 ba6dbc4555a7e7fa016ec431667e8521 ee35afc49b265c3accbea3f7cdb70433
...fork_Osaka-state_test---y_P_plus_1 256 65b0e03e7a27e6f9f4989c72486fcaf0 a3ecf3ef60d14f1c11fb5bf071a8fd1b 0b0cc9e314e4180fe18d205010dd1c44 10632d472cc4e7ab56cbc04091abe006 8d12c4f19ac41d7877705453a247ab96 394e7c093f57ec073a9d150cde6b68c6 09e78d4ef60d05f750f6636209092bc4 3cbdd6b47e11a9de20a9feb2a50bb96c ffffffff000000010000000000000000 00000001000000000000000000000000
...fork_Osaka-state_test---R_at_infinity_v1 256 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 b01cbd1c01e58065711814b583f061e9 d431cca994cea1313449bf97c840ae0a
...fork_Osaka-state_test---R_at_infinity_v2 256 00000000000000000000000000000000 00000000000000000000000000000001 00000000000000000000000000000000 00000000000000000000000000000001 00000000000000000000000000000000 00000000000000000000000000000001 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 b01cbd1c01e58065711814b583f061e9 d431cca994cea1313449bf97c840ae0a
...fork_Osaka-state_test---valid_secp256k1_inputs 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 813ef79ccefa9a56f7ba805f0e478584 fe5f0dd5f567bc09b5123ccbc9832365 900e75ad233fcc908509dbff5922647d b37c21f4afd3203ae8dc4ae7794b0f87 b838ff44e5bc177bf21189d0766082fc 9d843226887fc9760371100b7ee20a6f f0c9d75bfba7b31a6bca1974496eeb56 de357071955d83c4b1badaa0b21832e9
...fork_Osaka-state_test---wrong_endianness 256 235060cafe19a407880c272bc3e73600 e3a12294f56143ed61929c2ff4525abb 182e5cbdf96accb859e8eea1850de5ff 6e430a19d1d9a680ecd5946bbea8a32b 76ddfae6797fa6777caab9fa10e75f52 e70a4e6ceb117b3c5b2f445d850bd64c 3828736cdfc4c8696008f71999260329 ad8b12287846fedcede3ba1205b12729 3e5141734e971a8d55015068d9b36667 60f4608a49b11f92e500acea647978c7
...fork_Osaka-state_test---near_field_boundary_p_minus_3 256 ffffffff000000010000000000000000 00000000fffffffffffffffffffffffe ffffffff00000000ffffffffffffffff bce6faada7179e84f3b9cac2fc63254f 7fffffff800000007fffffffffffffff de737d56d38bcf4279dce5617e3192a8 ffffffff000000010000000000000000 00000000fffffffffffffffffffffffc 19719bebf6aea13f25c96dfd7c71f522 5d4c8fc09eb5a0ab9f39e9178e55c121
...fork_Osaka-state_test---invalid_curve_attack_b_equals_one 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 00000000000000000000000000000000 00000000000000000000000000000004 872a856d521eed42d28a60ccc2eae42e 1572f33be2bf616dc9a762d51c459e2a
...fork_Osaka-state_test---invalid_curve_attack_singular_b_zero 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 00000000000000000000000000000000 00000000000000000000000000000002 507442007322aa895340cba4abc2d730 bfd0b16c2c79a46815f8780d2c55a2dd
...fork_Osaka-state_test---invalid_curve_attack_b_equals_p_minus_1 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 00000000000000000000000000000000 00000000000000000000000000000001 6522aed9ea48f2623b8eeae3e213b99d a32e74c9421835804d374ce28fcca662
...fork_Osaka-state_test---invalid_curve_attack_small_discriminant 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 00000000000000000000000000000000 00000000000000000000000000000001 00000000000000000000000000000000 00000000000000000000000000000000
...fork_Osaka-state_test---invalid_curve_attack_composite_order 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 00000000000000000000000000000000 00000000000000000000000000000001 085ec5a4af40176b63189069aeffcb22 9c96d3e046e0283ed2f9dac21b15ad3c
...fork_Osaka-state_test---invalid_curve_attack_bneg_1 256 c223e1538c4d7b5bbd3ef932736826fd 64f4e8b5c80250d9e07a728689d13c38 0c7cb59ef6be7539397cc979ad9a87a3 b73a0dd268bba4990a3378c6391512d5 f8c943685bcfe7864c0f8485cacd732d 3a9f167531caf26b67a3cb10b641f92c f1f2ade681db5699741b1f9ff080e9a0 8dcff48f48a5048c4d90ec89440c3efb bffe372e7bbdbd60e4df885e17a37878 461ae13b6491e7863020305962f2c6b6
...fork_Osaka-state_test---invalid_curve_attack_bneg_2 256 982d25bf8e0e81ff41ac3c8033604c78 ed5ef17c6edda977072eab6821a7ad0a 7c1996fa0ec911e4739ae7340b534582 3272f494dfa32034a4fe5642c3db91f2 1e4d6ccf1afb675d18bd27274770c8b8 4028d272d1d2641e70b30e1df17af3dc c9124b6ab12f08790a2712aec74a1b71 fa997ca7de1e9117bc18d07dcbfe7c91 add1e9df40a47add6b2191c05d0c1b4a f1baeeaa0c0a97e7b3d06ffae543d096
...fork_Osaka-state_test---invalid_curve_attack_h0_random1 256 00000000000000000000000000000000 00000000000000000000000000000000 d21697149f598feae9a750dca86ae6d5 efa654680ba748d2df7053115101c129 ef3fd943ad1f126b3eba1a5900d79886 755db6dafcb6b0117d86364340ce36cc 687216395bd2f58e5a6d91964ae67e76 6df2a2fb8e623795a5852507927c70c2 f40e19b93beb5c0678ede25ab3654e08 c0c6ef6a143cec9865f3a447c6eb84e3
...fork_Osaka-state_test---invalid_curve_attack_h0_random2 256 00000000000000000000000000000000 00000000000000000000000000000000 52e47c5d6aab66ab6a18a694359eb86f dd40f10e79ef5493c5469ec88ba03334 7584c5bf3ca2869c7e383b1603a935ee b79d990b7f7152e055ec562e87fd715e 00000000000000020000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 0000000000000000fe00000000000000
...fork_Osaka-state_test---invalid_curve_attack_h0_random3 256 00000000000000000000000000000000 00000000000000000000000000000000 81333b13b13f362253bd536d17563a72 eb575f1993f55ed40e633e503f60b864 e2208c4045f5241eccf08f825399224c 4b78595a10433ec33799dcad7b0e1f4a ce9c1088b4bcc71223a187410bb05819 a6d32d2f1a1024b83557e51833ab23dc 00fb64209538d1143a88e8b91d2da460 95af852d7dd494be6af26c29d545f856
...fork_Osaka-state_test---invalid_curve_attack_h0_random4 256 00000000000000000000000000000000 00000000000000000000000000000000 3c593b5857d1d0eb83923d73e76a7a53 ef191bb210267d8c0be17a4e34ab2e73 d022359310067882f713afbecece71cb 80e4857368f46ab0346362db033ed298 358df65c0d732ccab431d4cab7f98e9f 9279bd71d64635fab21ea87ef254c5d1 82909ff2e230433d0000000000000000 00000000000000000000000000000000
...fork_Osaka-state_test---invalid_curve_attack_h0_random5 256 00000000000000000000000000000000 00000000000000000000000000000000 425cffca652791cabfc81b1e4b7712db a196599fabce16978e06e6af486b1fec 58b864b5a41cd17524e4773ec353c959 0d792f601da075ad9b3f40e8e7070e8a 00000000000000000000000000000000 000000000000000000007fffffffffff ffff0000000000000000000000000000 00000000000000000000000000000000
...fork_Osaka-state_test---invalid_curve_attack_random6 256 2da0a74be3122aeaef5704d0eb27881f bfb918b4a5252b660935263d0569ba92 5543729cbcfd99ee6c3b422d7f245903 e7177b3a6a4e3c20c0dc5f5e109795ae 96403d5bb253ebd7def44bcbc062fcd4 ea5e358b19b67c13e625efdf6b977597 996cadc001622fb5e363b421a0885409 6569397b3bdcb8c3dec907392f7cc59b d34a4e0f08c6fc549f7faffbcaf610d7 f6c467b7b27072720e81079fb6595b52
...fork_Osaka-state_test---invalid_curve_attack_random7 256 1f9d9b26db42380c85f075174ddaf158 f9de4cd10c3104190d7af96938dd8ecd 159946dbc4f1de68cd4096862a5b10e5 986acb32229d6e68884dc83dab70a307 63d80724a4074421f7dd255630794e3a ebe635b756d72b24652aac07d01b289c 9ca2f39cc35368610000000000000000 00000000000000000000000000000000 000000000000b1000000000000000000 00000000000000000000000000000000
...fork_Osaka-state_test---invalid_curve_attack_random8 256 d380da9251f1fb809ed48c70dc8f81e9 1c471f0e81bc95e7611c653278a5b6b4 ff197eb72a9e531b17b872525247e656 4b786cc014ed28b6849ce7d8c976bdf2 7b0b2eff9bb5409052b35fd3ff81dce7 7d95a1f75c46989817045120da5c3c9c ba7695481956a6269dd646addd4afe6d 9763637d76ad780299e51201384a8403 a62443dd4afe6d9763637d76ad780299 e51201384ae4fedd3cdac9f461600d53
...fork_Osaka-state_test---invalid_curve_attack_random9 256 4b082b60497ed87ffe570612d521e73a 2cd6c832744ef8e4e2e329e30d3d5879 6665a88cb3ff30d339a1975fd46cf5ef 480a68a093ab778550073d3528c3b609 aeaaddb235e4ac6097356db96161e278 49ea8edf1e971f74eb51e19a1cc950a1 00000000000000020000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 0000000000000000fe00000000000000
...fork_Osaka-state_test---invalid_curve_attack_random10 256 6cc2b605cfbdb22b9e7b55efe8c1da0f 1c5a0ec1aa8d82eedfb5ea70e9846e88 3c593b5857d1d0eb83923d73e76a7a53 ef191bb210267d8c0be17a4e34ab2e73 d022359310067882f713afbecece71cb 80e4857368f46ab0346362db033ed298 358df65c0d732ccab431d4cab7f98e9f 9279bd71d64635fab21ea87ef254c5d1 82909ff2e230433d0000000000000000 00000000000000000000000000000000
...fork_Osaka-state_test---invalid_curve_attack_random_11 256 810c1d53ea96a700c93f6af1c183197b 040ea6feae10564877a1c78ec6074ff1 34d0f0c8e14d39002b5dea0080895796 3e849503ddfd626323433047d696c7c4 6a7fe39c046304317f799fb900877073 f2ae3c798dd4414795551a833abcba85 0000000000f90000000067923073c067 015b601d94f262f0e82b9da2d33a6a32 fc3d71cb490cf346ed31dc37405fb006 9f4a7ed188381dc049abab66e9f80080
...fork_Osaka-blockchain_test_from_state_test---zero_length_input 256
...fork_Osaka-blockchain_test_from_state_test---input_too_long 256 00bb5a52f42f9c9261ed4361f59422a1 e30036e7c32b270c8807a419feca6050 232ba3a8be6b94d5ec80a6d9d1190a43 6effe50d85a1eee859b8cc6af9bd5c2e 184cd60b855d442f5b3c7b11eb6c4e0a e7525fe710fab9aa7c77a67f79e6fadd 762927b10512bae3eddcfe467828128b ad2903269919f7086069c8c4df6c7328 38c7787964eaac00e5921fb1498a60f4 606766b3d9685001558d1a974e734151 3e
...fork_Osaka-blockchain_test_from_state_test---input_too_short 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e734151
...fork_Osaka-blockchain_test_from_state_test---input_all_zeros 256 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000
...fork_Osaka-blockchain_test_from_state_test---hash_0 256 00000000000000000000000000000000 00000000000000000000000000000000 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e
...fork_Osaka-blockchain_test_from_state_test---hash_N_minus_1 256 ffffffff00000000ffffffffffffffff bce6faada7179e84f3b9cac2fc632550 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e
...fork_Osaka-blockchain_test_from_state_test---hash_N 256 ffffffff00000000ffffffffffffffff bce6faada7179e84f3b9cac2fc632551 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e
...fork_Osaka-blockchain_test_from_state_test---hash_P_minus_1 256 ffffffff000000010000000000000000 00000000fffffffffffffffffffffffe 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e
...fork_Osaka-blockchain_test_from_state_test---hash_P 256 ffffffff000000010000000000000000 00000000ffffffffffffffffffffffff 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e
...fork_Osaka-blockchain_test_from_state_test---hash_max 256 ffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffff 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e
...fork_Osaka-blockchain_test_from_state_test---r_eq_to_zero 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 00000000000000000000000000000000 00000000000000000000000000000000 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e
...fork_Osaka-blockchain_test_from_state_test---r_eq_to_n 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 ffffffff00000000ffffffffffffffff bce6faada7179e84f3b9cac2fc632551 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e
...fork_Osaka-blockchain_test_from_state_test---r_above_n 256 532eaabd9574880dbf76b9b8cc00832c 20a6ec113d682299550d7a6e0f345e25 ffffffff000000010000000000000000 00000000fffffffffffffffffffffffc ffffffff00000000ffffffffffffffff bce6faada7179e84f3b9cac2fc63254e d705d16f80987e2d9b1a6957d29ce22f ebf7d10fa515153182415c8361baaca4 b1fc105ee5ce80d514ec1238beae2037 a6f83625593620d460819e8682160926
...fork_Osaka-blockchain_test_from_state_test---r_max 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 ffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffff 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e
...fork_Osaka-blockchain_test_from_state_test---s_eq_to_zero 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 00000000000000000000000000000000 00000000000000000000000000000000 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e
...fork_Osaka-blockchain_test_from_state_test---s_eq_to_n 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 ffffffff00000000ffffffffffffffff bce6faada7179e84f3b9cac2fc632551 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e
...fork_Osaka-blockchain_test_from_state_test---r_0_s_0 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 4fe342e2fe1a7f9b8ee7eb4a7c0f9e16 2bce33576b315ececbb6406837bf51f5
...fork_Osaka-blockchain_test_from_state_test---r_0_s_N 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 00000000000000000000000000000000 00000000000000000000000000000000 ffffffff00000000ffffffffffffffff bce6faada7179e84f3b9cac2fc632551 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 4fe342e2fe1a7f9b8ee7eb4a7c0f9e16 2bce33576b315ececbb6406837bf51f5
...fork_Osaka-blockchain_test_from_state_test---r_N_s_0 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 ffffffff00000000ffffffffffffffff bce6faada7179e84f3b9cac2fc632551 00000000000000000000000000000000 00000000000000000000000000000000 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 4fe342e2fe1a7f9b8ee7eb4a7c0f9e16 2bce33576b315ececbb6406837bf51f5
...fork_Osaka-blockchain_test_from_state_test---r_N_s_N 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 ffffffff00000000ffffffffffffffff bce6faada7179e84f3b9cac2fc632551 ffffffff00000000ffffffffffffffff bce6faada7179e84f3b9cac2fc632551 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 4fe342e2fe1a7f9b8ee7eb4a7c0f9e16 2bce33576b315ececbb6406837bf51f5
...fork_Osaka-blockchain_test_from_state_test---hash_0_r_0 256 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 4fe342e2fe1a7f9b8ee7eb4a7c0f9e16 2bce33576b315ececbb6406837bf51f5
...fork_Osaka-blockchain_test_from_state_test---hash_0_r_N 256 00000000000000000000000000000000 00000000000000000000000000000000 ffffffff00000000ffffffffffffffff bce6faada7179e84f3b9cac2fc632551 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 4fe342e2fe1a7f9b8ee7eb4a7c0f9e16 2bce33576b315ececbb6406837bf51f5
...fork_Osaka-blockchain_test_from_state_test---hash_N_r_0 256 ffffffff00000000ffffffffffffffff bce6faada7179e84f3b9cac2fc632551 00000000000000000000000000000000 00000000000000000000000000000000 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 4fe342e2fe1a7f9b8ee7eb4a7c0f9e16 2bce33576b315ececbb6406837bf51f5
...fork_Osaka-blockchain_test_from_state_test---hash_N_r_N 256 ffffffff00000000ffffffffffffffff bce6faada7179e84f3b9cac2fc632551 ffffffff00000000ffffffffffffffff bce6faada7179e84f3b9cac2fc632551 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 4fe342e2fe1a7f9b8ee7eb4a7c0f9e16 2bce33576b315ececbb6406837bf51f5
...fork_Osaka-blockchain_test_from_state_test---s_max_mod_N 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 00000000ffffffff0000000000000000 4319055258e8617b0c46353d039cdaae 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 4fe342e2fe1a7f9b8ee7eb4a7c0f9e16 2bce33576b315ececbb6406837bf51f5
...fork_Osaka-blockchain_test_from_state_test---s_N_plus_1 256 94e82e0c1ed3bdb90743191a9c5bbf0d 45e37d2c792c6ae3ff18917d23ca62bc 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 ffffffff00000000ffffffffffffffff bce6faada7179e84f3b9cac2fc632552 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 4fe342e2fe1a7f9b8ee7eb4a7c0f9e16 2bce33576b315ececbb6406837bf51f5
...fork_Osaka-blockchain_test_from_state_test---s_max 256 94e82e0d1ed3bdb80743191a9c5bbf0d 88fc827ed214cc5f0b5ec6ba27673d69 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 ffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffff 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 4fe342e2fe1a7f9b8ee7eb4a7c0f9e16 2bce33576b315ececbb6406837bf51f5
...fork_Osaka-blockchain_test_from_state_test---x_eq_to_p 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 ffffffff000000010000000000000000 00000000ffffffffffffffffffffffff c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e
...fork_Osaka-blockchain_test_from_state_test---y_eq_to_p 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 ffffffff000000010000000000000000 00000000ffffffffffffffffffffffff
...fork_Osaka-blockchain_test_from_state_test---point_at_infinity 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000
...fork_Osaka-blockchain_test_from_state_test---point_at_infinity_v2 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2dd5cbb0e37baec8d1460909b206ca2c 87e50ca43b8f31e46168027a7f0aeec6 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000
...fork_Osaka-blockchain_test_from_state_test---point_not_on_curve_x 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732839 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e
...fork_Osaka-blockchain_test_from_state_test---point_not_on_curve_y 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513f
...fork_Osaka-blockchain_test_from_state_test---x_and_y_reversed 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838
...fork_Osaka-blockchain_test_from_state_test---y_greater_than_p 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 2927b10512bae3eddcfe467828128bad 2903269919f7086069c8c4df6c732838 ffffffff000000010000000000000000 00000001000000000000000000000000
...fork_Osaka-blockchain_test_from_state_test---x_greater_than_p 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 ffffffff000000010000000000000000 00000001000000000000000000000000 c7787964eaac00e5921fb1498a60f460 6766b3d9685001558d1a974e7341513e
...fork_Osaka-blockchain_test_from_state_test---x_P_y_positive 256 c3d3be9eb3577f217ae0ab360529a30b 18adc751aec886328593d7d6fe042809 3a4e97b44cbf88b90e6205a45ba957e5 20f63f3c6072b53c244653278a1819d8 6a184aa037688a5ebd25081fd2c0b10b b64fa558b671bd81955ca86e09d9d722 ffffffff000000010000000000000000 00000000ffffffffffffffffffffffff 66485c780e2f83d72433bd5d84a06bb6 541c2af31dae871728bf856a174f93f4
...fork_Osaka-blockchain_test_from_state_test---x_P_y_negative 256 f98a88895cb0866c5bad58cf03000ddf 9d21cb9407892ff54d637e6a046afbb3 81dc074973d3222f3930981ad98d0225 17c91063ffb83cfd620e29b86dc30a8f 365e4cd085617a265765062a2d9954ed 86309dfa33cf5ae1464fe119419fc34a ffffffff000000010000000000000000 00000000ffffffffffffffffffffffff 99b7a386f1d07c29dbcc42a27b5f9449 abe3d50de25178e8d7407a95e8b06c0b
...fork_Osaka-blockchain_test_from_state_test---x_P_plus_5_y_positive 256 5f95dcd6e41662d1e0aefccdb7877877 c1fd88c9e67fc3cda0d1d520fa8a3ac2 af5dfddb7edc789d7c9c42a44afbbf13 c8f1d77d576b6ee5f11fea4f33e2cb39 a28f8c5625ad622950f2fce9672784b2 87ef9e032ade8c23ba218413a1cf6522 ffffffff000000010000000000000000 00000001000000000000000000000004 459243b9aa581806fe913bce99817ade 11ca503c64d9a3c533415c083248fbcc
...fork_Osaka-blockchain_test_from_state_test---x_P_plus_5_y_negative 256 31ce0b00fa8dd61ef28c7dc5f839c78c f70d60e625e0670bf9c9fce25e89d99f 0fa19cbe154513ba348f2db951afb6e1 35bac5bd8891282781a032103c3f1289 d9abf5c4e61098a6e653f265770bdba3 6ecc8073cef99548d89fe2c39a7afa9b ffffffff000000010000000000000000 00000001000000000000000000000004 ba6dbc4555a7e7fa016ec431667e8521 ee35afc49b265c3accbea3f7cdb70433
...fork_Osaka-blockchain_test_from_state_test---y_P_plus_1 256 65b0e03e7a27e6f9f4989c72486fcaf0 a3ecf3ef60d14f1c11fb5bf071a8fd1b 0b0cc9e314e4180fe18d205010dd1c44 10632d472cc4e7ab56cbc04091abe006 8d12c4f19ac41d7877705453a247ab96 394e7c093f57ec073a9d150cde6b68c6 09e78d4ef60d05f750f6636209092bc4 3cbdd6b47e11a9de20a9feb2a50bb96c ffffffff000000010000000000000000 00000001000000000000000000000000
...fork_Osaka-blockchain_test_from_state_test---R_at_infinity_v1 256 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 b01cbd1c01e58065711814b583f061e9 d431cca994cea1313449bf97c840ae0a
...fork_Osaka-blockchain_test_from_state_test---R_at_infinity_v2 256 00000000000000000000000000000000 00000000000000000000000000000001 00000000000000000000000000000000 00000000000000000000000000000001 00000000000000000000000000000000 00000000000000000000000000000001 6b17d1f2e12c4247f8bce6e563a440f2 77037d812deb33a0f4a13945d898c296 b01cbd1c01e58065711814b583f061e9 d431cca994cea1313449bf97c840ae0a
...fork_Osaka-blockchain_test_from_state_test---valid_secp256k1_inputs 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 813ef79ccefa9a56f7ba805f0e478584 fe5f0dd5f567bc09b5123ccbc9832365 900e75ad233fcc908509dbff5922647d b37c21f4afd3203ae8dc4ae7794b0f87 b838ff44e5bc177bf21189d0766082fc 9d843226887fc9760371100b7ee20a6f f0c9d75bfba7b31a6bca1974496eeb56 de357071955d83c4b1badaa0b21832e9
...fork_Osaka-blockchain_test_from_state_test---wrong_endianness 256 235060cafe19a407880c272bc3e73600 e3a12294f56143ed61929c2ff4525abb 182e5cbdf96accb859e8eea1850de5ff 6e430a19d1d9a680ecd5946bbea8a32b 76ddfae6797fa6777caab9fa10e75f52 e70a4e6ceb117b3c5b2f445d850bd64c 3828736cdfc4c8696008f71999260329 ad8b12287846fedcede3ba1205b12729 3e5141734e971a8d55015068d9b36667 60f4608a49b11f92e500acea647978c7
...fork_Osaka-blockchain_test_from_state_test---near_field_boundary_p_minus_3 256 ffffffff000000010000000000000000 00000000fffffffffffffffffffffffe ffffffff00000000ffffffffffffffff bce6faada7179e84f3b9cac2fc63254f 7fffffff800000007fffffffffffffff de737d56d38bcf4279dce5617e3192a8 ffffffff000000010000000000000000 00000000fffffffffffffffffffffffc 19719bebf6aea13f25c96dfd7c71f522 5d4c8fc09eb5a0ab9f39e9178e55c121
...fork_Osaka-blockchain_test_from_state_test---invalid_curve_attack_b_equals_one 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 00000000000000000000000000000000 00000000000000000000000000000004 872a856d521eed42d28a60ccc2eae42e 1572f33be2bf616dc9a762d51c459e2a
...fork_Osaka-blockchain_test_from_state_test---invalid_curve_attack_singular_b_zero 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 00000000000000000000000000000000 00000000000000000000000000000002 507442007322aa895340cba4abc2d730 bfd0b16c2c79a46815f8780d2c55a2dd
...fork_Osaka-blockchain_test_from_state_test---invalid_curve_attack_b_equals_p_minus_1 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 00000000000000000000000000000000 00000000000000000000000000000001 6522aed9ea48f2623b8eeae3e213b99d a32e74c9421835804d374ce28fcca662
...fork_Osaka-blockchain_test_from_state_test---invalid_curve_attack_small_discriminant 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 00000000000000000000000000000000 00000000000000000000000000000001 00000000000000000000000000000000 00000000000000000000000000000000
...fork_Osaka-blockchain_test_from_state_test---invalid_curve_attack_composite_order 256 bb5a52f42f9c9261ed4361f59422a1e3 0036e7c32b270c8807a419feca605023 2ba3a8be6b94d5ec80a6d9d1190a436e ffe50d85a1eee859b8cc6af9bd5c2e18 4cd60b855d442f5b3c7b11eb6c4e0ae7 525fe710fab9aa7c77a67f79e6fadd76 00000000000000000000000000000000 00000000000000000000000000000001 085ec5a4af40176b63189069aeffcb22 9c96d3e046e0283ed2f9dac21b15ad3c
...fork_Osaka-blockchain_test_from_state_test---invalid_curve_attack_bneg_1 256 c223e1538c4d7b5bbd3ef932736826fd 64f4e8b5c80250d9e07a728689d13c38 0c7cb59ef6be7539397cc979ad9a87a3 b73a0dd268bba4990a3378c6391512d5 f8c943685bcfe7864c0f8485cacd732d 3a9f167531caf26b67a3cb10b641f92c f1f2ade681db5699741b1f9ff080e9a0 8dcff48f48a5048c4d90ec89440c3efb bffe372e7bbdbd60e4df885e17a37878 461ae13b6491e7863020305962f2c6b6
...fork_Osaka-blockchain_test_from_state_test---invalid_curve_attack_bneg_2 256 982d25bf8e0e81ff41ac3c8033604c78 ed5ef17c6edda977072eab6821a7ad0a 7c1996fa0ec911e4739ae7340b534582 3272f494dfa32034a4fe5642c3db91f2 1e4d6ccf1afb675d18bd27274770c8b8 4028d272d1d2641e70b30e1df17af3dc c9124b6ab12f08790a2712aec74a1b71 fa997ca7de1e9117bc18d07dcbfe7c91 add1e9df40a47add6b2191c05d0c1b4a f1baeeaa0c0a97e7b3d06ffae543d096
...fork_Osaka-blockchain_test_from_state_test---invalid_curve_attack_h0_random1 256 00000000000000000000000000000000 00000000000000000000000000000000 d21697149f598feae9a750dca86ae6d5 efa654680ba748d2df7053115101c129 ef3fd943ad1f126b3eba1a5900d79886 755db6dafcb6b0117d86364340ce36cc 687216395bd2f58e5a6d91964ae67e76 6df2a2fb8e623795a5852507927c70c2 f40e19b93beb5c0678ede25ab3654e08 c0c6ef6a143cec9865f3a447c6eb84e3
...fork_Osaka-blockchain_test_from_state_test---invalid_curve_attack_h0_random2 256 00000000000000000000000000000000 00000000000000000000000000000000 52e47c5d6aab66ab6a18a694359eb86f dd40f10e79ef5493c5469ec88ba03334 7584c5bf3ca2869c7e383b1603a935ee b79d990b7f7152e055ec562e87fd715e 00000000000000020000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 0000000000000000fe00000000000000
...fork_Osaka-blockchain_test_from_state_test---invalid_curve_attack_h0_random3 256 00000000000000000000000000000000 00000000000000000000000000000000 81333b13b13f362253bd536d17563a72 eb575f1993f55ed40e633e503f60b864 e2208c4045f5241eccf08f825399224c 4b78595a10433ec33799dcad7b0e1f4a ce9c1088b4bcc71223a187410bb05819 a6d32d2f1a1024b83557e51833ab23dc 00fb64209538d1143a88e8b91d2da460 95af852d7dd494be6af26c29d545f856
...fork_Osaka-blockchain_test_from_state_test---invalid_curve_attack_h0_random4 256 00000000000000000000000000000000 00000000000000000000000000000000 3c593b5857d1d0eb83923d73e76a7a53 ef191bb210267d8c0be17a4e34ab2e73 d022359310067882f713afbecece71cb 80e4857368f46ab0346362db033ed298 358df65c0d732ccab431d4cab7f98e9f 9279bd71d64635fab21ea87ef254c5d1 82909ff2e230433d0000000000000000 00000000000000000000000000000000
...fork_Osaka-blockchain_test_from_state_test---invalid_curve_attack_h0_random5 256 00000000000000000000000000000000 00000000000000000000000000000000 425cffca652791cabfc81b1e4b7712db a196599fabce16978e06e6af486b1fec 58b864b5a41cd17524e4773ec353c959 0d792f601da075ad9b3f40e8e7070e8a 00000000000000000000000000000000 000000000000000000007fffffffffff ffff0000000000000000000000000000 00000000000000000000000000000000
...fork_Osaka-blockchain_test_from_state_test---invalid_curve_attack_random6 256 2da0a74be3122aeaef5704d0eb27881f bfb918b4a5252b660935263d0569ba92 5543729cbcfd99ee6c3b422d7f245903 e7177b3a6a4e3c20c0dc5f5e109795ae 96403d5bb253ebd7def44bcbc062fcd4 ea5e358b19b67c13e625efdf6b977597 996cadc001622fb5e363b421a0885409 6569397b3bdcb8c3dec907392f7cc59b d34a4e0f08c6fc549f7faffbcaf610d7 f6c467b7b27072720e81079fb6595b52
...fork_Osaka-blockchain_test_from_state_test---invalid_curve_attack_random7 256 1f9d9b26db42380c85f075174ddaf158 f9de4cd10c3104190d7af96938dd8ecd 159946dbc4f1de68cd4096862a5b10e5 986acb32229d6e68884dc83dab70a307 63d80724a4074421f7dd255630794e3a ebe635b756d72b24652aac07d01b289c 9ca2f39cc35368610000000000000000 00000000000000000000000000000000 000000000000b1000000000000000000 00000000000000000000000000000000
...fork_Osaka-blockchain_test_from_state_test---invalid_curve_attack_random8 256 d380da9251f1fb809ed48c70dc8f81e9 1c471f0e81bc95e7611c653278a5b6b4 ff197eb72a9e531b17b872525247e656 4b786cc014ed28b6849ce7d8c976bdf2 7b0b2eff9bb5409052b35fd3ff81dce7 7d95a1f75c46989817045120da5c3c9c ba7695481956a6269dd646addd4afe6d 9763637d76ad780299e51201384a8403 a62443dd4afe6d9763637d76ad780299 e51201384ae4fedd3cdac9f461600d53
...fork_Osaka-blockchain_test_from_state_test---invalid_curve_attack_random9 256 4b082b60497ed87ffe570612d521e73a 2cd6c832744ef8e4e2e329e30d3d5879 6665a88cb3ff30d339a1975fd46cf5ef 480a68a093ab778550073d3528c3b609 aeaaddb235e4ac6097356db96161e278 49ea8edf1e971f74eb51e19a1cc950a1 00000000000000020000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 0000000000000000fe00000000000000
...fork_Osaka-blockchain_test_from_state_test---invalid_curve_attack_random10 256 6cc2b605cfbdb22b9e7b55efe8c1da0f 1c5a0ec1aa8d82eedfb5ea70e9846e88 3c593b5857d1d0eb83923d73e76a7a53 ef191bb210267d8c0be17a4e34ab2e73 d022359310067882f713afbecece71cb 80e4857368f46ab0346362db033ed298 358df65c0d732ccab431d4cab7f98e9f 9279bd71d64635fab21ea87ef254c5d1 82909ff2e230433d0000000000000000 00000000000000000000000000000000
...fork_Osaka-blockchain_test_from_state_test---invalid_curve_attack_random_11 256 810c1d53ea96a700c93f6af1c183197b 040ea6feae10564877a1c78ec6074ff1 34d0f0c8e14d39002b5dea0080895796 3e849503ddfd626323433047d696c7c4 6a7fe39c046304317f799fb900877073 f2ae3c798dd4414795551a833abcba85 0000000000f90000000067923073c067 015b601d94f262f0e82b9da2d33a6a32 fc3d71cb490cf346ed31dc37405fb006 9f4a7ed188381dc049abab66e9f80080