Updated changelog

This commit is contained in:
WolverinDEV 2019-07-07 18:24:20 +02:00
parent cb7bce6a6c
commit 037850d381
1 changed files with 21 additions and 3 deletions

View File

@ -111,8 +111,23 @@ void _fe_neg(fe h, const fe f) {
h[8] = h8;
h[9] = h9;
}
/*
inline void keyMul(uint8_t(& target_buffer)[32], const uint8_t* publicKey /* compressed */, const uint8_t* privateKey /* uncompressed */, bool negate){
ge_p3 keyA{};
ge_p2 result{};
inline void keyMul(uint8_t* target_buffer, const uint8_t* publicKey /* compressed */, const uint8_t* privateKey /* uncompressed */, bool negate){
ge_frombytes_negate_vartime(&keyA, publicKey);
if(negate) {
_fe_neg(*(fe*) &keyA.X, *(const fe*) &keyA.X); /* undo negate /
_fe_neg(*(fe*) &keyA.T, *(const fe*) &keyA.T); /* undo negate /
}
ge_scalarmult_vartime(&result, privateKey, &keyA);
ge_tobytes(target_buffer, &result);
}
*/
inline std::string keyMul(const uint8_t* publicKey /* compressed */, const uint8_t* privateKey /* uncompressed */, bool negate){
ge_p3 keyA{};
ge_p2 result{};
@ -123,9 +138,12 @@ inline void keyMul(uint8_t* target_buffer, const uint8_t* publicKey /* compresse
}
ge_scalarmult_vartime(&result, privateKey, &keyA);
ge_tobytes(target_buffer, &result);
char buffer[32];
ge_tobytes((uint8_t*) buffer, &result);
return string(buffer, 32);
}
bool CryptionHandler::setupSharedSecretNew(const std::string &alpha, const std::string &beta, const char* privateKey /* uncompressed */, const char* publicKey /* compressed */) {
if(alpha.length() != 10 || beta.length() != 54)
return false;
@ -143,7 +161,7 @@ bool CryptionHandler::setupSharedSecretNew(const std::string &alpha, const std::
shared.resize(32, '\0');
sharedIv.resize(64, '\0');
ed25519_key_exchange((uint8_t*) shared.data(), (uint8_t*) publicKey, (uint8_t*) privateKey);
keyMul(shared.data(), reinterpret_cast<const uint8_t *>(publicKey), reinterpret_cast<const uint8_t *>(privateKey), true); //Remote key get negated
shared = keyMul(reinterpret_cast<const uint8_t *>(publicKey), reinterpret_cast<const uint8_t *>(privateKey), true); //Remote key get negated
sharedIv = digest::sha512(shared);