zuse: cleanup in schnorr

This commit is contained in:
Jōshin 2021-12-29 23:43:16 +00:00
parent b296f3912e
commit 4f1269b205
No known key found for this signature in database
GPG Key ID: A8BE5A9A521639D0

View File

@ -2261,7 +2261,7 @@
--
|%
::
++ sign
++ sign :: schnorr signature
:: ~/ %sosi
|= [sk=@I m=@I a=@I]
^- @J
@ -2276,12 +2276,16 @@
=/ t
%+ mix
(flip 32 d)
(tagged-hash 'BIP0340/aux' [32 (flip 32 a)])
%+ tagged-hash 'BIP0340/aux'
[32 (flip 32 a)]
=/ rand
%+ tagged-hash 'BIP0340/nonce'
=/ pin
(can 8 ~[[1 t] [1 (flip 32 x.pp)] [1 (flip 32 m)]])
[96 pin]
:- 96
%+ can 8
:~ [1 t]
[1 (flip 32 x.pp)]
[1 (flip 32 m)]
==
=/ kp (mod (flip 32 rand) n.domain.c)
=/ rr (mul-point-scalar g.domain.c kp)
=/ k
@ -2293,13 +2297,12 @@
:_ n.domain.c
%+ flip 32
%+ tagged-hash 'BIP0340/challenge'
=/ pin
%+ can 8
:~ [1 (flip 32 x.rr)]
[1 (flip 32 x.pp)]
[1 (flip 32 m)]
==
[96 pin]
:- 96
%+ can 8
:~ [1 (flip 32 x.rr)]
[1 (flip 32 x.pp)]
[1 (flip 32 m)]
==
=/ sig
%+ flip 64
%^ cat 8
@ -2309,7 +2312,7 @@
?> (verify x.pp m sig)
sig
::
++ verify
++ verify :: schnorr verify
:: ~/ %sove
|= [pk=@I m=@I sig=@J]
^- ?
@ -2339,17 +2342,9 @@
(mul-point-scalar g.domain.c s)
=/ bb
(mul-point-scalar pp (sub n.domain.c e))
?: &(=(x.aa x.bb) !=(y.aa y.bb))
?: &(=(x.aa x.bb) !=(y.aa y.bb)) :: check infinity
%.n
=/ rr (add-points aa bb)
~& :- m+`@ux`m
:- pk+`@ux`pk
:- sig+`@ux`sig
:- pp+`[@ux @ux]`pp
:- r+`@ux`r
:- s+`@ux`s
:- e+`@ux`e
rr+`[@ux @ux]`rr
?. =(0 (mod y.rr 2))
%.n
=(r x.rr)