1+ {
2+ "description" : [
3+ " Test vectors for coordinator_step1(pmsgs1, params)." ,
4+ " Aggregates participant round-1 messages and produces the coordinator's broadcast message (cmsg1)." ,
5+ " " ,
6+ " Assemble the pmsgs1 list from pmsg1_pool using pmsg1_indices:" ,
7+ " pmsgs1 = [pmsg1_pool[i] for i in pmsg1_indices]" ,
8+ " Pool entries at indices 0..n-1 are well-formed messages; higher indices may be malformed." ,
9+ " " ,
10+ " For each valid test case:" ,
11+ " Call coordinator_step1(pmsgs1, params)." ,
12+ " Verify the returned cmsg1 equals expected_cmsg1." ,
13+ " " ,
14+ " For each error test case:" ,
15+ " Call coordinator_step1(pmsgs1, params)." ,
16+ " Verify it raises an exception matching expected_error." ,
17+ " Error objects may include 'participant' (index of the faulty party)."
18+ ],
19+ "total_tests" : 5 ,
20+ "pmsg1_pool" : [
21+ " 036BEE122EF60CBBB5DFC3572FE6D3A9AC0B35BB427E250F42C38F7C8229889CAB03E99E34AA2A0646563DF90F2407D0D0E345EAE2CF7F07F9F6561302F724EFA74708AE5A94BBDD3FC53924623E0D6764E089D679048F699118D7807884AD13CF484866D8210BCB76DAEB103AD6BA1CED0DBFE78F1E8A44F26FC69D5464BF23324D0260537C74BC2B79676CDE217FFA7D48236D4A309954153DEB39A31AADF6B369CCC6C144287B356EF70378A7F1054FF00354A01352587DC076554A82CD324B66A17006774A86C116C19F2C021793EAB87DF19EE3A978C60F757BA192DA23BAE5F56A3612D0720F35828FCFBA9DFEA790883B185A8B75A27449AF23169C919B47C7" ,
22+ " 037C42E200B601CD439CDEAA12FB2BD8949C566E59096AA9207165C6FF0602B1D6020584BF7D8C710F6A4988C6B16848C4BBA45A819107B2C49190E2D6FB666011AE53EF7BE0C965DBBA2418E1FAA16FB9CA5FC990337E0E1858F263A8B88AE081D053CB4BCA7D90B63225ABA7C40F4B86B1D2E91D0EEFC52657B70695BE96FEEF37022E7B7DD7A0B4A72097703E60648B615A4DDDF2D715A5E0992379537A44C13AD17A5C832E385A79C54BB5E400CF3FA2DF8A747E7F362AA3345CB0097DAF2C715FAA97DCA9CF742C4A54D5805B0705378C68129809D8D22A753A3F8F92FE61D7D14D27B6E1FE9BCEE26C96CD0B2CB18AE6A5D80C5792EA1FA2F09011B3F2596EE7" ,
23+ " 026F714517277FB154C47E487FBE415C25C0D0F79466F1479B31A8D78319978D8A0203E26DE13A90DC4465BF155DCE35DFED355FE1902F39E9B4139F038F12C04DDF68EFCB547A2ED10F9D35C10E8FFE3A5A7F049FF7FFBF5F7400586830FBAC2B6908C2742DE20520065E89CF8CF7DBD279063967C0E1E77A97297BFDDF28B58C1A03D1FD5A186167E5DE84B11C0F56E1FC6808D2DB35E6E3587243CF59DE605CB806A124DC237A739AD28D8624726DD0277B3B1D7D030019F0FBBA9EE12D6007FEE360BC33A121886C897AC86F4F99CD493743B05216D0408C88A32D90A109837B6547CAC26451623B282A4FC67A2E454E27C7437BA3F620C687F061E9B264652DD6" ,
24+ " 037C42E200B601CD439CDEAA12FB2BD8949C566E59096AA9207165C6FF0602B1D6020584BF7D8C710F6A4988C6B16848C4BBA45A819107B2C49190E2D6FB666011AE53EF7BE0C965DBBA2418E1FAA16FB9CA5FC990337E0E1858F263A8B88AE081D053CB4BCA7D90B63225ABA7C40F4B86B1D2E91D0EEFC52657B70695BE96FEEF37022E7B7DD7A0B4A72097703E60648B615A4DDDF2D715A5E0992379537A44C13AD17A5C832E385A79C54BB5E400CF3FA2DF8A747E7F362AA3345CB0097DAF2C715FAA97DCA9CF742C4A54D5805B0705378C68129809D8D22A753A3F8F92FE61D7D1"
25+ ],
26+ "valid_test_cases" : [
27+ {
28+ "tc_id" : 1 ,
29+ "pmsg1_indices" : [
30+ 0 ,
31+ 1 ,
32+ 2
33+ ],
34+ "params" : {
35+ "hostpubkeys" : [
36+ " 03AED316469060698D774150EFD7F8F406A2BAB516DD7D22CB258323C59C6417F3" ,
37+ " 03AEB5AE20783D4858F6767747963F144C7DB8ABA328625CC8A87F7676D8CDEEE7" ,
38+ " 021A48BBCCAC751AE9EC1EA7A7F8D421D5FD60AAB44E6D2F37B31873098A77B7A3"
39+ ],
40+ "t" : 2
41+ },
42+ "expected_cmsg1": "036BEE122EF60CBBB5DFC3572FE6D3A9AC0B35BB427E250F42C38F7C8229889CAB037C42E200B601CD439CDEAA12FB2BD8949C566E59096AA9207165C6FF0602B1D6026F714517277FB154C47E487FBE415C25C0D0F79466F1479B31A8D78319978D8A03B9C3F15E5C0E086EDE931D69BABD36167BE6CCA8705378F8849A4F00EDA2941308AE5A94BBDD3FC53924623E0D6764E089D679048F699118D7807884AD13CF484866D8210BCB76DAEB103AD6BA1CED0DBFE78F1E8A44F26FC69D5464BF23324D53EF7BE0C965DBBA2418E1FAA16FB9CA5FC990337E0E1858F263A8B88AE081D053CB4BCA7D90B63225ABA7C40F4B86B1D2E91D0EEFC52657B70695BE96FEEF3768EFCB547A2ED10F9D35C10E8FFE3A5A7F049FF7FFBF5F7400586830FBAC2B6908C2742DE20520065E89CF8CF7DBD279063967C0E1E77A97297BFDDF28B58C1A0260537C74BC2B79676CDE217FFA7D48236D4A309954153DEB39A31AADF6B369CC022E7B7DD7A0B4A72097703E60648B615A4DDDF2D715A5E0992379537A44C13AD103D1FD5A186167E5DE84B11C0F56E1FC6808D2DB35E6E3587243CF59DE605CB806E242A37A2E03838EDCB4B064425FBA5F5F8331EDDF79B46AACC70EEB714995A27B5A879577BDAF956EC9F1C234BD3942E2B2F0E372902637993C54815B69F7EAFF288C16C20D3F8D26B64E23599E6996A833E286FEAD5A7490151202E859E484",
43+ "comment" : " valid coordinator step1"
44+ }
45+ ],
46+ "error_test_cases" : [
47+ {
48+ "tc_id" : 2 ,
49+ "pmsg1_indices" : [
50+ 0 ,
51+ 1 ,
52+ 2
53+ ],
54+ "params" : {
55+ "hostpubkeys" : [
56+ " 03AED316469060698D774150EFD7F8F406A2BAB516DD7D22CB258323C59C6417F3" ,
57+ " 03AEB5AE20783D4858F6767747963F144C7DB8ABA328625CC8A87F7676D8CDEEE7" ,
58+ " 021A48BBCCAC751AE9EC1EA7A7F8D421D5FD60AAB44E6D2F37B31873098A77B7A3"
59+ ],
60+ "t" : 0
61+ },
62+ "expected_error" : {
63+ "type" : " ThresholdOrCountError"
64+ },
65+ "comment" : " invalid threshold value"
66+ },
67+ {
68+ "tc_id" : 3 ,
69+ "pmsg1_indices" : [
70+ 0 ,
71+ 1 ,
72+ 2
73+ ],
74+ "params" : {
75+ "hostpubkeys" : [
76+ " 03AED316469060698D774150EFD7F8F406A2BAB516DD7D22CB258323C59C6417F3" ,
77+ " 030000000000000000000000000000000000000000000000000000000000000005" ,
78+ " 021A48BBCCAC751AE9EC1EA7A7F8D421D5FD60AAB44E6D2F37B31873098A77B7A3"
79+ ],
80+ "t" : 2
81+ },
82+ "expected_error" : {
83+ "type" : " InvalidHostPubkeyError" ,
84+ "participant" : 1
85+ },
86+ "comment" : " hostpubkeys list contains an invalid value"
87+ },
88+ {
89+ "tc_id" : 4 ,
90+ "pmsg1_indices" : [
91+ 0 ,
92+ 1 ,
93+ 2
94+ ],
95+ "params" : {
96+ "hostpubkeys" : [
97+ " 03AED316469060698D774150EFD7F8F406A2BAB516DD7D22CB258323C59C6417F3" ,
98+ " 03AEB5AE20783D4858F6767747963F144C7DB8ABA328625CC8A87F7676D8CDEEE7" ,
99+ " 021A48BBCCAC751AE9EC1EA7A7F8D421D5FD60AAB44E6D2F37B31873098A77B7A3" ,
100+ " 03AEB5AE20783D4858F6767747963F144C7DB8ABA328625CC8A87F7676D8CDEEE7"
101+ ],
102+ "t" : 2
103+ },
104+ "expected_error" : {
105+ "type" : " DuplicateHostPubkeyError" ,
106+ "participant1" : 1 ,
107+ "participant2" : 3
108+ },
109+ "comment" : " hostpubkeys list contains duplicate values"
110+ },
111+ {
112+ "tc_id" : 5 ,
113+ "pmsg1_indices" : [
114+ 0 ,
115+ 3 ,
116+ 2
117+ ],
118+ "params" : {
119+ "hostpubkeys" : [
120+ " 03AED316469060698D774150EFD7F8F406A2BAB516DD7D22CB258323C59C6417F3" ,
121+ " 03AEB5AE20783D4858F6767747963F144C7DB8ABA328625CC8A87F7676D8CDEEE7" ,
122+ " 021A48BBCCAC751AE9EC1EA7A7F8D421D5FD60AAB44E6D2F37B31873098A77B7A3"
123+ ],
124+ "t" : 2
125+ },
126+ "expected_error" : {
127+ "type" : " FaultyParticipantError" ,
128+ "participant" : 1 ,
129+ "message" : " missing encrypted secret shares"
130+ },
131+ "comment" : " participant (index 1) message has an enc_shares list of invalid length"
132+ }
133+ ]
134+ }
0 commit comments