Łukasz Krzywiecki
Department of Fundamentals of Computer Science, Wrocław University of Science and Technology
Mod-Schnorr Demo Implementation
Browser
The proof of concept implementation of Schnorr-like Identification Scheme Resistant to Malicious Subliminal Setting of Ephemeral Secret, as of (doi:10.1007/978-3-319-47238-6_10). The implementation uses WASM builds of the excellent MCL (https://github.com/herumi/mcl) pairing library.
Mod-Schnorr Protocol Steps
Generator P of G1
Generator Q of G2
P:
Q:
Init
Prover keys
sk = a,
pk = aQ
sk :
pk :
Gen Keys
Ephemerals
secret: x,
public: X = xQ
x :
X :
Commitment
Challenge
c
c :
Challenge
Response
s = x + ac
U = H(X,c)
S = sU
s :
U :
S :
Response
Pairings:
e1 = e(U, X + cA)
e2 = e(sU, Q)
e1 :
e2 :
Result:
Verify
Recompute mod-Schnorr Protocol
Benchmark mod-Schnorr Protocol
Regular Schnorr Protocol Steps
Prover keys
sk = a,
pk = aQ
sk :
pk :
Gen Keys
Ephemerals
secret: x,
public: X = xQ
x :
X :
Commitment
Challenge
c
c :
Challenge
Response
s = x + ac
s :
Response
Verification:
L = sQ
R = X + cA
L :
R :
Result:
Verify
Recompute Regular Schnorr Protocol
Benchmark Regular Schnorr Protocol
benchAll
op msec
Fr::setByCSPRNG 0
pairing 0
millerLoop 0
finalExp 0
precomputedMillerLoop 0
G1::add 0
G1::dbl 0
G1::mul 0
G2::add 0
G2::dbl 0
G2::mul 0
hashAndMapToG1 0
hashAndMapToG2 0
Fr::add 0
Fr::mul 0
Fr::sqr 0
Fr::inv 0
GT::add 0
GT::mul 0
GT::sqr 0
GT::inv 0