@@ -132,6 +132,96 @@ public void testcreateProof() {
132
132
createAndVerifyProof ();
133
133
}
134
134
135
+ @ Test
136
+ public void testcreateProofWithoutBWT () {
137
+
138
+ endEpochBlockHash = new byte [] {
139
+ 61 , -127 , 80 , -103 , 117 , -119 , -44 , -90 , 52 , -56 , 79 , -18 , -64 , -92 , -42 , -61 , -89 , 8 , -107 , 114 , -6 , -58 ,
140
+ 87 , 123 , 54 , 3 , 100 , 121 , -26 , -80 , -122 , -90
141
+ };
142
+
143
+ prevEndEpochBlockHash = new byte [] {
144
+ 95 , 99 , 89 , 78 , -113 , 46 , 99 , -61 , -11 , -11 , -24 , 104 , -51 , -109 , -48 , 11 , 119 , 94 , 104 , -104 , 38 , -84 ,
145
+ 126 , 22 , -119 , -96 , -57 , -67 , 38 , 109 , 73 , -22
146
+ };
147
+
148
+ byte [][] secretKeyList = {
149
+ {
150
+ -63 , 75 , 3 , -102 , -107 , 40 , -92 , 126 , -93 , 78 , -33 , -110 , 98 , -23 , 115 , -111 , 39 , -37 , -88 , 56 , -25 , 44 ,
151
+ -59 , 15 , 106 , -95 , 105 , 73 , 14 , 38 , 81 , -94 , -36 , -41 , 57 , -7 , -104 , 96 , -38 , -30 , 15 , -61 , 36 , -109 ,
152
+ -74 , -38 , 70 , -97 , 67 , -19 , 74 , -122 , 98 , -95 , 27 , -33 , -44 , 83 , -20 , 12 , -44 , -107 , -81 , -7 , 24 , -73 ,
153
+ 118 , 70 , 5 , -41 , 13 , 109 , -106 , -8 , 39 , 79 , 24 , 94 , -5 , -61 , 47 , 124 , -107 , -99 , -25 , -81 , -3 , -104 ,
154
+ -78 , -76 , 62 , -45 , -66 , 74 , 0 , 0
155
+ },
156
+ {
157
+ 4 , 80 , -48 , 29 , 28 , 54 , -89 , 82 , 40 , -76 , -78 , -111 , 30 , 51 , 82 , -64 , -97 , -33 , 46 , 91 , 25 , -20 , 72 ,
158
+ 117 , 84 , 38 , -53 , 40 , 26 , 125 , 77 , -22 , -16 , -83 , -23 , 0 , 52 , -27 , 57 , -17 , 83 , -60 , 59 , 125 , 97 , 94 ,
159
+ -118 , -10 , 33 , -5 , -79 , 15 , 105 , -119 , -99 , 125 , 107 , -123 , -27 , 89 , -56 , -99 , -114 , 62 , 31 , 82 , -80 ,
160
+ 108 , 104 , -114 , -60 , -70 , 34 , 118 , 97 , -90 , 15 , -92 , 2 , -65 , -82 , 78 , 119 , -119 , 107 , 103 , 3 , 115 , 15 ,
161
+ -76 , -30 , -98 , -91 , 14 , 1 , 0
162
+ },
163
+ {
164
+ 16 , -108 , 42 , -111 , 35 , -85 , 34 , -91 , -83 , -68 , -36 , 89 , -39 , 2 , -67 , -15 , -48 , -64 , -109 , 2 , -22 , 87 ,
165
+ 127 , 16 , 72 , -116 , -39 , -13 , 76 , -100 , 83 , -103 , -32 , 78 , 6 , -13 , -127 , -2 , -10 , -33 , -9 , 32 , 67 , 17 ,
166
+ 12 , -77 , 70 , 112 , 101 , -28 , 76 , 42 , -93 , 31 , -108 , -42 , -26 , -45 , 96 , -45 , 119 , -56 , 118 , 68 , -61 , -27 ,
167
+ 94 , 22 , -30 , -120 , -111 , -115 , -99 , -86 , 97 , -98 , -49 , 23 , 8 , -9 , 88 , 50 , -46 , 48 , -83 , 65 , -88 , 120 ,
168
+ -25 , -92 , 76 , -112 , -76 , 82 , 1 , 0
169
+ }
170
+ };
171
+
172
+ byte [][] serializedSignatureList = {
173
+ {
174
+ 25 , -17 , 9 , 92 , -67 , -25 , 113 , 99 , -75 , 110 , -63 , -63 , 23 , -107 , -107 , 8 , 83 , -94 , 43 , 55 , 96 , 71 ,
175
+ -7 , 37 , -103 , -28 , -74 , 125 , -115 , 125 , 66 , 33 , -62 , 54 , 34 , -6 , 38 , 26 , -86 , 62 , 37 , 26 , -90 , -46 , -21 ,
176
+ -47 , 101 , -105 , 48 , 62 , 23 , -64 , -49 , 20 , -45 , 41 , -116 , 21 , -112 , -79 , -5 , -56 , -4 , -33 , -65 , 76 , -31 ,
177
+ 89 , 15 , 3 , -41 , -88 , 48 , -105 , -98 , -115 , -49 , -23 , 98 , -69 , 105 , 2 , 13 , 76 , -107 , 88 , -61 , 15 , -122 ,
178
+ 73 , 19 , -117 , -124 , -16 , 0 , 0 , 124 , -66 , 28 , -41 , -12 , -12 , 108 , 19 , 88 , 107 , 106 , -5 , 52 , 122 , 101 ,
179
+ -59 , -73 , -99 , 24 , 43 , -81 , -93 , 72 , -83 , -126 , 24 , 102 , -125 , -115 , -27 , 75 , 92 , 17 , -61 , -14 , -58 , 46 ,
180
+ -104 , 101 , 94 , -124 , 117 , 1 , -66 , 48 , -127 , -103 , 32 , -3 , -81 , 115 , -21 , 67 , 126 , 36 , -74 , 56 , 113 , 31 ,
181
+ -123 , 30 , 8 , -82 , -115 , 100 , -89 , 93 , -105 , -35 , -82 , 98 , 34 , 58 , 77 , 79 , 56 , 94 , -111 , -124 , 17 , 4 ,
182
+ -13 , -108 , -121 , 30 , -89 , 96 , 43 , 67 , -55 , 38 , -61 , -123 , -119 , 0 , 0
183
+ },
184
+ {
185
+ -72 , 57 , 95 , -103 , 95 , 18 , -39 , -31 , 116 , 33 , -76 , -46 , -121 , 79 , -123 , 45 , 119 , 104 , 1 , -50 , -95 , 14 ,
186
+ -93 , 41 , -63 , 82 , -61 , 22 , 65 , -103 , 115 , -106 , 69 , -4 , -40 , -80 , 45 , -66 , 105 , 30 , -55 , 9 , -86 , -60 ,
187
+ 48 , 100 , -81 , -1 , 45 , 111 , -55 , -93 , 5 , 33 , -101 , -56 , 56 , 10 , 110 , 22 , -66 , -57 , 21 , -102 , -44 , 54 ,
188
+ -119 , 121 , -32 , 51 , -4 , 70 , -74 , -26 , 91 , -20 , 8 , -43 , -5 , 75 , -73 , 12 , -43 , 46 , -4 , 98 , 49 , -20 , 97 , 8 ,
189
+ 87 , 53 , -65 , 119 , 0 , 0 , -16 , 35 , -123 , 124 , -6 , 10 , 61 , -27 , 123 , 4 , -66 , 71 , -92 , -125 , 108 , -76 , 104 ,
190
+ 79 , -74 , 42 , 125 , -59 , 89 , 126 , 124 , -21 , 67 , -56 , 22 , -109 , -39 , -30 , 4 , 53 , 5 , 111 , -96 , 82 , 123 , 77 ,
191
+ 86 , 103 , -75 , 28 , -79 , -98 , 108 , -73 , 55 , 117 , -22 , -126 , -7 , 103 , -10 , 28 , -73 , 14 , -37 , -47 , 56 , -49 ,
192
+ -34 , 52 , -117 , 18 , -99 , -49 , -73 , -61 , -114 , -59 , 43 , -28 , -30 , 39 , 29 , -111 , -98 , -119 , -40 , 15 , -75 ,
193
+ 24 , 35 , 118 , 38 , 85 , -53 , 8 , 70 , 80 , 74 , -117 , 0 , 0
194
+ }
195
+ };
196
+
197
+ // Deserialize secret keys and get the corresponding public keys
198
+ for (int i = 0 ; i <keyCount ; i ++) {
199
+
200
+ SchnorrSecretKey sk = SchnorrSecretKey .deserialize (secretKeyList [i ]);
201
+ assertNotNull ("sk" + i + "deserialization must not fail" , sk );
202
+
203
+ SchnorrPublicKey pk = new SchnorrKeyPair (sk ).getPublicKey ();
204
+ assertTrue ("Public key verification failed." , pk .verifyKey ());
205
+
206
+ publicKeyList .add (pk );
207
+ sk .freeSecretKey ();
208
+ }
209
+
210
+ // Deserialize Schnorr Signatures
211
+ for (int i = 0 ; i <keyCount ; i ++) {
212
+ if (i < threshold ) {
213
+ SchnorrSignature sig = SchnorrSignature .deserialize (serializedSignatureList [i ]);
214
+ assertNotNull ("sig" + i + "deserialization must not fail" , sig );
215
+ signatureList .add (sig );
216
+ } else {
217
+ SchnorrSignature sig = new SchnorrSignature ();
218
+ signatureList .add (sig );
219
+ }
220
+ }
221
+
222
+ createAndVerifyProof ();
223
+ }
224
+
135
225
@ Test
136
226
public void testCreateRandomProof (){
137
227
Random r = new Random ();
@@ -140,6 +230,7 @@ public void testCreateRandomProof(){
140
230
141
231
r .nextBytes (prevEndEpochBlockHash );
142
232
233
+ backwardTransferCout = r .nextInt (backwardTransferCout + 1 );
143
234
// Create dummy Backward Transfers
144
235
for (int i = 0 ; i < backwardTransferCout ; i ++) {
145
236
0 commit comments