Merge pull request #837 from urbit/fix-secp-hints

adds secp jet hints
This commit is contained in:
Joe Bryan 2018-10-04 00:44:45 -04:00 committed by GitHub
commit 53503c7161
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -4162,21 +4162,26 @@
==
::
++ secp
|= [w=@ p=@ a=@ b=@ g=pont n=@]
~/ %secp
|= [w=@ p=@ a=@ b=@ g=pont n=@] :: being passed in from above
=/ p ~(. fo p)
=/ n ~(. fo n)
~% %helper ..$ ~
|%
++ compress-point
~/ %compress-point
|= pont
^- @
(can 3 ~[w^x 1^(add 0x2 (cut 0 [0 1] y))])
::
++ serialize-point
~/ %serialize-point
|= pont
^- @
(can 3 ~[w^y w^x 1^0x4])
::
++ decompress-point
~/ %decompress-point
|= dat=@
^- pont
=+ x=(end 3 w a)
@ -4189,11 +4194,13 @@
!!
::
++ priv-to-pub :: get pub from priv
~/ %priv-to-pub
|= prv=@
^- pont
(jc-mul g prv)
::
++ make-k :: deterministic nonce
~/ %make-k
=, mimes:html
|= [has=@uvI prv=@]
^- @
@ -4207,6 +4214,7 @@
(hmc w^k w^v)
::
++ ecdsa-raw-sign :: generate signature
~/ %ecdsa-raw-sign
|= [has=@uvI prv=@]
^- [v=@ r=@ s=@]
=/ z has
@ -4220,6 +4228,7 @@
==
::
++ ecdsa-raw-recover :: get pubkey from sig
~/ %ecdsa-raw-recover
|= [has=@uvI sig=[v=@ r=@ s=@]]
^- pont
?> (lte v.sig 7)