11use super :: PowEngine ;
22use byteorder:: { ByteOrder , LittleEndian } ;
33use ckb_core:: header:: BlockNumber ;
4- use hash:: blake2b ;
4+ use hash:: blake2b_256 ;
55use serde:: { de, Deserialize } ;
66use serde_derive:: Deserialize ;
77use std:: collections:: HashMap ;
@@ -136,7 +136,7 @@ impl CuckooSip {
136136}
137137
138138fn message_to_keys ( message : & [ u8 ] ) -> [ u64 ; 4 ] {
139- let result = blake2b ( message) ;
139+ let result = blake2b_256 ( message) ;
140140 [
141141 LittleEndian :: read_u64 ( & result[ 0 ..8 ] ) . to_le ( ) ,
142142 LittleEndian :: read_u64 ( & result[ 8 ..16 ] ) . to_le ( ) ,
@@ -304,7 +304,7 @@ mod test {
304304 use proptest:: { collection:: size_range, prelude:: * } ;
305305
306306 fn _cuckoo_solve ( message : & [ u8 ] ) -> Result < ( ) , TestCaseError > {
307- let cuckoo = Cuckoo :: new ( 3 , 6 ) ;
307+ let cuckoo = Cuckoo :: new ( 6 , 8 ) ;
308308 if let Some ( proof) = cuckoo. solve ( message) {
309309 prop_assert ! ( cuckoo. verify( message, & proof) ) ;
310310 }
@@ -318,44 +318,50 @@ mod test {
318318 }
319319 }
320320
321- const TESTSET : [ ( [ u8 ; 80 ] , [ u32 ; 6 ] ) ; 3 ] = [
321+ const TESTSET : [ ( [ u8 ; 80 ] , [ u32 ; 8 ] ) ; 3 ] = [
322322 (
323323 [
324- 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
325- 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
326- 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x1c , 0 , 0 , 0 ,
324+ 238 , 237 , 143 , 251 , 211 , 26 , 16 , 237 , 158 , 89 , 77 , 62 , 49 , 241 , 85 , 233 , 49 , 77 ,
325+ 230 , 148 , 177 , 49 , 129 , 38 , 152 , 148 , 40 , 170 , 1 , 115 , 145 , 191 , 44 , 10 , 206 , 23 ,
326+ 226 , 132 , 186 , 196 , 204 , 205 , 133 , 173 , 209 , 20 , 116 , 16 , 159 , 161 , 117 , 167 , 151 ,
327+ 171 , 246 , 181 , 209 , 140 , 189 , 163 , 206 , 155 , 209 , 157 , 110 , 2 , 79 , 249 , 34 , 228 ,
328+ 252 , 245 , 141 , 27 , 9 , 156 , 85 , 58 , 121 , 46 ,
327329 ] ,
328- [ 0 , 1 , 2 , 4 , 5 , 6 ] ,
330+ [ 1 , 12 , 23 , 27 , 31 , 48 , 50 , 60 ] ,
329331 ) ,
330332 (
331333 [
332- 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
333- 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
334- 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0x36 , 0 , 0 , 0 ,
334+ 146 , 101 , 131 , 178 , 127 , 39 , 4 , 255 , 226 , 74 , 32 , 146 , 158 , 0 , 206 , 120 , 198 , 96 ,
335+ 227 , 140 , 133 , 121 , 248 , 27 , 69 , 136 , 108 , 226 , 11 , 47 , 250 , 27 , 3 , 94 , 249 , 46 ,
336+ 158 , 71 , 83 , 205 , 196 , 206 , 65 , 31 , 158 , 62 , 7 , 45 , 235 , 234 , 165 , 137 , 253 , 210 ,
337+ 15 , 224 , 232 , 233 , 116 , 214 , 231 , 234 , 47 , 3 , 64 , 250 , 246 , 80 , 161 , 51 , 61 , 153 ,
338+ 217 , 101 , 82 , 189 , 62 , 247 , 194 , 3 ,
335339 ] ,
336- [ 0 , 1 , 2 , 3 , 4 , 7 ] ,
340+ [ 16 , 26 , 29 , 33 , 39 , 43 , 44 , 54 ] ,
337341 ) ,
338342 (
339343 [
340- 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
341- 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
342- 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0xf6 , 0 , 0 , 0 ,
344+ 24 , 75 , 179 , 121 , 98 , 241 , 250 , 124 , 100 , 197 , 125 , 237 , 29 , 128 , 222 , 12 , 134 , 5 ,
345+ 241 , 148 , 87 , 86 , 159 , 53 , 217 , 6 , 202 , 87 , 71 , 169 , 8 , 6 , 202 , 47 , 50 , 214 , 18 ,
346+ 68 , 84 , 248 , 105 , 201 , 162 , 182 , 95 , 189 , 145 , 108 , 234 , 173 , 81 , 191 , 109 , 56 ,
347+ 192 , 59 , 176 , 113 , 85 , 75 , 254 , 237 , 161 , 177 , 189 , 22 , 219 , 131 , 24 , 67 , 96 , 12 ,
348+ 22 , 192 , 108 , 1 , 189 , 243 , 22 , 31 ,
343349 ] ,
344- [ 0 , 1 , 2 , 4 , 5 , 7 ] ,
350+ [ 1 , 15 , 20 , 22 , 39 , 41 , 52 , 56 ] ,
345351 ) ,
346352 ] ;
347353
348354 #[ test]
349355 fn solve_cuckoo ( ) {
350- let cuckoo = Cuckoo :: new ( 3 , 6 ) ;
356+ let cuckoo = Cuckoo :: new ( 6 , 8 ) ;
351357 for ( message, proof) in TESTSET . iter ( ) {
352358 assert_eq ! ( cuckoo. solve( message) . unwrap( ) , proof) ;
353359 }
354360 }
355361
356362 #[ test]
357363 fn verify_cuckoo ( ) {
358- let cuckoo = Cuckoo :: new ( 3 , 6 ) ;
364+ let cuckoo = Cuckoo :: new ( 6 , 8 ) ;
359365 for ( message, proof) in TESTSET . iter ( ) {
360366 assert ! ( cuckoo. verify( message, proof) ) ;
361367 }
0 commit comments