Skip to content

Commit 9b62c8e

Browse files
authored
Merge pull request #164 from tomato42/ecdh-speed
also include speed of ECDH in speed.py
2 parents 3565f34 + ea622f4 commit 9b62c8e

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

speed.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,3 +45,22 @@ def do(setup_statements, statement):
4545
name=curve, sep=":", siglen=len(sig), unit="s", keygen=keygen,
4646
keygen_inv=1.0/keygen, sign=sign, sign_inv=1.0/sign, verify=verf,
4747
verify_inv=1.0/verf, form=".5f", form_inv=".2f"))
48+
49+
print('')
50+
51+
ecdh_form = ("{name:>16}{sep:1} {ecdh:>9{form}}{unit:1} "
52+
"{ecdh_inv:>9{form_inv}}")
53+
54+
print(ecdh_form.format(ecdh="ecdh", ecdh_inv="ecdh/s", name="", sep="",
55+
unit="", form="", form_inv=""))
56+
57+
for curve in [i.name for i in curves]:
58+
S1 = "from ecdsa import SigningKey, ECDH, {0}".format(curve)
59+
S2 = "our = SigningKey.generate({0})".format(curve)
60+
S3 = "remote = SigningKey.generate({0}).verifying_key".format(curve)
61+
S4 = "ecdh = ECDH(private_key=our, public_key=remote)"
62+
S5 = "ecdh.generate_sharedsecret_bytes()"
63+
ecdh = do([S1, S2, S3, S4], S5)
64+
print(ecdh_form.format(
65+
name=curve, sep=":", unit="s", form=".5f", form_inv=".2f",
66+
ecdh=ecdh, ecdh_inv=1.0/ecdh))

0 commit comments

Comments
 (0)