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