Skip to content

Instantly share code, notes, and snippets.

@stefandeml
Created March 21, 2019 14:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save stefandeml/159a5d27aa66c08e56cc8416d8763e64 to your computer and use it in GitHub Desktop.
Save stefandeml/159a5d27aa66c08e56cc8416d8763e64 to your computer and use it in GitHub Desktop.
%load_ext autoreload
%autoreload 2
# %%
import hashlib
from zokrates.eddsa import PrivateKey, PublicKey
from zokrates.field import FQ
from zokrates.utils import write_for_zokrates_cli
raw_msg = "This is my secret message"
msg = hashlib.sha512(raw_msg.encode("utf-8")).digest()
# sk = PrivateKey.from_rand()
# Seeded for debug purpose
key = FQ(1997011358982923168928344992199991480689546837621580239342656433234255379025)
sk = PrivateKey(key)
sig = sk.sign(msg)
pk = PublicKey.from_private(sk)
is_verified = pk.verify(sig, msg)
print(is_verified)
#%%
hAM = 108668349213596007683571215050197457258149172074632839444545934270199648764593
hAMinv = inv(108668349213596007683571215050197457258149172074632839444545934270199648764593, 21888242871839275222246405745257275088614511777268538073601725287587578984328)
assert hAM * hAMinv % 21888242871839275222246405745257275088614511777268538073601725287587578984328== 1
#%%
B = Point.generator()
sB = B.mult(sig[1])
#%%
sbR = (sB - sig[0])
assert sbR.mult(hAMinv) == pk.p
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment