From e3de4fd2ef5465b8b48fe4ab136639e037347093 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sat, 2 Mar 2019 20:06:11 -1100 Subject: [PATCH 1/5] +print --- src/cc/dilithium.c | 19 ++++++++++++++++++- src/cc/rogue/rogue.c | 8 ++++---- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/src/cc/dilithium.c b/src/cc/dilithium.c index eb2b78ecc..f646b53c4 100644 --- a/src/cc/dilithium.c +++ b/src/cc/dilithium.c @@ -2940,11 +2940,17 @@ int32_t dilithium_Qmsghash(uint8_t *msg,CTransaction tx,std::vector vou { vintxids.push_back(tx.vin[i].prevout.hash); vinprevns.push_back(tx.vin[i].prevout.n); + fprintf(stderr,"%s/v%d ",tx.vin[i].prevout.hash.GetHex().c_str(),tx.vin[i].prevout.n); } for (i=0; iInvalid("failed dilithium verify"); else if ( mlen != 32 || memcmp(msg,msg2,32) != 0 ) + { + for (i=0; i<32; i++) + fprintf(stderr,"%02x",msg[i]); + fprintf(stderr," vs "); + for (i=0; iInvalid("failed dilithium msg verify"); + } else return true; } } else return eval->Invalid("failed decode Qsend"); diff --git a/src/cc/rogue/rogue.c b/src/cc/rogue/rogue.c index 8406684c7..ca0c92343 100644 --- a/src/cc/rogue/rogue.c +++ b/src/cc/rogue/rogue.c @@ -131,21 +131,21 @@ int32_t flushkeystrokes_local(struct rogue_state *rs,int32_t waitflag) rs->num = 0; retflag = 0; fclose(fp); - if ( (fp= fopen("savefile","wb")) != 0 ) + /*if ( (fp= fopen("savefile","wb")) != 0 ) { - //save_file(rs,fp,0); + save_file(rs,fp,0); if ( 0 && (fp= fopen("savefile","rb")) != 0 ) { for (i=0; i<0x150; i++) fprintf(stderr,"%02x",fgetc(fp)); fprintf(stderr," first part rnd.%d\n",rnd(1000)); fclose(fp); - } + }*/ roguefname(fname,rs->seed,rs->counter+1); if ( (fp= fopen(fname,"wb")) != 0 ) // truncate next file fclose(fp); //fprintf(stderr,"savefile <- %s retflag.%d\n",fname,retflag); - } + //} } else fprintf(stderr,"error writing (%s)\n",fname); } else fprintf(stderr,"error creating (%s)\n",fname); return(retflag); From b544ed791ca0aeb51a122e79becb6337f37b12da Mon Sep 17 00:00:00 2001 From: jl777 Date: Sat, 2 Mar 2019 20:16:46 -1100 Subject: [PATCH 2/5] Typo --- src/cc/dilithium.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cc/dilithium.c b/src/cc/dilithium.c index f646b53c4..9dcc69b40 100644 --- a/src/cc/dilithium.c +++ b/src/cc/dilithium.c @@ -3446,8 +3446,8 @@ bool dilithium_Qvalidate(struct CCcontract_info *cp,int32_t height,Eval *eval,co fprintf(stderr,"%02x",msg[i]); fprintf(stderr," vs "); for (i=0; iInvalid("failed dilithium msg verify"); } else return true; From 1a87dd883c53a057fbe39a3306cb67e162222a47 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sat, 2 Mar 2019 20:21:49 -1100 Subject: [PATCH 3/5] Recalc Qmsg --- src/cc/dilithium.c | 44 ++++++++++++++++++++------------------------ 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/src/cc/dilithium.c b/src/cc/dilithium.c index 9dcc69b40..da4576582 100644 --- a/src/cc/dilithium.c +++ b/src/cc/dilithium.c @@ -2929,32 +2929,28 @@ int32_t main(void) void calc_rmd160_sha256(uint8_t rmd160[20],uint8_t *data,int32_t datalen); char *bitcoin_address(char *coinaddr,uint8_t addrtype,uint8_t *pubkey_or_rmd160,int32_t len); -int32_t dilithium_Qmsghash(uint8_t *msg,CTransaction tx,std::vector voutpubtxids) +int32_t dilithium_Qmsghash(uint8_t *msg,CTransaction tx,int32_t numvouts,std::vector voutpubtxids) { CScript data; uint256 hash; int32_t i,numvins,numvouts,len = 0; std::vector vintxids; std::vector vinprevns; std::vector vouts; numvins = tx.vin.size(); - numvouts = tx.vout.size(); - if ( tx.vout[numvouts-1].scriptPubKey[0] == 0x6a ) + for (i=0; i bigpub) @@ -3373,7 +3369,7 @@ UniValue dilithium_Qsend(uint64_t txfee,struct CCcontract_info *cp,cJSON *params voutpubtxids.push_back(mypubtxid); } tx = mtx; - dilithium_Qmsghash(msg,tx,voutpubtxids); + dilithium_Qmsghash(msg,tx,(int32_t)voutpubtxids.size(),voutpubtxids); for (i=0; i<32; i++) fprintf(stderr,"%02x",msg[i]); fprintf(stderr," msg\n"); @@ -3432,7 +3428,7 @@ bool dilithium_Qvalidate(struct CCcontract_info *cp,int32_t height,Eval *eval,co numvouts = tx.vout.size(); if ( dilithium_Qsendopretdecode(destpubtxid,sig,voutpubtxids,tx.vout[numvouts-1].scriptPubKey) == 'Q' && destpubtxid == signerpubtxid && sig.size() == smlen ) { - if ( dilithium_Qmsghash(msg,tx,voutpubtxids) < 0 ) + if ( dilithium_Qmsghash(msg,tx,numvouts-1,voutpubtxids) < 0 ) return eval->Invalid("couldnt get Qmsghash"); else if ( dilithium_bigpubget(handle,destpub33,pk,signerpubtxid) < 0 ) return eval->Invalid("couldnt get bigpub"); From e54f9c4850a648212eb9dd45e2ec23a0a6e59883 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sat, 2 Mar 2019 20:25:59 -1100 Subject: [PATCH 4/5] Nnumvouts --- src/cc/dilithium.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cc/dilithium.c b/src/cc/dilithium.c index da4576582..0b7ccd667 100644 --- a/src/cc/dilithium.c +++ b/src/cc/dilithium.c @@ -2931,7 +2931,7 @@ char *bitcoin_address(char *coinaddr,uint8_t addrtype,uint8_t *pubkey_or_rmd160, int32_t dilithium_Qmsghash(uint8_t *msg,CTransaction tx,int32_t numvouts,std::vector voutpubtxids) { - CScript data; uint256 hash; int32_t i,numvins,numvouts,len = 0; std::vector vintxids; std::vector vinprevns; std::vector vouts; + CScript data; uint256 hash; int32_t i,numvins,len = 0; std::vector vintxids; std::vector vinprevns; std::vector vouts; numvins = tx.vin.size(); for (i=0; i Date: Sat, 2 Mar 2019 20:28:02 -1100 Subject: [PATCH 5/5] -print --- src/cc/dilithium.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/cc/dilithium.c b/src/cc/dilithium.c index 0b7ccd667..e36ea807e 100644 --- a/src/cc/dilithium.c +++ b/src/cc/dilithium.c @@ -2937,17 +2937,17 @@ int32_t dilithium_Qmsghash(uint8_t *msg,CTransaction tx,int32_t numvouts,std::ve { vintxids.push_back(tx.vin[i].prevout.hash); vinprevns.push_back(tx.vin[i].prevout.n); - fprintf(stderr,"%s/v%d ",tx.vin[i].prevout.hash.GetHex().c_str(),tx.vin[i].prevout.n); + //fprintf(stderr,"%s/v%d ",tx.vin[i].prevout.hash.GetHex().c_str(),tx.vin[i].prevout.n); } for (i=0; i