ringct: compare keys with bitwise equality, not crypto ops

Ported from Shen's RingCT repo
This commit is contained in:
Shen Noether 2016-06-02 17:24:42 +01:00 committed by moneromooo-monero
parent 98f4c6f7eb
commit 63733b1785
No known key found for this signature in database
GPG Key ID: 686F07454D6CEFC3

View File

@ -305,14 +305,13 @@ namespace rct {
//checks if A, B are equal as curve points
//without doing curve operations
bool equalKeys(const key & a, const key & b) {
key eqk;
sc_sub(eqk.bytes, cn_fast_hash(a).bytes, cn_fast_hash(b).bytes);
if (sc_isnonzero(eqk.bytes) ) {
//DP("eq bytes");
//DP(eqk);
return false;
bool rv = true;
for (int i = 0; i < 32; ++i) {
if (a.bytes[i] != b.bytes[i]) {
rv = false;
}
}
return true;
return rv;
}
//Hashing - cn_fast_hash