diff options
| author | luigi1111 <luigi1111w@gmail.com> | 2020-05-05 23:39:32 -0500 |
|---|---|---|
| committer | luigi1111 <luigi1111w@gmail.com> | 2020-05-05 23:39:32 -0500 |
| commit | b4023dcfc5e361be7af6254992699c7cfb090a78 (patch) | |
| tree | b41b6e8e3f8b5d14526f10c7edccb6579a4a6737 /src/multisig/multisig.cpp | |
| parent | a7334faf6359748b5db4823dc9cc85c0fba25674 (diff) | |
| parent | 613071f4fa6a823834198ae8d180a5af72e71ded (diff) | |
| download | monzero-core-b4023dcfc5e361be7af6254992699c7cfb090a78.tar.gz monzero-core-b4023dcfc5e361be7af6254992699c7cfb090a78.tar.xz monzero-core-b4023dcfc5e361be7af6254992699c7cfb090a78.zip | |
Merge pull request #6441
613071f use memwipe on secret k/alpha values (moneromooo-monero)
Diffstat (limited to 'src/multisig/multisig.cpp')
| -rw-r--r-- | src/multisig/multisig.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/multisig/multisig.cpp b/src/multisig/multisig.cpp index 999894db0..70a4c1c8e 100644 --- a/src/multisig/multisig.cpp +++ b/src/multisig/multisig.cpp @@ -82,6 +82,7 @@ namespace cryptonote { rct::key sk = rct::scalarmultKey(rct::pk2rct(k), rct::sk2rct(blinded_skey)); crypto::secret_key msk = get_multisig_blinded_secret_key(rct::rct2sk(sk)); + memwipe(&sk, sizeof(sk)); multisig_keys.push_back(msk); sc_add(spend_skey.bytes, spend_skey.bytes, (const unsigned char*)msk.data); } @@ -126,10 +127,10 @@ namespace cryptonote //----------------------------------------------------------------- crypto::secret_key generate_multisig_view_secret_key(const crypto::secret_key &skey, const std::vector<crypto::secret_key> &skeys) { - rct::key view_skey = rct::sk2rct(get_multisig_blinded_secret_key(skey)); + crypto::secret_key view_skey = get_multisig_blinded_secret_key(skey); for (const auto &k: skeys) - sc_add(view_skey.bytes, view_skey.bytes, rct::sk2rct(k).bytes); - return rct::rct2sk(view_skey); + sc_add((unsigned char*)&view_skey, rct::sk2rct(view_skey).bytes, rct::sk2rct(k).bytes); + return view_skey; } //----------------------------------------------------------------- crypto::public_key generate_multisig_M_N_spend_public_key(const std::vector<crypto::public_key> &pkeys) |
