wycheproof 0.6.0

Wycheproof test vectors
Documentation
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
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
{
  "algorithm" : "DSA",
  "generatorVersion" : "0.9rc5",
  "numberOfTests" : 109,
  "header" : [
    "Test vectors of type DsaP1363Verify are meant for the verification",
    "of IEEE P1363 encoded DSA signatures."
  ],
  "notes" : {
    "ArithmeticError" : {
      "bugType" : "EDGE_CASE",
      "description" : "Some implementations of ECDSA have arithmetic errors that occur when intermediate results have extreme values. This test vector has been constructed to test such occurences."
    },
    "IntegerOverflow" : {
      "bugType" : "CAN_OF_WORMS",
      "description" : "The test vector contains an r and s that has been modified, so that the original value is restored if the implementation ignores the most significant bits.",
      "effect" : "Without further analysis it is unclear if the modification can be used to forge signatures."
    },
    "InvalidSignature" : {
      "bugType" : "AUTH_BYPASS",
      "description" : "The signature contains special case values such as r=1 and s=0. Buggy implementations may accept such values, if the implementation does not check boundaries and computes s^(-1) == 0.",
      "effect" : "Accepting such signatures can have the effect that an adversary can forge signatures without even knowning the message to sign.",
      "cves" : [
        "CVE-2022-21449",
        "CVE-2021-43572",
        "CVE-2022-24884"
      ]
    },
    "ModifiedInteger" : {
      "bugType" : "CAN_OF_WORMS",
      "description" : "The test vector contains an r and s that has been modified. The goal is to check for arithmetic errors.",
      "effect" : "Without further analysis it is unclear if the modification can be used to forge signatures."
    },
    "ModularInverse" : {
      "bugType" : "EDGE_CASE",
      "description" : "The test vectors contains a signature where computing the modular inverse of s hits an edge case.",
      "effect" : "While the signature in this test vector is constructed and similar cases are unlikely to occur, it is important to determine if the underlying arithmetic error can be used to forge signatures.",
      "cves" : [
        "CVE-2019-0865"
      ]
    },
    "Normal" : {
      "bugType" : "BASIC",
      "description" : "The test vector contains a pseudorandomly generated, valid test case. Implementations are expected to pass this test."
    },
    "RangeCheck" : {
      "bugType" : "CAN_OF_WORMS",
      "description" : "The test vector contains an r and s that has been modified. By adding or subtracting the order of the group (or other values) the test vector checks whether signature verification verifies the range of r and s.",
      "effect" : "Without further analysis it is unclear if the modification can be used to forge signatures."
    },
    "SmallRandS" : {
      "bugType" : "EDGE_CASE",
      "description" : "The test vectors contains a signature where both r and s are small integers. Some libraries cannot verify such signatures.",
      "effect" : "While the signature in this test vector is constructed and similar cases are unlikely to occur, it is important to determine if the underlying arithmetic error can be used to forge signatures.",
      "cves" : [
        "2020-13895"
      ]
    },
    "SpecialCaseHash" : {
      "bugType" : "EDGE_CASE",
      "description" : "The test vector contains a signature where the hash of the message is a special case, e.g., contains a long run of 0 or 1 bits."
    }
  },
  "schema" : "dsa_p1363_verify_schema.json",
  "testGroups" : [
    {
      "publicKeyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201001e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931",
      "publicKeyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEAHnf4QrGuD82ZKdOUFh1B4UYU/3UHqaMfSh8U0i4qYnofTllmJIg/GlsW\njpQlFG8i1fbuKHV0FHFLuZS6ESnwFdbgSnF+35tTCl1cq5TxRjHotM95rrNYzHQY\nRVU4QeisRhYw6ASmL0Nna6Z5SvZomcN3uGnqYSp7n+ZhGqlr5S64tiyXkRe7vMqK\nfsHh/6scffz8cEhwDTrjhYE26JdwHXwpIbXf7x0fiX9Q2WyhtcLtxYytoYkZ41ZC\n8IB+6/oAyZoy9NCVwxiPeO1UcRvgMlxLUyrszWVApWfDJyJUQOoVMZveBlEEeaGG\nF5niW1fezHPANtdaBwK9NzyiMTSZMQ==\n-----END PUBLIC KEY-----\n",
      "sha" : "SHA-224",
      "type" : "DsaP1363Verify",
      "publicKey" : {
        "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde",
        "keySize" : 2048,
        "p" : "008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
        "q" : "00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
        "type" : "DsaPublicKey",
        "y" : "1e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931"
      },
      "tests" : [
        {
          "tcId" : 1,
          "comment" : "replaced r by r + q",
          "flags" : [
            "RangeCheck"
          ],
          "msg" : "313233343030",
          "sig" : "01603c6cd3f3ac5f55da5295ec5ee9ddcc947e8af9d2254162e62f84d800068259cf902e5d55eb26e7bf850a82d40fc5456b3a902679612ea4a8",
          "result" : "invalid"
        },
        {
          "tcId" : 2,
          "comment" : "replaced r by r + 256 * q",
          "flags" : [
            "RangeCheck"
          ],
          "msg" : "313233343030",
          "sig" : "bb9bdc7cb2e72b4754e365034e0d399c35d7fe0c80fcc0815efec3787b00068259cf902e5d55eb26e7bf850a82d40fc5456b3a902679612ea4a8",
          "result" : "invalid"
        },
        {
          "tcId" : 3,
          "comment" : "replaced r by q - r",
          "flags" : [
            "ModifiedInteger"
          ],
          "msg" : "313233343030",
          "sig" : "15b0c07917459069e37d5ee33405b13f49e6d96da3a5c01e937b4de2068259cf902e5d55eb26e7bf850a82d40fc5456b3a902679612ea4a8",
          "result" : "invalid"
        },
        {
          "tcId" : 4,
          "comment" : "replaced r by r + 2**224",
          "flags" : [
            "IntegerOverflow"
          ],
          "msg" : "313233343030",
          "sig" : "01a545d62d6e336775fb6a9b8495721646a54bd8c6173fc0a2295a1b7b00068259cf902e5d55eb26e7bf850a82d40fc5456b3a902679612ea4a8",
          "result" : "invalid"
        },
        {
          "tcId" : 5,
          "comment" : "replaced r by r + 2**288",
          "flags" : [
            "IntegerOverflow"
          ],
          "msg" : "313233343030",
          "sig" : "010000000000000000a545d62d6e336775fb6a9b8495721646a54bd8c6173fc0a2295a1b7b000000000000000000068259cf902e5d55eb26e7bf850a82d40fc5456b3a902679612ea4a8",
          "result" : "invalid"
        },
        {
          "tcId" : 6,
          "comment" : "replaced s by s + q",
          "flags" : [
            "RangeCheck"
          ],
          "msg" : "313233343030",
          "sig" : "c178f07615a75535ca0ee2274e824a59fef7f79ef575a73a1e040e05068259cf902e5d55eb26e7bf850a82d40fc5456b3a902679612ea4a8",
          "result" : "invalid"
        },
        {
          "tcId" : 7,
          "comment" : "replaced s by s + 256 * q",
          "flags" : [
            "RangeCheck"
          ],
          "msg" : "313233343030",
          "sig" : "bafd19005509263d34d3214f88fcd208c3427779262010e736369801a800068259cf902e5d55eb26e7bf850a82d40fc5456b3a902679612ea4a8",
          "result" : "invalid"
        },
        {
          "tcId" : 8,
          "comment" : "replaced s by s + 2**224",
          "flags" : [
            "IntegerOverflow"
          ],
          "msg" : "313233343030",
          "sig" : "01068259cf902e5d55eb26e7bf850a82d40fc5456b3a902679612ea4a800068259cf902e5d55eb26e7bf850a82d40fc5456b3a902679612ea4a8",
          "result" : "invalid"
        },
        {
          "tcId" : 9,
          "comment" : "replaced s by s + 2**288",
          "flags" : [
            "IntegerOverflow"
          ],
          "msg" : "313233343030",
          "sig" : "010000000000000000068259cf902e5d55eb26e7bf850a82d40fc5456b3a902679612ea4a8000000000000000000068259cf902e5d55eb26e7bf850a82d40fc5456b3a902679612ea4a8",
          "result" : "invalid"
        },
        {
          "tcId" : 10,
          "comment" : "Signature with special case values r=0 and s=0",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
          "result" : "invalid"
        },
        {
          "tcId" : 11,
          "comment" : "Signature with special case values r=0 and s=1",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
          "result" : "invalid"
        },
        {
          "tcId" : 12,
          "comment" : "Signature with special case values r=0 and s=q",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "00000000000000000000000000000000000000000000000000000000baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
          "result" : "invalid"
        },
        {
          "tcId" : 13,
          "comment" : "Signature with special case values r=0 and s=q - 1",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "00000000000000000000000000000000000000000000000000000000baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c",
          "result" : "invalid"
        },
        {
          "tcId" : 14,
          "comment" : "Signature with special case values r=0 and s=q + 1",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "00000000000000000000000000000000000000000000000000000000baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
          "result" : "invalid"
        },
        {
          "tcId" : 15,
          "comment" : "Signature with special case values r=0 and s=p",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
          "result" : "invalid"
        },
        {
          "tcId" : 16,
          "comment" : "Signature with special case values r=0 and s=p + 1",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd668",
          "result" : "invalid"
        },
        {
          "tcId" : 17,
          "comment" : "Signature with special case values r=1 and s=0",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "0000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000",
          "result" : "invalid"
        },
        {
          "tcId" : 18,
          "comment" : "Signature with special case values r=1 and s=1",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "0000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000001",
          "result" : "invalid"
        },
        {
          "tcId" : 19,
          "comment" : "Signature with special case values r=1 and s=q",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "00000000000000000000000000000000000000000000000000000001baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
          "result" : "invalid"
        },
        {
          "tcId" : 20,
          "comment" : "Signature with special case values r=1 and s=q - 1",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "00000000000000000000000000000000000000000000000000000001baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c",
          "result" : "invalid"
        },
        {
          "tcId" : 21,
          "comment" : "Signature with special case values r=1 and s=q + 1",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "00000000000000000000000000000000000000000000000000000001baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
          "result" : "invalid"
        },
        {
          "tcId" : 22,
          "comment" : "Signature with special case values r=1 and s=p",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
          "result" : "invalid"
        },
        {
          "tcId" : 23,
          "comment" : "Signature with special case values r=1 and s=p + 1",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd668",
          "result" : "invalid"
        },
        {
          "tcId" : 24,
          "comment" : "Signature with special case values r=q and s=0",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d00000000000000000000000000000000000000000000000000000000",
          "result" : "invalid"
        },
        {
          "tcId" : 25,
          "comment" : "Signature with special case values r=q and s=1",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d00000000000000000000000000000000000000000000000000000001",
          "result" : "invalid"
        },
        {
          "tcId" : 26,
          "comment" : "Signature with special case values r=q and s=q",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695dbaf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
          "result" : "invalid"
        },
        {
          "tcId" : 27,
          "comment" : "Signature with special case values r=q and s=q - 1",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695dbaf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c",
          "result" : "invalid"
        },
        {
          "tcId" : 28,
          "comment" : "Signature with special case values r=q and s=q + 1",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695dbaf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
          "result" : "invalid"
        },
        {
          "tcId" : 29,
          "comment" : "Signature with special case values r=q and s=p",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d8f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
          "result" : "invalid"
        },
        {
          "tcId" : 30,
          "comment" : "Signature with special case values r=q and s=p + 1",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d8f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd668",
          "result" : "invalid"
        },
        {
          "tcId" : 31,
          "comment" : "Signature with special case values r=q - 1 and s=0",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c00000000000000000000000000000000000000000000000000000000",
          "result" : "invalid"
        },
        {
          "tcId" : 32,
          "comment" : "Signature with special case values r=q - 1 and s=1",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c00000000000000000000000000000000000000000000000000000001",
          "result" : "invalid"
        },
        {
          "tcId" : 33,
          "comment" : "Signature with special case values r=q - 1 and s=q",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695cbaf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
          "result" : "invalid"
        },
        {
          "tcId" : 34,
          "comment" : "Signature with special case values r=q - 1 and s=q - 1",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695cbaf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c",
          "result" : "invalid"
        },
        {
          "tcId" : 35,
          "comment" : "Signature with special case values r=q - 1 and s=q + 1",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695cbaf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
          "result" : "invalid"
        },
        {
          "tcId" : 36,
          "comment" : "Signature with special case values r=q - 1 and s=p",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c8f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
          "result" : "invalid"
        },
        {
          "tcId" : 37,
          "comment" : "Signature with special case values r=q - 1 and s=p + 1",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c8f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd668",
          "result" : "invalid"
        },
        {
          "tcId" : 38,
          "comment" : "Signature with special case values r=q + 1 and s=0",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e00000000000000000000000000000000000000000000000000000000",
          "result" : "invalid"
        },
        {
          "tcId" : 39,
          "comment" : "Signature with special case values r=q + 1 and s=1",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e00000000000000000000000000000000000000000000000000000001",
          "result" : "invalid"
        },
        {
          "tcId" : 40,
          "comment" : "Signature with special case values r=q + 1 and s=q",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695ebaf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
          "result" : "invalid"
        },
        {
          "tcId" : 41,
          "comment" : "Signature with special case values r=q + 1 and s=q - 1",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695ebaf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c",
          "result" : "invalid"
        },
        {
          "tcId" : 42,
          "comment" : "Signature with special case values r=q + 1 and s=q + 1",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695ebaf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
          "result" : "invalid"
        },
        {
          "tcId" : 43,
          "comment" : "Signature with special case values r=q + 1 and s=p",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e8f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
          "result" : "invalid"
        },
        {
          "tcId" : 44,
          "comment" : "Signature with special case values r=q + 1 and s=p + 1",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e8f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd668",
          "result" : "invalid"
        },
        {
          "tcId" : 45,
          "comment" : "Signature with special case values r=p and s=0",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "8f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd66700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
          "result" : "invalid"
        },
        {
          "tcId" : 46,
          "comment" : "Signature with special case values r=p and s=1",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "8f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd66700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
          "result" : "invalid"
        },
        {
          "tcId" : 47,
          "comment" : "Signature with special case values r=p and s=q",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "8f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
          "result" : "invalid"
        },
        {
          "tcId" : 48,
          "comment" : "Signature with special case values r=p and s=q - 1",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "8f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c",
          "result" : "invalid"
        },
        {
          "tcId" : 49,
          "comment" : "Signature with special case values r=p and s=q + 1",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "8f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
          "result" : "invalid"
        },
        {
          "tcId" : 50,
          "comment" : "Signature with special case values r=p and s=p",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "8f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd6678f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
          "result" : "invalid"
        },
        {
          "tcId" : 51,
          "comment" : "Signature with special case values r=p and s=p + 1",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "8f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd6678f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd668",
          "result" : "invalid"
        },
        {
          "tcId" : 52,
          "comment" : "Signature with special case values r=p + 1 and s=0",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "8f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd66800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
          "result" : "invalid"
        },
        {
          "tcId" : 53,
          "comment" : "Signature with special case values r=p + 1 and s=1",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "8f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd66800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
          "result" : "invalid"
        },
        {
          "tcId" : 54,
          "comment" : "Signature with special case values r=p + 1 and s=q",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "8f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd668000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
          "result" : "invalid"
        },
        {
          "tcId" : 55,
          "comment" : "Signature with special case values r=p + 1 and s=q - 1",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "8f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd668000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c",
          "result" : "invalid"
        },
        {
          "tcId" : 56,
          "comment" : "Signature with special case values r=p + 1 and s=q + 1",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "8f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd668000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
          "result" : "invalid"
        },
        {
          "tcId" : 57,
          "comment" : "Signature with special case values r=p + 1 and s=p",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "8f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd6688f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
          "result" : "invalid"
        },
        {
          "tcId" : 58,
          "comment" : "Signature with special case values r=p + 1 and s=p + 1",
          "flags" : [
            "InvalidSignature"
          ],
          "msg" : "313233343030",
          "sig" : "8f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd6688f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd668",
          "result" : "invalid"
        },
        {
          "tcId" : 59,
          "comment" : "pseudorandom signatures",
          "flags" : [
            "Normal"
          ],
          "msg" : "313233343030",
          "sig" : "a939df97ddbe605a925e2456acc196ceea94410d54eed9d501befb902f50ce7bac70f84f265794a3ada363f9afacf7b88c5273e23cac5e55",
          "result" : "valid"
        },
        {
          "tcId" : 60,
          "comment" : "pseudorandom signatures",
          "flags" : [
            "Normal"
          ],
          "msg" : "313233343030",
          "sig" : "3b98fa1f5ea18af8e2878571152f257accf243342582a757535f4a461d86c74f77cde3fdeb48efa02ca06a5264981310fa5922339d52dfff",
          "result" : "valid"
        },
        {
          "tcId" : 61,
          "comment" : "pseudorandom signatures",
          "flags" : [
            "Normal"
          ],
          "msg" : "313233343030",
          "sig" : "6413ccb5d0de22129ab5f861f571d9d9419e057101f990cebb2a52e53e332c78c75288f96057795872cbe64f343100b5df2353f60ed257f5",
          "result" : "valid"
        },
        {
          "tcId" : 62,
          "comment" : "pseudorandom signatures",
          "flags" : [
            "Normal"
          ],
          "msg" : "313233343030",
          "sig" : "19dc7c18a0ca1e947b095782aa5ab1e6c3f2ca329d6070959833d88c183eefdcfd75ff8dcdb2c17c184529b8accfa7cb2a5c94d214fa459c",
          "result" : "valid"
        },
        {
          "tcId" : 63,
          "comment" : "pseudorandom signatures",
          "flags" : [
            "Normal"
          ],
          "msg" : "313233343030",
          "sig" : "720931df5201f87af025960a55f815e841d827b85f047b789bb026f125541b566f22f776996699acd28248c9c3c3313d1508c8a09cc582e6",
          "result" : "valid"
        },
        {
          "tcId" : 64,
          "comment" : "special case hash",
          "flags" : [
            "SpecialCaseHash"
          ],
          "msg" : "32323534363238393834",
          "sig" : "ae0bf0ce838e2edb37604efa49b6cd1d5f900c3c64e5736c673339b818ef9233f76217a6ad249b1f08c59457918a60ea86e8c2a277938c89",
          "result" : "valid"
        },
        {
          "tcId" : 65,
          "comment" : "special case hash",
          "flags" : [
            "SpecialCaseHash"
          ],
          "msg" : "31383237383738363130",
          "sig" : "863925f1ecb1dbf5a42d756df18161339f89034584f3642fe5fa43c82f0a360afd74ead00fca0e66c4564e2ceda8870e61059e8ca380f98a",
          "result" : "valid"
        },
        {
          "tcId" : 66,
          "comment" : "special case hash",
          "flags" : [
            "SpecialCaseHash"
          ],
          "msg" : "31353138383631373039",
          "sig" : "7bdc97bca7f3013fc6b6fc0034d723de4cf7c7039d09af4ef5f2f4fa2650562418258e080bf50e7b81d95b4ec77b92991a26d0386833ea74",
          "result" : "valid"
        },
        {
          "tcId" : 67,
          "comment" : "special case hash",
          "flags" : [
            "SpecialCaseHash"
          ],
          "msg" : "32313239323333343232",
          "sig" : "051b0d01cfc2a31d139a670eb6f091e9436cc525a9b0242e49428b63718785905b3499e7934112656136da4809529f068c50f96e8e834b76",
          "result" : "valid"
        },
        {
          "tcId" : 68,
          "comment" : "special case hash",
          "flags" : [
            "SpecialCaseHash"
          ],
          "msg" : "31323231393739303539",
          "sig" : "099ce9fa75f5fff9cf3ca5781378269376d9faa205711a6b8aa15690240586c456884c48b71a2e5b0a1dd0bb4471d5c9bc11c06e6618f84f",
          "result" : "valid"
        },
        {
          "tcId" : 69,
          "comment" : "special case hash",
          "flags" : [
            "SpecialCaseHash"
          ],
          "msg" : "32333032353637363131",
          "sig" : "52a9967eb246ed578e094b3fd0722864015f065e419fe86dbc9656264b1a9a97c54387f2a4a6ed53c7280450151ec94979e8648bf0307db7",
          "result" : "valid"
        },
        {
          "tcId" : 70,
          "comment" : "special case hash",
          "flags" : [
            "SpecialCaseHash"
          ],
          "msg" : "31313035383638343732",
          "sig" : "a5d86a6109be1f7fc13bfa24f3988ab773dd31fc48c078bcf1810d806db2be3b6ae263111b540ab708acdf1d72408fd073e8032634d2dfcc",
          "result" : "valid"
        },
        {
          "tcId" : 71,
          "comment" : "special case hash",
          "flags" : [
            "SpecialCaseHash"
          ],
          "msg" : "31343636363134343432",
          "sig" : "6fe4095c131b39ec9e568d2079701707f68f8fc2adbaa110b6b250239f8b5e066750f5e9f2afe77a3a377367288637c6d045d53900368a66",
          "result" : "valid"
        },
        {
          "tcId" : 72,
          "comment" : "special case hash",
          "flags" : [
            "SpecialCaseHash"
          ],
          "msg" : "343431393536343230",
          "sig" : "255b9c7a2e453c0e737c6e8cdb2d0a70ff83286381636c8e257acfde4da758b8cc6b44beb5334530d0f18aa435f1f13624f57408e5256a3d",
          "result" : "valid"
        },
        {
          "tcId" : 73,
          "comment" : "special case hash",
          "flags" : [
            "SpecialCaseHash"
          ],
          "msg" : "31393639343836303634",
          "sig" : "1cfdc22c4198e7c2e8c5f4d444a66af35f4fc050ab5cd79d53e4c2fe08fa67477ae8bd723537f3f67bdc07691341cab13c60ac6619e4fd0e",
          "result" : "valid"
        },
        {
          "tcId" : 74,
          "comment" : "special case hash",
          "flags" : [
            "SpecialCaseHash"
          ],
          "msg" : "32323335363732383833",
          "sig" : "07e4399a8efea40467291eadd4b72603f5239585dcdaa9af0886b4f1aa6fc9c29a83b42cc38177643363381764b7bcb0ee1b36e9dcc1305c",
          "result" : "valid"
        },
        {
          "tcId" : 75,
          "comment" : "special case hash",
          "flags" : [
            "SpecialCaseHash"
          ],
          "msg" : "32323537383433373033",
          "sig" : "8325d2277a644be50232ac0d5d8ef9672c3512bcb63518e57f9da7f86cdcfa9c16a84114784db6a775802937cfbe796df1d1883b330c4d5d",
          "result" : "valid"
        },
        {
          "tcId" : 76,
          "comment" : "special case hash",
          "flags" : [
            "SpecialCaseHash"
          ],
          "msg" : "393434353030393436",
          "sig" : "b56f2fc3a14310f4f7139e4b87c63b2603094c270ba9ead2b3689dab1188a91b903413844e241fe4f7118635c7c085a465dfa89fe81cd072",
          "result" : "valid"
        },
        {
          "tcId" : 77,
          "comment" : "special case hash",
          "flags" : [
            "SpecialCaseHash"
          ],
          "msg" : "31363837373839343130",
          "sig" : "8d6dd789d09df289b7344a0868d9d93c61ef71ba2aa60f57a904496231da5aea906b4c5618def7f89d275ce6d3947bd00cd77044d213f587",
          "result" : "valid"
        },
        {
          "tcId" : 78,
          "comment" : "special case hash",
          "flags" : [
            "SpecialCaseHash"
          ],
          "msg" : "333933323631323238",
          "sig" : "9a489a5bf29ac49e700ed1c7a61eaf422242e9a9f706f3093835349406b93abe7678e8bb9e6a3744581ba11e657021299f76b7803ce15fcb",
          "result" : "valid"
        },
        {
          "tcId" : 79,
          "comment" : "special case hash",
          "flags" : [
            "SpecialCaseHash"
          ],
          "msg" : "31303733353731303935",
          "sig" : "89eef41c40f43032e2c17f80e3bfa8125ba4bef9c5590ea7704067c15a61599ed31031a0d5a9ae6fb1338b0002c7e647a4a76738c7f7ffdb",
          "result" : "valid"
        },
        {
          "tcId" : 80,
          "comment" : "special case hash",
          "flags" : [
            "SpecialCaseHash"
          ],
          "msg" : "3630383837343734",
          "sig" : "b1b4bd210c230ad71527f0afdf31872d583978e7b44a4c8b0846f4fe912a4e8750aeaa073dfca5c206f645a8e8f498067331ec037cbbd0e2",
          "result" : "valid"
        },
        {
          "tcId" : 81,
          "comment" : "special case hash",
          "flags" : [
            "SpecialCaseHash"
          ],
          "msg" : "31313932353639393632",
          "sig" : "4ad46013a0286073fbbfed901623f6838ccd6c81e3e18570b2f5c13c933c2e37d7f559f905fa14277144e2b64d20bf03c41069286139d8cc",
          "result" : "valid"
        },
        {
          "tcId" : 82,
          "comment" : "special case hash",
          "flags" : [
            "SpecialCaseHash"
          ],
          "msg" : "3930303736303933",
          "sig" : "159879b8e270418199fb051152897126c80286bd38343fe914737b368a31fa7a9aac01e3df0770d6eaa9476ea36f47295c194a50d62b5eab",
          "result" : "valid"
        },
        {
          "tcId" : 83,
          "comment" : "special case hash",
          "flags" : [
            "SpecialCaseHash"
          ],
          "msg" : "31363032383336313337",
          "sig" : "269cc182e0bbd081be7d135ff72355c67a58336657767abf4b9b64051684f1019a21d80feb1bdb4554933e8067feb6f0bf17437d2e63aaa6",
          "result" : "valid"
        },
        {
          "tcId" : 84,
          "comment" : "special case hash",
          "flags" : [
            "SpecialCaseHash"
          ],
          "msg" : "32303830323435363734",
          "sig" : "1fd07fe19939130250715186cc77196dcbe20e8e6d67c47b0a6dcf28776f5809de588faddee252de1755a95f7b1f8a073fec81bad1972024",
          "result" : "valid"
        },
        {
          "tcId" : 85,
          "comment" : "special case hash",
          "flags" : [
            "SpecialCaseHash"
          ],
          "msg" : "31373938323734363539",
          "sig" : "5b2d08ff9d8314a064b9bf7e65efc880c41b37dab090c5a33405664b6f790ac01d38c8adf3e9012f3f0e5bc38e17778cdcddf2cddabc75b0",
          "result" : "valid"
        },
        {
          "tcId" : 86,
          "comment" : "special case hash",
          "flags" : [
            "SpecialCaseHash"
          ],
          "msg" : "31313535353737373230",
          "sig" : "6e6d35062b651c452c25327b4d99544fc2262be58c57bc8ff75f193a710c4ab62dfa6fb982505b9c4415ffb117808ec1c4b8a5aee5d92722",
          "result" : "valid"
        },
        {
          "tcId" : 87,
          "comment" : "special case hash",
          "flags" : [
            "SpecialCaseHash"
          ],
          "msg" : "32343332343734363634",
          "sig" : "416b0d4f56fb6e2d1075e910c4cb349e8bff99f60aaaafa6a7398f45212d7473330f9bc0e22758072195982cc50d6f4146c87ff72be0bbf8",
          "result" : "valid"
        },
        {
          "tcId" : 88,
          "comment" : "special case hash",
          "flags" : [
            "SpecialCaseHash"
          ],
          "msg" : "32343137323832323737",
          "sig" : "5f123d0b2862885918d2a67afc9743657bc6c603abfc0ff7c1d11a272ce308192c6ff01dd1eeb1709be7bfeab115a0edca1bc7b8de901f5a",
          "result" : "valid"
        },
        {
          "tcId" : 89,
          "comment" : "special case hash",
          "flags" : [
            "SpecialCaseHash"
          ],
          "msg" : "3737383734373731",
          "sig" : "6aaad7b9f862239389d833ab039e7d63b84401bb05155a228848cad479a27fe2e493a1d29020cbb16c2921b1a87bd01bf8ef33e2d9882a37",
          "result" : "valid"
        }
      ]
    },
    {
      "publicKeyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201006978b68d31334ee5bc7b3e91ab6c2336fab45c64836bd92cb5337b734db9e8e44f889f8869829f4fe174dc9344c164a0ba5b0126259ba8a43f607564fa4a1d0d49645e1d5886a1fc485e2fe91e56eae330da05e17b0b3d018c290285b249bc409e7af54300fc7c3eb34911457e2371931ad9302e8450cd95df3d561ea0ad94d0a2eabcafe0dd6728fb280029b556d9f4fa7c0f46a7804329936708e97e11fc22b2a50761a890c65b5fea2a1a4172f6be9eaa60e738cdf60c015142e2e562bb62a11e810ccdf0bf633307382f2d9a9769b115dfcdab4bacae73feca289db209dce34cbe126e8c7f9d9e4f8f711349a608d567b48c050e9dfb32bc184ecaa4f0f0",
      "publicKeyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEAaXi2jTEzTuW8ez6Rq2wjNvq0XGSDa9kstTN7c0256ORPiJ+IaYKfT+F0\n3JNEwWSgulsBJiWbqKQ/YHVk+kodDUlkXh1YhqH8SF4v6R5W6uMw2gXhews9AYwp\nAoWySbxAnnr1QwD8fD6zSRFFfiNxkxrZMC6EUM2V3z1WHqCtlNCi6ryv4N1nKPso\nACm1Vtn0+nwPRqeAQymTZwjpfhH8IrKlB2GokMZbX+oqGkFy9r6eqmDnOM32DAFR\nQuLlYrtioR6BDM3wv2MzBzgvLZqXabEV382rS6yuc/7KKJ2yCdzjTL4Sbox/nZ5P\nj3ETSaYI1We0jAUOnfsyvBhOyqTw8A==\n-----END PUBLIC KEY-----\n",
      "sha" : "SHA-224",
      "type" : "DsaP1363Verify",
      "publicKey" : {
        "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde",
        "keySize" : 2048,
        "p" : "008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
        "q" : "00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
        "type" : "DsaPublicKey",
        "y" : "6978b68d31334ee5bc7b3e91ab6c2336fab45c64836bd92cb5337b734db9e8e44f889f8869829f4fe174dc9344c164a0ba5b0126259ba8a43f607564fa4a1d0d49645e1d5886a1fc485e2fe91e56eae330da05e17b0b3d018c290285b249bc409e7af54300fc7c3eb34911457e2371931ad9302e8450cd95df3d561ea0ad94d0a2eabcafe0dd6728fb280029b556d9f4fa7c0f46a7804329936708e97e11fc22b2a50761a890c65b5fea2a1a4172f6be9eaa60e738cdf60c015142e2e562bb62a11e810ccdf0bf633307382f2d9a9769b115dfcdab4bacae73feca289db209dce34cbe126e8c7f9d9e4f8f711349a608d567b48c050e9dfb32bc184ecaa4f0f0"
      },
      "tests" : [
        {
          "tcId" : 90,
          "comment" : "r,s = 1,1",
          "flags" : [
            "SmallRandS"
          ],
          "msg" : "54657374",
          "sig" : "0000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000001",
          "result" : "valid"
        },
        {
          "tcId" : 91,
          "comment" : "r,s = 1,5",
          "flags" : [
            "SmallRandS"
          ],
          "msg" : "54657374",
          "sig" : "0000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000005",
          "result" : "valid"
        },
        {
          "tcId" : 92,
          "comment" : "r = 1, u2 small",
          "flags" : [
            "ArithmeticError"
          ],
          "msg" : "54657374",
          "sig" : "000000000000000000000000000000000000000000000000000000019592121ed12d93197f1ffb863ac63937f28ef4f62f1e009a30aabab1",
          "result" : "valid"
        },
        {
          "tcId" : 93,
          "comment" : "r = 1, s = q-1",
          "flags" : [
            "ArithmeticError"
          ],
          "msg" : "54657374",
          "sig" : "00000000000000000000000000000000000000000000000000000001baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c",
          "result" : "valid"
        }
      ]
    },
    {
      "publicKeyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201002a64953bde40789f80ed8227192286115b92d09d5de96904e803ec4ecfbd73e0f08e82910febf19fa3cdc55ff20eb970d9c712f44785c0fd592c17fb43f4625357a4ac8a1a628f72040ae5360839c7c1f6b214e7a15530fe22887139ea0f05a9daf9d95bd6b7467abf9107c9fbe31e36330276eeccce3d59635206d60ca256f9af60627626b0594984b5a075c42c42067fa8c330f258bcf145df27a97da8ee419b54e3ab296c7ce9ef6a0113389b3cac7885b44b3722d27cad60e4e5a924a1ed0342cea9e99256f6bc1308d4af2c0af9379b1cf2119ce113c085705f5519ccc1ba8562a2236190d3f0c0a10f01466ad79a48127c28433f6b34e24a539af60f3d",
      "publicKeyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEAKmSVO95AeJ+A7YInGSKGEVuS0J1d6WkE6APsTs+9c+DwjoKRD+vxn6PN\nxV/yDrlw2ccS9EeFwP1ZLBf7Q/RiU1ekrIoaYo9yBArlNgg5x8H2shTnoVUw/iKI\ncTnqDwWp2vnZW9a3Rnq/kQfJ++MeNjMCdu7Mzj1ZY1IG1gyiVvmvYGJ2JrBZSYS1\noHXELEIGf6jDMPJYvPFF3yepfajuQZtU46spbHzp72oBEzibPKx4hbRLNyLSfK1g\n5OWpJKHtA0LOqemSVva8EwjUrywK+TebHPIRnOETwIVwX1UZzMG6hWKiI2GQ0/DA\noQ8BRmrXmkgSfChDP2s04kpTmvYPPQ==\n-----END PUBLIC KEY-----\n",
      "sha" : "SHA-224",
      "type" : "DsaP1363Verify",
      "publicKey" : {
        "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde",
        "keySize" : 2048,
        "p" : "008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
        "q" : "00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
        "type" : "DsaPublicKey",
        "y" : "2a64953bde40789f80ed8227192286115b92d09d5de96904e803ec4ecfbd73e0f08e82910febf19fa3cdc55ff20eb970d9c712f44785c0fd592c17fb43f4625357a4ac8a1a628f72040ae5360839c7c1f6b214e7a15530fe22887139ea0f05a9daf9d95bd6b7467abf9107c9fbe31e36330276eeccce3d59635206d60ca256f9af60627626b0594984b5a075c42c42067fa8c330f258bcf145df27a97da8ee419b54e3ab296c7ce9ef6a0113389b3cac7885b44b3722d27cad60e4e5a924a1ed0342cea9e99256f6bc1308d4af2c0af9379b1cf2119ce113c085705f5519ccc1ba8562a2236190d3f0c0a10f01466ad79a48127c28433f6b34e24a539af60f3d"
      },
      "tests" : [
        {
          "tcId" : 94,
          "comment" : "s = 1",
          "flags" : [
            "ArithmeticError"
          ],
          "msg" : "54657374",
          "sig" : "5a252f4fc55618747fd94b13c9bee62bb958d85777cb07dd90710d2400000000000000000000000000000000000000000000000000000001",
          "result" : "valid"
        }
      ]
    },
    {
      "publicKeyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201001d8f9992387355ff9381199d883e099d798bb730a7ad074236eb863b14b6aafe487ff8e7276232e938537f18d0fbea02c9ad305b31ef80ca5bfa2560a128b7c6342c692f3ecaf31e16866fe6395f10e6669caed8aa827708d890241f0011f5c2f390804b462e93ea319de7a44bbaf21ff98743611a0a4dd6def604c0bd6ff9d673db27b3ef6b16ac6b32f9fac975562b15908acdf909636b8622467c4b08b812485270f2797f9421dd9998b60b83e738cd359767da3c69a1ec1c4848d1f8dd4bf07282dec668b0fefa480336b0cc428a546620075dfcb488e14076ec76d20bba7111eba9e74e7846502f2b33b9ace80dfd92077c4bc9f396ffa90947de3eb604",
      "publicKeyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEAHY+ZkjhzVf+TgRmdiD4JnXmLtzCnrQdCNuuGOxS2qv5If/jnJ2Iy6ThT\nfxjQ++oCya0wWzHvgMpb+iVgoSi3xjQsaS8+yvMeFoZv5jlfEOZmnK7YqoJ3CNiQ\nJB8AEfXC85CAS0Yuk+oxneekS7ryH/mHQ2EaCk3W3vYEwL1v+dZz2yez72sWrGsy\n+frJdVYrFZCKzfkJY2uGIkZ8Swi4EkhScPJ5f5Qh3ZmYtguD5zjNNZdn2jxpoewc\nSEjR+N1L8HKC3sZosP76SAM2sMxCilRmIAdd/LSI4UB27HbSC7pxEeup5054RlAv\nKzO5rOgN/ZIHfEvJ85b/qQlH3j62BA==\n-----END PUBLIC KEY-----\n",
      "sha" : "SHA-224",
      "type" : "DsaP1363Verify",
      "publicKey" : {
        "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde",
        "keySize" : 2048,
        "p" : "008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
        "q" : "00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
        "type" : "DsaPublicKey",
        "y" : "1d8f9992387355ff9381199d883e099d798bb730a7ad074236eb863b14b6aafe487ff8e7276232e938537f18d0fbea02c9ad305b31ef80ca5bfa2560a128b7c6342c692f3ecaf31e16866fe6395f10e6669caed8aa827708d890241f0011f5c2f390804b462e93ea319de7a44bbaf21ff98743611a0a4dd6def604c0bd6ff9d673db27b3ef6b16ac6b32f9fac975562b15908acdf909636b8622467c4b08b812485270f2797f9421dd9998b60b83e738cd359767da3c69a1ec1c4848d1f8dd4bf07282dec668b0fefa480336b0cc428a546620075dfcb488e14076ec76d20bba7111eba9e74e7846502f2b33b9ace80dfd92077c4bc9f396ffa90947de3eb604"
      },
      "tests" : [
        {
          "tcId" : 95,
          "comment" : "u2 small",
          "flags" : [
            "ArithmeticError"
          ],
          "msg" : "54657374",
          "sig" : "2b5a9e2ff5f7aa2ed6ff534908262d0ae5d070377f67704103a5a7c29592121ed12d93197f1ffb863ac63937f28ef4f62f1e009a30aabab1",
          "result" : "valid"
        }
      ]
    },
    {
      "publicKeyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde038201050002820100516b4a830ae8f21865f7467fcfe264ae975e08ea174bfa27dbea118f1998c473dcd30ec099580fd63dfe601ec2df835eef25597bebe18bac31c6bde258f6543d5703d8c3dfba6e26552ab773f557b6d9a429dd65e96e2473ee5b9383761eda17ac96fd9d239226ad14cd6647f2962b2d2297060dc7f2558d84e6da8ee4bdccb24c74acd7267551e434c7e54052af99dba6121f5efc86db6cdf6b8f9ce1ac77396187894c1420fbe90ec0845528a7b3212df13a3ff8eff84341271240623601fd41f3af8466aeffc0ff1f2eac1878d5fc604e9f19446cdf79865a4c2451cbbca978a254a0fe8fe19fb667e35787bc200b00452f42052bfc55e6fcf6ea9dd8f715",
      "publicKeyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEAUWtKgwro8hhl90Z/z+JkrpdeCOoXS/on2+oRjxmYxHPc0w7AmVgP1j3+\nYB7C34Ne7yVZe+vhi6wxxr3iWPZUPVcD2MPfum4mVSq3c/VXttmkKd1l6W4kc+5b\nk4N2HtoXrJb9nSOSJq0UzWZH8pYrLSKXBg3H8lWNhObajuS9zLJMdKzXJnVR5DTH\n5UBSr5nbphIfXvyG22zfa4+c4ax3OWGHiUwUIPvpDsCEVSinsyEt8To/+O/4Q0En\nEkBiNgH9QfOvhGau/8D/Hy6sGHjV/GBOnxlEbN95hlpMJFHLvKl4olSg/o/hn7Zn\n41eHvCALAEUvQgUr/FXm/Pbqndj3FQ==\n-----END PUBLIC KEY-----\n",
      "sha" : "SHA-224",
      "type" : "DsaP1363Verify",
      "publicKey" : {
        "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde",
        "keySize" : 2048,
        "p" : "008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
        "q" : "00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
        "type" : "DsaPublicKey",
        "y" : "516b4a830ae8f21865f7467fcfe264ae975e08ea174bfa27dbea118f1998c473dcd30ec099580fd63dfe601ec2df835eef25597bebe18bac31c6bde258f6543d5703d8c3dfba6e26552ab773f557b6d9a429dd65e96e2473ee5b9383761eda17ac96fd9d239226ad14cd6647f2962b2d2297060dc7f2558d84e6da8ee4bdccb24c74acd7267551e434c7e54052af99dba6121f5efc86db6cdf6b8f9ce1ac77396187894c1420fbe90ec0845528a7b3212df13a3ff8eff84341271240623601fd41f3af8466aeffc0ff1f2eac1878d5fc604e9f19446cdf79865a4c2451cbbca978a254a0fe8fe19fb667e35787bc200b00452f42052bfc55e6fcf6ea9dd8f715"
      },
      "tests" : [
        {
          "tcId" : 96,
          "comment" : "s = q - 1",
          "flags" : [
            "ArithmeticError"
          ],
          "msg" : "54657374",
          "sig" : "2b5a9e2ff5f7aa2ed6ff534908262d0ae5d070377f67704103a5a7c2baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c",
          "result" : "valid"
        }
      ]
    },
    {
      "publicKeyDer" : "308203433082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde03820106000282010100889737ca6cd0ca300adb2e2940ec2beb6cf1c1e7865c7b22a3da608b7aa655e3588626e39031803e8a0f333d6a8a28fbbc05987c73ff73016b326c5acddb6f79d947b603e839bc7b37d2e5101d364fc53ee5539d920fb6a11f1365ba9be5c2aa28b7e2ebb3c63e11c3c4841e750cda9090062c1c746fee59a06d17693dfadbe6fa4497591183b2e1e5f4886e643acfd29637715034ee099399648f1f678c93e53a67173a49bef324f95b29076ff8f889eb1fdf3816ce6f1966dee606eb23b7f608051e66c45795dac55f5957cdcd7ec66d4ad918e76c6dc27c2db5711098668e91d3278a8a8369cc4e022a840ea842c76bcd432dc8442a5578c27c016f370d2f",
      "publicKeyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQzCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBgACggEBAIiXN8ps0MowCtsuKUDsK+ts8cHnhlx7IqPaYIt6plXjWIYm45AxgD6K\nDzM9aooo+7wFmHxz/3MBazJsWs3bb3nZR7YD6Dm8ezfS5RAdNk/FPuVTnZIPtqEf\nE2W6m+XCqii34uuzxj4Rw8SEHnUM2pCQBiwcdG/uWaBtF2k9+tvm+kSXWRGDsuHl\n9IhuZDrP0pY3cVA07gmTmWSPH2eMk+U6Zxc6Sb7zJPlbKQdv+PiJ6x/fOBbObxlm\n3uYG6yO39ggFHmbEV5XaxV9ZV83NfsZtStkY52xtwnwttXEQmGaOkdMnioqDacxO\nAiqEDqhCx2vNQy3IRCpVeMJ8AW83DS8=\n-----END PUBLIC KEY-----\n",
      "sha" : "SHA-224",
      "type" : "DsaP1363Verify",
      "publicKey" : {
        "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde",
        "keySize" : 2048,
        "p" : "008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
        "q" : "00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
        "type" : "DsaPublicKey",
        "y" : "00889737ca6cd0ca300adb2e2940ec2beb6cf1c1e7865c7b22a3da608b7aa655e3588626e39031803e8a0f333d6a8a28fbbc05987c73ff73016b326c5acddb6f79d947b603e839bc7b37d2e5101d364fc53ee5539d920fb6a11f1365ba9be5c2aa28b7e2ebb3c63e11c3c4841e750cda9090062c1c746fee59a06d17693dfadbe6fa4497591183b2e1e5f4886e643acfd29637715034ee099399648f1f678c93e53a67173a49bef324f95b29076ff8f889eb1fdf3816ce6f1966dee606eb23b7f608051e66c45795dac55f5957cdcd7ec66d4ad918e76c6dc27c2db5711098668e91d3278a8a8369cc4e022a840ea842c76bcd432dc8442a5578c27c016f370d2f"
      },
      "tests" : [
        {
          "tcId" : 97,
          "comment" : "edge case modular inverse",
          "flags" : [
            "ModularInverse"
          ],
          "msg" : "54657374",
          "sig" : "2b5a9e2ff5f7aa2ed6ff534908262d0ae5d070377f67704103a5a7c228d698b61a91a62a8b6695f16526c4aec002ab94c2b584359b70a52f",
          "result" : "valid"
        }
      ]
    },
    {
      "publicKeyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde038201050002820100100db81ec77132d9d021196941143f5e62525e800dafd43deb4bf34730cc1f23f64c33062df765abbf3511ccc8f59410a89da1d0116c59463bb04f57499a433aaf4c8308d731e92136b1ddf9b0cb3a5e67b9cc917302f68d5c4f1d86541ea18b2df5031b192ed9a52e6c306261f192f1f0cac2f364d9fb6921dfe6e3fadc6be6400a65995165b91a3606788f8fcd966c4c42a06e83c62a92ee10ee405cb606b4f02ab4bf338b1b44851007596bb865ff7464bf15e1c9e4a7217581d2815d74e1a3b78be9a43dbfc5b09bb8384705045784c1d7aa5dbd4e54b67d78f406003079f97cb4fac6783508e5e859fb9df6c2f61c5a9f6a3a5ce42dab9183db40d60528",
      "publicKeyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEAEA24HsdxMtnQIRlpQRQ/XmJSXoANr9Q960vzRzDMHyP2TDMGLfdlq781\nEczI9ZQQqJ2h0BFsWUY7sE9XSZpDOq9MgwjXMekhNrHd+bDLOl5nucyRcwL2jVxP\nHYZUHqGLLfUDGxku2aUubDBiYfGS8fDKwvNk2ftpId/m4/rca+ZACmWZUWW5GjYG\neI+PzZZsTEKgboPGKpLuEO5AXLYGtPAqtL8zixtEhRAHWWu4Zf90ZL8V4cnkpyF1\ngdKBXXTho7eL6aQ9v8Wwm7g4RwUEV4TB16pdvU5Utn149AYAMHn5fLT6xng1COXo\nWfud9sL2HFqfajpc5C2rkYPbQNYFKA==\n-----END PUBLIC KEY-----\n",
      "sha" : "SHA-224",
      "type" : "DsaP1363Verify",
      "publicKey" : {
        "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde",
        "keySize" : 2048,
        "p" : "008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
        "q" : "00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
        "type" : "DsaPublicKey",
        "y" : "100db81ec77132d9d021196941143f5e62525e800dafd43deb4bf34730cc1f23f64c33062df765abbf3511ccc8f59410a89da1d0116c59463bb04f57499a433aaf4c8308d731e92136b1ddf9b0cb3a5e67b9cc917302f68d5c4f1d86541ea18b2df5031b192ed9a52e6c306261f192f1f0cac2f364d9fb6921dfe6e3fadc6be6400a65995165b91a3606788f8fcd966c4c42a06e83c62a92ee10ee405cb606b4f02ab4bf338b1b44851007596bb865ff7464bf15e1c9e4a7217581d2815d74e1a3b78be9a43dbfc5b09bb8384705045784c1d7aa5dbd4e54b67d78f406003079f97cb4fac6783508e5e859fb9df6c2f61c5a9f6a3a5ce42dab9183db40d60528"
      },
      "tests" : [
        {
          "tcId" : 98,
          "comment" : "edge case modular inverse",
          "flags" : [
            "ModularInverse"
          ],
          "msg" : "54657374",
          "sig" : "2b5a9e2ff5f7aa2ed6ff534908262d0ae5d070377f67704103a5a7c233ba06fbadb6a3e191198feeff3832f906af1eb17c9adedbe34ed6e1",
          "result" : "valid"
        }
      ]
    },
    {
      "publicKeyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201002e40ca35e499aae0755bbc8b4756c787a5c331bfd986af73e0a71e4554b135e57cb626e105d727965089ca986c9139e3074d68fa0f57e4e50b9430753203fc1df355f37781abf315d03a139d63871d24028e7c63b9c643355ceb4a71527b78e2ff0ffb8ec43d3c9a891cfb8e480e8dccba035eb0ac4f1549966db3003768ca06da878e51f0a358530ce5573b8afb9172b046a0a41317e344daff955d6063c0e120cfbdce1e43439f742561cc9ad3129b47503c728af97bc45686f50a2864d1907c058947b6cc11e42110d38c5aab99f6fa0638ae2387d5be1f60a5ef4f076f2b93cab944325b6a27c2aa7b2e4d834814dbe9cc1316ddae54f016f39891c3d6ff",
      "publicKeyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEALkDKNeSZquB1W7yLR1bHh6XDMb/Zhq9z4KceRVSxNeV8tibhBdcnllCJ\nyphskTnjB01o+g9X5OULlDB1MgP8HfNV83eBq/MV0DoTnWOHHSQCjnxjucZDNVzr\nSnFSe3ji/w/7jsQ9PJqJHPuOSA6NzLoDXrCsTxVJlm2zADdoygbah45R8KNYUwzl\nVzuK+5FysEagpBMX40Ta/5VdYGPA4SDPvc4eQ0OfdCVhzJrTEptHUDxyivl7xFaG\n9QooZNGQfAWJR7bMEeQhENOMWquZ9voGOK4jh9W+H2Cl708HbyuTyrlEMltqJ8Kq\ney5Ng0gU2+nMExbdrlTwFvOYkcPW/w==\n-----END PUBLIC KEY-----\n",
      "sha" : "SHA-224",
      "type" : "DsaP1363Verify",
      "publicKey" : {
        "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde",
        "keySize" : 2048,
        "p" : "008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
        "q" : "00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
        "type" : "DsaPublicKey",
        "y" : "2e40ca35e499aae0755bbc8b4756c787a5c331bfd986af73e0a71e4554b135e57cb626e105d727965089ca986c9139e3074d68fa0f57e4e50b9430753203fc1df355f37781abf315d03a139d63871d24028e7c63b9c643355ceb4a71527b78e2ff0ffb8ec43d3c9a891cfb8e480e8dccba035eb0ac4f1549966db3003768ca06da878e51f0a358530ce5573b8afb9172b046a0a41317e344daff955d6063c0e120cfbdce1e43439f742561cc9ad3129b47503c728af97bc45686f50a2864d1907c058947b6cc11e42110d38c5aab99f6fa0638ae2387d5be1f60a5ef4f076f2b93cab944325b6a27c2aa7b2e4d834814dbe9cc1316ddae54f016f39891c3d6ff"
      },
      "tests" : [
        {
          "tcId" : 99,
          "comment" : "edge case modular inverse",
          "flags" : [
            "ModularInverse"
          ],
          "msg" : "54657374",
          "sig" : "2b5a9e2ff5f7aa2ed6ff534908262d0ae5d070377f67704103a5a7c23b01dedd709bbd60da3e0d1cd95bf2ae68248da079d8226bc32ed679",
          "result" : "valid"
        }
      ]
    },
    {
      "publicKeyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201004191ba1f1833b273e8983cc2d88ad83565120ca6c8284e03788035c2a67f331ce93455112e816fa3aa5a4196f64b0e4e605c1ba6e44dbf257a7c2401c228935aeca5cbe0cf1870ddcdcef1fc21bdffe923061da14feb08d9c16f747f8e657be5a775635e59671509b7aacab2ebf98eefedc909d0e9abf6fdd013bc0039e7b107cbdc796e7e53292a7492f2c39ddc1b58677127ceea7f30c2e2a956ce7bf8a51d81e2ff5539d13b427dcbec4a092cdf6f265da416a8dcb56949cab9b6051671574b70f1c7e49717b96b9ad5edb87c5047aa007bd78d0f54751490e00406bcf83fb22162f918ecba9b3e7a4de4ebe230a65ee905285c12052fe4440f74a3317581",
      "publicKeyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEAQZG6HxgzsnPomDzC2IrYNWUSDKbIKE4DeIA1wqZ/MxzpNFURLoFvo6pa\nQZb2Sw5OYFwbpuRNvyV6fCQBwiiTWuyly+DPGHDdzc7x/CG9/+kjBh2hT+sI2cFv\ndH+OZXvlp3VjXllnFQm3qsqy6/mO7+3JCdDpq/b90BO8ADnnsQfL3HluflMpKnSS\n8sOd3BtYZ3Enzup/MMLiqVbOe/ilHYHi/1U50TtCfcvsSgks328mXaQWqNy1aUnK\nubYFFnFXS3Dxx+SXF7lrmtXtuHxQR6oAe9eND1R1FJDgBAa8+D+yIWL5GOy6mz56\nTeTr4jCmXukFKFwSBS/kRA90ozF1gQ==\n-----END PUBLIC KEY-----\n",
      "sha" : "SHA-224",
      "type" : "DsaP1363Verify",
      "publicKey" : {
        "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde",
        "keySize" : 2048,
        "p" : "008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
        "q" : "00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
        "type" : "DsaPublicKey",
        "y" : "4191ba1f1833b273e8983cc2d88ad83565120ca6c8284e03788035c2a67f331ce93455112e816fa3aa5a4196f64b0e4e605c1ba6e44dbf257a7c2401c228935aeca5cbe0cf1870ddcdcef1fc21bdffe923061da14feb08d9c16f747f8e657be5a775635e59671509b7aacab2ebf98eefedc909d0e9abf6fdd013bc0039e7b107cbdc796e7e53292a7492f2c39ddc1b58677127ceea7f30c2e2a956ce7bf8a51d81e2ff5539d13b427dcbec4a092cdf6f265da416a8dcb56949cab9b6051671574b70f1c7e49717b96b9ad5edb87c5047aa007bd78d0f54751490e00406bcf83fb22162f918ecba9b3e7a4de4ebe230a65ee905285c12052fe4440f74a3317581"
      },
      "tests" : [
        {
          "tcId" : 100,
          "comment" : "edge case modular inverse",
          "flags" : [
            "ModularInverse"
          ],
          "msg" : "54657374",
          "sig" : "2b5a9e2ff5f7aa2ed6ff534908262d0ae5d070377f67704103a5a7c236d1f860b30dee9abe3dde445baaa88ffee6531028d2bd8baf310cf6",
          "result" : "valid"
        }
      ]
    },
    {
      "publicKeyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde038201050002820100627666062d3fd8713296b4fea7e8744e68a802d6c9c883904f4b9fe69457d4117c705e732c5d941a9b3c537df29ec69c8d62cc19e78355b96c8f0acfb860138a4e438aa8836403ec817266d81c573eb6db25285d1102a64d348d460eae4672262a82830e7329caefc1df367780a20b724c3ecb6b4a2e86125e736f5855ee4aab8a9e6deec7a007b4d7551a3fb52ed44a9c4c85b4272a264a3ffc5e418d572bc4690f075ae340e39bd2b45e2043fefa457c119e1a85f3086a2f68934d83d39450194418b064841a3768da9ca9f7c3ec52d46ba88a7fff488633915ecda3a4385dd5f07013c2b46574e709fb718707374886654c44858996c8854bc7cbe60eea58",
      "publicKeyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEAYnZmBi0/2HEylrT+p+h0TmioAtbJyIOQT0uf5pRX1BF8cF5zLF2UGps8\nU33ynsacjWLMGeeDVblsjwrPuGATik5DiqiDZAPsgXJm2BxXPrbbJShdEQKmTTSN\nRg6uRnImKoKDDnMpyu/B3zZ3gKILckw+y2tKLoYSXnNvWFXuSquKnm3ux6AHtNdV\nGj+1LtRKnEyFtCcqJko//F5BjVcrxGkPB1rjQOOb0rReIEP++kV8EZ4ahfMIai9o\nk02D05RQGUQYsGSEGjdo2pyp98PsUtRrqIp//0iGM5FezaOkOF3V8HATwrRldOcJ\n+3GHBzdIhmVMRIWJlsiFS8fL5g7qWA==\n-----END PUBLIC KEY-----\n",
      "sha" : "SHA-224",
      "type" : "DsaP1363Verify",
      "publicKey" : {
        "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde",
        "keySize" : 2048,
        "p" : "008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
        "q" : "00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
        "type" : "DsaPublicKey",
        "y" : "627666062d3fd8713296b4fea7e8744e68a802d6c9c883904f4b9fe69457d4117c705e732c5d941a9b3c537df29ec69c8d62cc19e78355b96c8f0acfb860138a4e438aa8836403ec817266d81c573eb6db25285d1102a64d348d460eae4672262a82830e7329caefc1df367780a20b724c3ecb6b4a2e86125e736f5855ee4aab8a9e6deec7a007b4d7551a3fb52ed44a9c4c85b4272a264a3ffc5e418d572bc4690f075ae340e39bd2b45e2043fefa457c119e1a85f3086a2f68934d83d39450194418b064841a3768da9ca9f7c3ec52d46ba88a7fff488633915ecda3a4385dd5f07013c2b46574e709fb718707374886654c44858996c8854bc7cbe60eea58"
      },
      "tests" : [
        {
          "tcId" : 101,
          "comment" : "edge case modular inverse",
          "flags" : [
            "ModularInverse"
          ],
          "msg" : "54657374",
          "sig" : "2b5a9e2ff5f7aa2ed6ff534908262d0ae5d070377f67704103a5a7c257e6f91562e43f42a508b7932d5600d525b3a651265cebb8306a91d8",
          "result" : "valid"
        }
      ]
    },
    {
      "publicKeyDer" : "308203433082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010600028201010089d72da61184082fa25e9e3419b68eee9b2c5448059afd13c31a11e84d4257381be596e2b94e56673b75a48f806a336b0529472a10818add49df8cee3c3d7eff5485ce36174169c603a5bcbfa142025652d95656c28fe9b40f32715b83be51cad32d09f6168835622b10fa2a19de6e9c94b258439a15e3850e163a529e96589a7adf2459fa549f826a055f56d09a38118989a55a113410839d1bcaa1bea64dfa08e5cc9eb1cf39c9f659a1d3614b36225049878856799019229d1171ca97cdd227804ddf42dbeb263a67e27f801038d831b8e8cc17eb8621db0b1ff16ed501ecfc9fd3a2b39072e02620b4695196422e7fa6b6170d8ce16680210c106b05cc96",
      "publicKeyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQzCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBgACggEBAInXLaYRhAgvol6eNBm2ju6bLFRIBZr9E8MaEehNQlc4G+WW4rlOVmc7\ndaSPgGozawUpRyoQgYrdSd+M7jw9fv9Uhc42F0FpxgOlvL+hQgJWUtlWVsKP6bQP\nMnFbg75RytMtCfYWiDViKxD6KhnebpyUslhDmhXjhQ4WOlKelliaet8kWfpUn4Jq\nBV9W0Jo4EYmJpVoRNBCDnRvKob6mTfoI5cyesc85yfZZodNhSzYiUEmHiFZ5kBki\nnRFxypfN0ieATd9C2+smOmfif4AQONgxuOjMF+uGIdsLH/Fu1QHs/J/TorOQcuAm\nILRpUZZCLn+mthcNjOFmgCEMEGsFzJY=\n-----END PUBLIC KEY-----\n",
      "sha" : "SHA-224",
      "type" : "DsaP1363Verify",
      "publicKey" : {
        "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde",
        "keySize" : 2048,
        "p" : "008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
        "q" : "00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
        "type" : "DsaPublicKey",
        "y" : "0089d72da61184082fa25e9e3419b68eee9b2c5448059afd13c31a11e84d4257381be596e2b94e56673b75a48f806a336b0529472a10818add49df8cee3c3d7eff5485ce36174169c603a5bcbfa142025652d95656c28fe9b40f32715b83be51cad32d09f6168835622b10fa2a19de6e9c94b258439a15e3850e163a529e96589a7adf2459fa549f826a055f56d09a38118989a55a113410839d1bcaa1bea64dfa08e5cc9eb1cf39c9f659a1d3614b36225049878856799019229d1171ca97cdd227804ddf42dbeb263a67e27f801038d831b8e8cc17eb8621db0b1ff16ed501ecfc9fd3a2b39072e02620b4695196422e7fa6b6170d8ce16680210c106b05cc96"
      },
      "tests" : [
        {
          "tcId" : 102,
          "comment" : "edge case modular inverse",
          "flags" : [
            "ModularInverse"
          ],
          "msg" : "54657374",
          "sig" : "2b5a9e2ff5f7aa2ed6ff534908262d0ae5d070377f67704103a5a7c2418dd552578a6cf8be1cab5cf7c7b83abc916075b6080f02cb36a408",
          "result" : "valid"
        }
      ]
    },
    {
      "publicKeyDer" : "308203433082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde038201060002820101008f56eda345939656056871cf0a2ccd56aafe7a7a7d797b38bbe3390288a8a4ef0523ba0af314293405f193c56422fa4b667c2b07bb189d060dade47f809865498c81f8243037da942d6d5c35eb524395d30bcc8e337885a233a9125f747f4628f8b4536e7cb75103ba3c37b27e4182d4da8fcf0191240768f1840400c7344125890df2f77bbb914ae3a007b4d3e91fccb983dce8fb382a4449c8ae3909d37743e94ebd92e0cbde2144cb68f25c7f44b0bf1e6040a8e01ea4eb12accb1896b4c4c260f5a0b6436c220b8222a3713b9a0b6f003692e267ece6a9908b6b7b4af7094d560c0ad14c17bffcb07c50f6e33545e36cacb5b8de3ea92e21f35c30f018dc",
      "publicKeyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQzCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBgACggEBAI9W7aNFk5ZWBWhxzwoszVaq/np6fXl7OLvjOQKIqKTvBSO6CvMUKTQF\n8ZPFZCL6S2Z8Kwe7GJ0GDa3kf4CYZUmMgfgkMDfalC1tXDXrUkOV0wvMjjN4haIz\nqRJfdH9GKPi0U258t1EDujw3sn5BgtTaj88BkSQHaPGEBADHNEEliQ3y93u7kUrj\noAe00+kfzLmD3Oj7OCpESciuOQnTd0PpTr2S4MveIUTLaPJcf0Swvx5gQKjgHqTr\nEqzLGJa0xMJg9aC2Q2wiC4Iio3E7mgtvADaS4mfs5qmQi2t7SvcJTVYMCtFMF7/8\nsHxQ9uM1ReNsrLW43j6pLiHzXDDwGNw=\n-----END PUBLIC KEY-----\n",
      "sha" : "SHA-224",
      "type" : "DsaP1363Verify",
      "publicKey" : {
        "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde",
        "keySize" : 2048,
        "p" : "008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
        "q" : "00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
        "type" : "DsaPublicKey",
        "y" : "008f56eda345939656056871cf0a2ccd56aafe7a7a7d797b38bbe3390288a8a4ef0523ba0af314293405f193c56422fa4b667c2b07bb189d060dade47f809865498c81f8243037da942d6d5c35eb524395d30bcc8e337885a233a9125f747f4628f8b4536e7cb75103ba3c37b27e4182d4da8fcf0191240768f1840400c7344125890df2f77bbb914ae3a007b4d3e91fccb983dce8fb382a4449c8ae3909d37743e94ebd92e0cbde2144cb68f25c7f44b0bf1e6040a8e01ea4eb12accb1896b4c4c260f5a0b6436c220b8222a3713b9a0b6f003692e267ece6a9908b6b7b4af7094d560c0ad14c17bffcb07c50f6e33545e36cacb5b8de3ea92e21f35c30f018dc"
      },
      "tests" : [
        {
          "tcId" : 103,
          "comment" : "edge case modular inverse",
          "flags" : [
            "ModularInverse"
          ],
          "msg" : "54657374",
          "sig" : "2b5a9e2ff5f7aa2ed6ff534908262d0ae5d070377f67704103a5a7c24bdc8abf1891da33718584fc39f6cb0833535a5c72b46350412b495a",
          "result" : "valid"
        }
      ]
    },
    {
      "publicKeyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde03820105000282010066ab26e141104719da7c46e4e24331e8ace0888ef8a920803aa118c43d3a9f961a40d8d6a33babf6fe4aef2da4f016325e654d526b3b89d5c36639a1f9244ff31d917aca1e73eae4f109eabe8295e48a794178f22b1619e739460afb4bcf034190d359ecc90ac5672cb200aef4425ee9f7db71ac029a888fa33d0ac12529956b196383cbbe50ec7129614f66d347a3779f5193299a69545bfd533107a4c14a861b4b1906d46681b2127f3d6867e1612d2ef6e4d76765a6ec606e030fa1f784e65b69f62f32d8c9f182003a7bae4fbf3ab1199b7d4da8b2602e552d3a9e3ffbcd803c28088ca7390cc8eb2c9dd6aad9515663edf387e254e640e2ba318799be64",
      "publicKeyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEAZqsm4UEQRxnafEbk4kMx6KzgiI74qSCAOqEYxD06n5YaQNjWozur9v5K\n7y2k8BYyXmVNUms7idXDZjmh+SRP8x2Resoec+rk8QnqvoKV5Ip5QXjyKxYZ5zlG\nCvtLzwNBkNNZ7MkKxWcssgCu9EJe6ffbcawCmoiPoz0KwSUplWsZY4PLvlDscSlh\nT2bTR6N3n1GTKZppVFv9UzEHpMFKhhtLGQbUZoGyEn89aGfhYS0u9uTXZ2Wm7GBu\nAw+h94TmW2n2LzLYyfGCADp7rk+/OrEZm31NqLJgLlUtOp4/+82APCgIjKc5DMjr\nLJ3WqtlRVmPt84fiVOZA4roxh5m+ZA==\n-----END PUBLIC KEY-----\n",
      "sha" : "SHA-224",
      "type" : "DsaP1363Verify",
      "publicKey" : {
        "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde",
        "keySize" : 2048,
        "p" : "008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
        "q" : "00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
        "type" : "DsaPublicKey",
        "y" : "66ab26e141104719da7c46e4e24331e8ace0888ef8a920803aa118c43d3a9f961a40d8d6a33babf6fe4aef2da4f016325e654d526b3b89d5c36639a1f9244ff31d917aca1e73eae4f109eabe8295e48a794178f22b1619e739460afb4bcf034190d359ecc90ac5672cb200aef4425ee9f7db71ac029a888fa33d0ac12529956b196383cbbe50ec7129614f66d347a3779f5193299a69545bfd533107a4c14a861b4b1906d46681b2127f3d6867e1612d2ef6e4d76765a6ec606e030fa1f784e65b69f62f32d8c9f182003a7bae4fbf3ab1199b7d4da8b2602e552d3a9e3ffbcd803c28088ca7390cc8eb2c9dd6aad9515663edf387e254e640e2ba318799be64"
      },
      "tests" : [
        {
          "tcId" : 104,
          "comment" : "edge case modular inverse",
          "flags" : [
            "ModularInverse"
          ],
          "msg" : "54657374",
          "sig" : "2b5a9e2ff5f7aa2ed6ff534908262d0ae5d070377f67704103a5a7c25321c0e44a44602638fc6daef6777274e37cb9896fa9289bf1dfa485",
          "result" : "valid"
        }
      ]
    },
    {
      "publicKeyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201002b33e5c9c06f58b1689210906a24b183f77e638b405502d41e839543588496379f02ab7df9c1f2cc7df5465af46e93204957908a0ffddd9296eb12593898e95cfcebfc8fcb181e31de2b8379279df1235827ac50884a94950dceb4e25d0289ebe14aec4b9441d2895ec40d7668999c283f03cfd3a9b222828f6603e6524a0ea9eb0854b2d8f88abf93e0444564b9c9d596575afcf7b4de8cbb13021fc81dbf11e0ffbc3abb909053b8f62ca6fde65b7eb4e1b33d8a5f15ab32bd038325300e91f81810bec09d7e9fe60756a944ec2fb244c09e02e1552122614a720bde25200fbe78e75316e8166b744d29eeee40fce91da2c14b0328d4f7de2886f7bc694c69",
      "publicKeyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEAKzPlycBvWLFokhCQaiSxg/d+Y4tAVQLUHoOVQ1iEljefAqt9+cHyzH31\nRlr0bpMgSVeQig/93ZKW6xJZOJjpXPzr/I/LGB4x3iuDeSed8SNYJ6xQiEqUlQ3O\ntOJdAonr4UrsS5RB0olexA12aJmcKD8Dz9OpsiKCj2YD5lJKDqnrCFSy2PiKv5Pg\nREVkucnVllda/Pe03oy7EwIfyB2/EeD/vDq7kJBTuPYspv3mW3604bM9il8VqzK9\nA4MlMA6R+BgQvsCdfp/mB1apROwvskTAngLhVSEiYUpyC94lIA++eOdTFugWa3RN\nKe7uQPzpHaLBSwMo1PfeKIb3vGlMaQ==\n-----END PUBLIC KEY-----\n",
      "sha" : "SHA-224",
      "type" : "DsaP1363Verify",
      "publicKey" : {
        "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde",
        "keySize" : 2048,
        "p" : "008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
        "q" : "00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
        "type" : "DsaPublicKey",
        "y" : "2b33e5c9c06f58b1689210906a24b183f77e638b405502d41e839543588496379f02ab7df9c1f2cc7df5465af46e93204957908a0ffddd9296eb12593898e95cfcebfc8fcb181e31de2b8379279df1235827ac50884a94950dceb4e25d0289ebe14aec4b9441d2895ec40d7668999c283f03cfd3a9b222828f6603e6524a0ea9eb0854b2d8f88abf93e0444564b9c9d596575afcf7b4de8cbb13021fc81dbf11e0ffbc3abb909053b8f62ca6fde65b7eb4e1b33d8a5f15ab32bd038325300e91f81810bec09d7e9fe60756a944ec2fb244c09e02e1552122614a720bde25200fbe78e75316e8166b744d29eeee40fce91da2c14b0328d4f7de2886f7bc694c69"
      },
      "tests" : [
        {
          "tcId" : 105,
          "comment" : "edge case modular inverse",
          "flags" : [
            "ModularInverse"
          ],
          "msg" : "54657374",
          "sig" : "2b5a9e2ff5f7aa2ed6ff534908262d0ae5d070377f67704103a5a7c20fde9c80fc5d1c38582e38efea32111625dc74cb224d74c6847d1baa",
          "result" : "valid"
        }
      ]
    },
    {
      "publicKeyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201006d8d98285f5d7d3087b939c0e588be70d7ca2bec4be093ab3d81b67f765fe0b026c15f9019a37d27b6061708d18870450df8d9373e8a2003fd9a01b36be11d618c474b31cc26bef8917c83807cf209de187f134897bcc45a867ab1a6ff7fab7812ce61c6730e060a856686b86f4e672859e4a068b159ac3bdfdd6c52b44d2aa4d53955bcaadf955e53c22220683330aed9c49c6fe8995a91f2a82e05bd63e2e52b8524131af1ffe1279f3545bac16ce5c680ae4ed60fa966454bf80b8d03b71a399a3688e8d33cf6757fdca39140ad16f585f631c55c7e3e5d4db829b0356eb8888c90a2c2ca5ec8173a50ddd5f02137f322a339edb922de81791c83a59ac8d5",
      "publicKeyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEAbY2YKF9dfTCHuTnA5Yi+cNfKK+xL4JOrPYG2f3Zf4LAmwV+QGaN9J7YG\nFwjRiHBFDfjZNz6KIAP9mgGza+EdYYxHSzHMJr74kXyDgHzyCd4YfxNIl7zEWoZ6\nsab/f6t4Es5hxnMOBgqFZoa4b05nKFnkoGixWaw7391sUrRNKqTVOVW8qt+VXlPC\nIiBoMzCu2cScb+iZWpHyqC4FvWPi5SuFJBMa8f/hJ581RbrBbOXGgK5O1g+pZkVL\n+AuNA7caOZo2iOjTPPZ1f9yjkUCtFvWF9jHFXH4+XU24KbA1briIjJCiwspeyBc6\nUN3V8CE38yKjOe25It6BeRyDpZrI1Q==\n-----END PUBLIC KEY-----\n",
      "sha" : "SHA-224",
      "type" : "DsaP1363Verify",
      "publicKey" : {
        "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde",
        "keySize" : 2048,
        "p" : "008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
        "q" : "00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
        "type" : "DsaPublicKey",
        "y" : "6d8d98285f5d7d3087b939c0e588be70d7ca2bec4be093ab3d81b67f765fe0b026c15f9019a37d27b6061708d18870450df8d9373e8a2003fd9a01b36be11d618c474b31cc26bef8917c83807cf209de187f134897bcc45a867ab1a6ff7fab7812ce61c6730e060a856686b86f4e672859e4a068b159ac3bdfdd6c52b44d2aa4d53955bcaadf955e53c22220683330aed9c49c6fe8995a91f2a82e05bd63e2e52b8524131af1ffe1279f3545bac16ce5c680ae4ed60fa966454bf80b8d03b71a399a3688e8d33cf6757fdca39140ad16f585f631c55c7e3e5d4db829b0356eb8888c90a2c2ca5ec8173a50ddd5f02137f322a339edb922de81791c83a59ac8d5"
      },
      "tests" : [
        {
          "tcId" : 106,
          "comment" : "edge case modular inverse",
          "flags" : [
            "ModularInverse"
          ],
          "msg" : "54657374",
          "sig" : "2b5a9e2ff5f7aa2ed6ff534908262d0ae5d070377f67704103a5a7c256e05d30ffe04131beb00f43940669e33012e8ca991160d10df0b9e4",
          "result" : "valid"
        }
      ]
    },
    {
      "publicKeyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201003fd85690a8a0e6cbdaccc1aec1ff25ea9eb8e36120512646ff78369480fb7e928cdc4aa9c6cb947b61767a51ad17d5e99186fc5d60ed225a5326622d8b1e1060fd3b89a390445aa7d60cf72cf12fac5b02870a2247282c081270a98fb023dc2ab6d1c9ef15b835257a58775b9e0105b8c38daef8a39b3948d90ab869cff2c6fbd6fa2a1d34367f43c45a386905ce4cf0cfb7afdbd831358ce958437b417b320f40dc7968acb99c21cb75d977b63b351c04500a7d2395696590b0c51ada3fd15a48d1f23097384d54e8c99dc95cfb800f9b08d9336c4d577bdfc7973365de58ee3298d66727aaa6d8364aa9d47413d12c2ba72912472ed8b023d141cede360742",
      "publicKeyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEAP9hWkKig5svazMGuwf8l6p6442EgUSZG/3g2lID7fpKM3EqpxsuUe2F2\nelGtF9XpkYb8XWDtIlpTJmItix4QYP07iaOQRFqn1gz3LPEvrFsChwoiRygsCBJw\nqY+wI9wqttHJ7xW4NSV6WHdbngEFuMONrvijmzlI2Qq4ac/yxvvW+iodNDZ/Q8Ra\nOGkFzkzwz7ev29gxNYzpWEN7QXsyD0DceWisuZwhy3XZd7Y7NRwEUAp9I5VpZZCw\nxRraP9FaSNHyMJc4TVToyZ3JXPuAD5sI2TNsTVd738eXM2XeWO4ymNZnJ6qm2DZK\nqdR0E9EsK6cpEkcu2LAj0UHO3jYHQg==\n-----END PUBLIC KEY-----\n",
      "sha" : "SHA-224",
      "type" : "DsaP1363Verify",
      "publicKey" : {
        "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde",
        "keySize" : 2048,
        "p" : "008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
        "q" : "00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
        "type" : "DsaPublicKey",
        "y" : "3fd85690a8a0e6cbdaccc1aec1ff25ea9eb8e36120512646ff78369480fb7e928cdc4aa9c6cb947b61767a51ad17d5e99186fc5d60ed225a5326622d8b1e1060fd3b89a390445aa7d60cf72cf12fac5b02870a2247282c081270a98fb023dc2ab6d1c9ef15b835257a58775b9e0105b8c38daef8a39b3948d90ab869cff2c6fbd6fa2a1d34367f43c45a386905ce4cf0cfb7afdbd831358ce958437b417b320f40dc7968acb99c21cb75d977b63b351c04500a7d2395696590b0c51ada3fd15a48d1f23097384d54e8c99dc95cfb800f9b08d9336c4d577bdfc7973365de58ee3298d66727aaa6d8364aa9d47413d12c2ba72912472ed8b023d141cede360742"
      },
      "tests" : [
        {
          "tcId" : 107,
          "comment" : "edge case modular inverse",
          "flags" : [
            "ModularInverse"
          ],
          "msg" : "54657374",
          "sig" : "2b5a9e2ff5f7aa2ed6ff534908262d0ae5d070377f67704103a5a7c210f3a203f84a198b825d54638691918648e63d930c55342ec2920d26",
          "result" : "valid"
        }
      ]
    },
    {
      "publicKeyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201005efa7fcf46f8a9f8daaa52d3146ee3d6e397737d07c2138f6d9ce215fa0e34b024eb34f551cb1ed365cca49b3b2dfeb601343ff9b8a7a2346ae4145692b629cd0dcf1b28590913323f5f6817734755679220c31a896c081be60373cd660b25ee462d6b436b88b2cc3607ffa008426548698e2d01dea91f55146a28a34955193be16714c1c9c585e23ec03bf95c1ed12845efd875c777fceb55f9cffa933cb7d2c27a69c8990188dc2f65fea5f15214c18afe68a2f5f952fc24ebdef62e80a7fb1cb90715d826771cf96af27d2f76ad816c65e030b32b7880f4f20e4817e1dc132234d0ec465f175fb7380b4eb1d5d41be3e9990bbb73b6c0a65e8a0a407d05e2",
      "publicKeyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEAXvp/z0b4qfjaqlLTFG7j1uOXc30HwhOPbZziFfoONLAk6zT1Ucse02XM\npJs7Lf62ATQ/+binojRq5BRWkrYpzQ3PGyhZCRMyP19oF3NHVWeSIMMaiWwIG+YD\nc81mCyXuRi1rQ2uIssw2B/+gCEJlSGmOLQHeqR9VFGooo0lVGTvhZxTBycWF4j7A\nO/lcHtEoRe/Ydcd3/OtV+c/6kzy30sJ6aciZAYjcL2X+pfFSFMGK/mii9flS/CTr\n3vYugKf7HLkHFdgmdxz5avJ9L3atgWxl4DCzK3iA9PIOSBfh3BMiNNDsRl8XX7c4\nC06x1dQb4+mZC7tztsCmXooKQH0F4g==\n-----END PUBLIC KEY-----\n",
      "sha" : "SHA-224",
      "type" : "DsaP1363Verify",
      "publicKey" : {
        "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde",
        "keySize" : 2048,
        "p" : "008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
        "q" : "00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
        "type" : "DsaPublicKey",
        "y" : "5efa7fcf46f8a9f8daaa52d3146ee3d6e397737d07c2138f6d9ce215fa0e34b024eb34f551cb1ed365cca49b3b2dfeb601343ff9b8a7a2346ae4145692b629cd0dcf1b28590913323f5f6817734755679220c31a896c081be60373cd660b25ee462d6b436b88b2cc3607ffa008426548698e2d01dea91f55146a28a34955193be16714c1c9c585e23ec03bf95c1ed12845efd875c777fceb55f9cffa933cb7d2c27a69c8990188dc2f65fea5f15214c18afe68a2f5f952fc24ebdef62e80a7fb1cb90715d826771cf96af27d2f76ad816c65e030b32b7880f4f20e4817e1dc132234d0ec465f175fb7380b4eb1d5d41be3e9990bbb73b6c0a65e8a0a407d05e2"
      },
      "tests" : [
        {
          "tcId" : 108,
          "comment" : "edge case modular inverse",
          "flags" : [
            "ModularInverse"
          ],
          "msg" : "54657374",
          "sig" : "2b5a9e2ff5f7aa2ed6ff534908262d0ae5d070377f67704103a5a7c232c1aff9d8235c08fbce8de2ec68a0119b9a82de071116a2e801f1e1",
          "result" : "valid"
        }
      ]
    },
    {
      "publicKeyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201000c67d5394279351b9bca349a9caa37cb4ceb2b176a615e12cdab6ff8cd97313401f73eb6a87903aba9d108c450a045bf92b6f001e6708f8e33e7076c83d212449b1d9f626a045a39bbede9b7b393902713773a9015aeef784e640d348778627a9c45915f9f04a65f2b2951eb6c5734f90c45181cad4e07e60724f862be69191117ea9e50e339054cac381afe1986bc4493422569c0375ef92d0d5d32ccdebbfa03f139657d875049ac51f5bea8669e58f211979797ee363f9d4a2d3b96b3cbba7f71a692daa46194f67f28e4ade262c340c182aa8803dc71b67f2ae29fabf2600b4acad604a2cfe530aebcb250d1e43f4a4678b9a16785e7974de238b7c2c685",
      "publicKeyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEADGfVOUJ5NRubyjSanKo3y0zrKxdqYV4Szatv+M2XMTQB9z62qHkDq6nR\nCMRQoEW/krbwAeZwj44z5wdsg9ISRJsdn2JqBFo5u+3pt7OTkCcTdzqQFa7veE5k\nDTSHeGJ6nEWRX58Epl8rKVHrbFc0+QxFGBytTgfmByT4Yr5pGREX6p5Q4zkFTKw4\nGv4ZhrxEk0IlacA3XvktDV0yzN67+gPxOWV9h1BJrFH1vqhmnljyEZeXl+42P51K\nLTuWs8u6f3GmktqkYZT2fyjkreJiw0DBgqqIA9xxtn8q4p+r8mALSsrWBKLP5TCu\nvLJQ0eQ/SkZ4uaFnheeXTeI4t8LGhQ==\n-----END PUBLIC KEY-----\n",
      "sha" : "SHA-224",
      "type" : "DsaP1363Verify",
      "publicKey" : {
        "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde",
        "keySize" : 2048,
        "p" : "008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
        "q" : "00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
        "type" : "DsaPublicKey",
        "y" : "0c67d5394279351b9bca349a9caa37cb4ceb2b176a615e12cdab6ff8cd97313401f73eb6a87903aba9d108c450a045bf92b6f001e6708f8e33e7076c83d212449b1d9f626a045a39bbede9b7b393902713773a9015aeef784e640d348778627a9c45915f9f04a65f2b2951eb6c5734f90c45181cad4e07e60724f862be69191117ea9e50e339054cac381afe1986bc4493422569c0375ef92d0d5d32ccdebbfa03f139657d875049ac51f5bea8669e58f211979797ee363f9d4a2d3b96b3cbba7f71a692daa46194f67f28e4ade262c340c182aa8803dc71b67f2ae29fabf2600b4acad604a2cfe530aebcb250d1e43f4a4678b9a16785e7974de238b7c2c685"
      },
      "tests" : [
        {
          "tcId" : 109,
          "comment" : "edge case modular inverse",
          "flags" : [
            "ModularInverse"
          ],
          "msg" : "54657374",
          "sig" : "2b5a9e2ff5f7aa2ed6ff534908262d0ae5d070377f67704103a5a7c215a5aa95f7e585394b00b8482954ad1da3dda57a07bfe3295f6f658a",
          "result" : "valid"
        }
      ]
    }
  ]
}