diff options
author | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2020-04-08 16:35:28 +0000 |
---|---|---|
committer | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2020-04-15 01:16:31 +0000 |
commit | 613071f4fa6a823834198ae8d180a5af72e71ded (patch) | |
tree | ab7332d384521f108601b4736ebf75e44e38b0ce /src/multisig | |
parent | Merge pull request #6397 (diff) | |
download | monero-613071f4fa6a823834198ae8d180a5af72e71ded.tar.xz |
use memwipe on secret k/alpha values
Reported by UkoeHB_ and sarang
Diffstat (limited to 'src/multisig')
-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) |