commit f1ab44abe2f24f01ef09312c9f962c6f3666b5fe
parent 140b0a32804a0b23068c3656f90dcc89fa8317fc
Author: Jared Tobin <jared@jtobin.io>
Date: Fri, 14 Mar 2025 14:11:50 +0400
bench: ecdh cases
Diffstat:
1 file changed, 15 insertions(+), 0 deletions(-)
diff --git a/bench/Main.hs b/bench/Main.hs
@@ -25,6 +25,7 @@ main = defaultMain [
, derive_pub
, schnorr
, ecdsa
+ , ecdh
]
remQ :: Benchmark
@@ -143,6 +144,20 @@ ecdsa = env setup $ \ ~(tex, big, pub, msg, sig) ->
sig = S.sign_ecdsa big s_msg
pure (tex, big, pub, msg, sig)
+ecdh :: Benchmark
+ecdh = env setup $ \ ~(big, pub) ->
+ bgroup "ecdh" [
+ bench "ecdh (small)" $ nf (S.ecdh pub) 2
+ , bench "ecdh (large)" $ nf (S.ecdh pub) big
+ ]
+ where
+ setup = do
+ let !big =
+ 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed
+ !(Just !pub) = S.parse_point . B16.decodeLenient $
+ "bd02b9dfc8ef760708950bd972f2dc244893b61b6b46c3b19be1b2da7b034ac5"
+ pure (big, pub)
+
p_bs :: BS.ByteString
p_bs = B16.decodeLenient
"0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"