This commit is contained in:
jl777
2019-02-23 22:33:48 -11:00
parent a0ece6b680
commit 16953993cc

View File

@@ -3050,19 +3050,22 @@ UniValue dilithium_verify(uint64_t txfee,struct CCcontract_info *cp,cJSON *param
return(cclib_error(result,"couldnt parse message to sign")); return(cclib_error(result,"couldnt parse message to sign"));
else if ( cclib_parsehash(sm,jitem(params,2),smlen) < 0 ) else if ( cclib_parsehash(sm,jitem(params,2),smlen) < 0 )
return(cclib_error(result,"couldnt parse sig")); return(cclib_error(result,"couldnt parse sig"));
else if ( _dilithium_verify(msg2,&mlen,sm,smlen,pk) < 0 ) else
return(cclib_error(result,"dilithium verify error")); {
else if ( mlen != 32 ) calc_rmd160_sha256(rmd160,sm,smlen);
return(cclib_error(result,"message len mismatch")); result.push_back(Pair("sighash",dilithium_hexstr(str,rmd160,20)));
else if ( memcmp(msg2,msg,32) != 0 ) if ( _dilithium_verify(msg2,&mlen,sm,smlen,pk) < 0 )
return(cclib_error(result,"message content mismatch")); return(cclib_error(result,"dilithium verify error"));
result.push_back(Pair("msg32",dilithium_hexstr(str,msg,32))); else if ( mlen != 32 )
result.push_back(Pair("handle",handle)); return(cclib_error(result,"message len mismatch"));
result.push_back(Pair("pkaddr",dilithium_addr(coinaddr,pk,CRYPTO_PUBLICKEYBYTES))); else if ( memcmp(msg2,msg,32) != 0 )
calc_rmd160_sha256(rmd160,sm,smlen); return(cclib_error(result,"message content mismatch"));
result.push_back(Pair("sighash",dilithium_hexstr(str,rmd160,20))); result.push_back(Pair("msg32",dilithium_hexstr(str,msg,32)));
result.push_back(Pair("result","success")); result.push_back(Pair("handle",handle));
return(result); result.push_back(Pair("pkaddr",dilithium_addr(coinaddr,pk,CRYPTO_PUBLICKEYBYTES)));
result.push_back(Pair("result","success"));
return(result);
}
} else return(cclib_error(result,"not enough parameters")); } else return(cclib_error(result,"not enough parameters"));
} }