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")
|
||||
if s >= GE.ORDER:
|
||||
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:
|
||||
return False
|
||||
R2 = s * B + (-e * C)
|
||||
R2 = s * B - e * C
|
||||
if R2.infinity:
|
||||
return False
|
||||
if e != dleq_challenge(A, B, C, R1, R2, m, G):
|
||||
|
@ -240,6 +240,10 @@ class GE:
|
||||
return self
|
||||
return GE(self.x, -self.y)
|
||||
|
||||
def __sub__(self, a):
|
||||
"""Subtract a group element from another."""
|
||||
return self + (-a)
|
||||
|
||||
def to_bytes_compressed(self):
|
||||
"""Convert a non-infinite group element to 33-byte compressed encoding."""
|
||||
assert not self.infinity
|
||||
|
Loading…
x
Reference in New Issue
Block a user