X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Fcrypter.h;h=20208e9dbd2da0ba9196184af6171100962f9743;hb=HEAD;hp=dd5d50664af1ae5dde1363f33bdfab7ab71406b5;hpb=9acf270b14e561fe959ff25001f083a00e5e1caa;p=novacoin.git diff --git a/src/crypter.h b/src/crypter.h index dd5d506..20208e9 100644 --- a/src/crypter.h +++ b/src/crypter.h @@ -53,29 +53,9 @@ public: // 25000 rounds is just under 0.1 seconds on a 1.86 GHz Pentium M // ie slightly lower than the lowest hardware we need bother supporting nDeriveIterations = 25000; - nDerivationMethod = 1; + nDerivationMethod = 0; vchOtherDerivationParameters = std::vector(0); } - - CMasterKey(unsigned int nDerivationMethodIndex) - { - switch (nDerivationMethodIndex) - { - case 0: // sha512 - default: - nDeriveIterations = 25000; - nDerivationMethod = 0; - vchOtherDerivationParameters = std::vector(0); - break; - - case 1: // scrypt+sha512 - nDeriveIterations = 10000; - nDerivationMethod = 1; - vchOtherDerivationParameters = std::vector(0); - break; - } - } - }; typedef std::vector > CKeyingMaterial; @@ -96,8 +76,8 @@ public: void CleanKey() { - memset(&chKey, 0, sizeof chKey); - memset(&chIV, 0, sizeof chIV); + OPENSSL_cleanse(&chKey, sizeof chKey); + OPENSSL_cleanse(&chIV, sizeof chIV); fKeySet = false; } @@ -108,16 +88,16 @@ public: // Try to keep the key data out of swap (and be a bit over-careful to keep the IV that we don't even use out of swap) // Note that this does nothing about suspend-to-disk (which will put all our key data on disk) // Note as well that at no point in this program is any attempt made to prevent stealing of keys by reading the memory of the running process. - LockedPageManager::instance.LockRange(&chKey[0], sizeof chKey); - LockedPageManager::instance.LockRange(&chIV[0], sizeof chIV); + LockedPageManager::Instance().LockRange(&chKey[0], sizeof chKey); + LockedPageManager::Instance().LockRange(&chIV[0], sizeof chIV); } ~CCrypter() { CleanKey(); - LockedPageManager::instance.UnlockRange(&chKey[0], sizeof chKey); - LockedPageManager::instance.UnlockRange(&chIV[0], sizeof chIV); + LockedPageManager::Instance().UnlockRange(&chKey[0], sizeof chKey); + LockedPageManager::Instance().UnlockRange(&chIV[0], sizeof chIV); } };