mirror of
https://github.com/bitcoin/bips.git
synced 2025-05-12 12:03:29 +00:00
Merge pull request #1779 from VolodymyrBg/AE5959595959
BIP374: add subtraction operator for GE class
This commit is contained in:
commit
05d546d581
@ -87,11 +87,10 @@ def dleq_verify_proof(
|
|||||||
s = int.from_bytes(proof[32:], "big")
|
s = int.from_bytes(proof[32:], "big")
|
||||||
if s >= GE.ORDER:
|
if s >= GE.ORDER:
|
||||||
return False
|
return False
|
||||||
# TODO: implement subtraction operator (__sub__) for GE class to simplify these terms
|
R1 = s * G - e * A
|
||||||
R1 = s * G + (-e * A)
|
|
||||||
if R1.infinity:
|
if R1.infinity:
|
||||||
return False
|
return False
|
||||||
R2 = s * B + (-e * C)
|
R2 = s * B - e * C
|
||||||
if R2.infinity:
|
if R2.infinity:
|
||||||
return False
|
return False
|
||||||
if e != dleq_challenge(A, B, C, R1, R2, m, G):
|
if e != dleq_challenge(A, B, C, R1, R2, m, G):
|
||||||
|
@ -240,6 +240,10 @@ class GE:
|
|||||||
return self
|
return self
|
||||||
return GE(self.x, -self.y)
|
return GE(self.x, -self.y)
|
||||||
|
|
||||||
|
def __sub__(self, a):
|
||||||
|
"""Subtract a group element from another."""
|
||||||
|
return self + (-a)
|
||||||
|
|
||||||
def to_bytes_compressed(self):
|
def to_bytes_compressed(self):
|
||||||
"""Convert a non-infinite group element to 33-byte compressed encoding."""
|
"""Convert a non-infinite group element to 33-byte compressed encoding."""
|
||||||
assert not self.infinity
|
assert not self.infinity
|
||||||
|
Loading…
x
Reference in New Issue
Block a user