Skip to content

Commit ea622f4

Browse files
committed
also include speed of ECDH in speed.py
fixes #163
1 parent 3565f34 commit ea622f4

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)