]>
Cypherpunks repositories - gostls13.git/commit
crypto/ecdsa: implement ecdsa on s390x for P256/P384/P521 using KDSA instruction
This CL revives CL 174437(also IBM CLA) and adds benchmarks and some simplifications.
The original commit message is as follows:
Utilize KDSA when available. This guarantees constant time operation on all three curves mentioned,
and is faster than conventional assembly.
Benchmarks:
name old time/op new time/op delta
SignP256-8 15.2µs ±14% 14.1µs ±18% ~ (p=0.356 n=9+10)
SignP384-8 4.28ms ±26% 0.02ms ±30% -99.43% (p=0.000 n=10+10)
VerifyP256-8 33.6µs ±13% 13.3µs ±38% -60.32% (p=0.000 n=9+10)
name old alloc/op new alloc/op delta
SignP256-8 2.16kB ± 0% 1.60kB ± 0% -25.63% (p=0.000 n=9+10)
SignP384-8 1.75MB ± 0% 0.00MB ± 0% -99.90% (p=0.000 n=9+10)
VerifyP256-8 1.08kB ± 0% 0.18kB ± 0% -83.70% (p=0.000 n=9+10)
name old allocs/op new allocs/op delta
SignP256-8 29.0 ± 0% 22.0 ± 0% -24.14% (p=0.000 n=10+10)
SignP384-8 14.4k ± 0% 0.0k ± 0% -99.85% (p=0.000 n=9+10)
VerifyP256-8 23.0 ± 0% 7.0 ± 0% -69.57% (p=0.000 n=10+10)
Change-Id: Ifa1fc5917fa7592dd592affa7549147dbc9b4169
Reviewed-on: https://go-review.googlesource.com/c/go/+/228580
Run-TryBot: Michael Munday <mike.munday@ibm.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Michael Munday <mike.munday@ibm.com>