ringct: compare keys with bitwise equality, not crypto ops
Ported from Shen's RingCT repo
This commit is contained in:
parent
98f4c6f7eb
commit
63733b1785
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue