curve elliptic.Curve
}{
{"P256", elliptic.P256()},
- {"P224", elliptic.P224()},
{"P384", elliptic.P384()},
{"P521", elliptic.P521()},
}
func BenchmarkSign(b *testing.B) {
benchmarkAllCurves(b, func(b *testing.B, curve elliptic.Curve) {
- priv, err := GenerateKey(curve, rand.Reader)
+ r := bufio.NewReaderSize(rand.Reader, 1<<15)
+ priv, err := GenerateKey(curve, r)
if err != nil {
b.Fatal(err)
}
b.ReportAllocs()
b.ResetTimer()
for i := 0; i < b.N; i++ {
- sig, err := SignASN1(rand.Reader, priv, hashed)
+ sig, err := SignASN1(r, priv, hashed)
if err != nil {
b.Fatal(err)
}
func BenchmarkVerify(b *testing.B) {
benchmarkAllCurves(b, func(b *testing.B, curve elliptic.Curve) {
- priv, err := GenerateKey(curve, rand.Reader)
+ r := bufio.NewReaderSize(rand.Reader, 1<<15)
+ priv, err := GenerateKey(curve, r)
if err != nil {
b.Fatal(err)
}
hashed := []byte("testing")
- r, s, err := Sign(rand.Reader, priv, hashed)
+ sig, err := SignASN1(r, priv, hashed)
if err != nil {
b.Fatal(err)
}
b.ReportAllocs()
b.ResetTimer()
for i := 0; i < b.N; i++ {
- if !Verify(&priv.PublicKey, hashed, r, s) {
+ if !VerifyASN1(&priv.PublicKey, hashed, sig) {
b.Fatal("verify failed")
}
}
func BenchmarkGenerateKey(b *testing.B) {
benchmarkAllCurves(b, func(b *testing.B, curve elliptic.Curve) {
+ r := bufio.NewReaderSize(rand.Reader, 1<<15)
b.ReportAllocs()
b.ResetTimer()
for i := 0; i < b.N; i++ {
- if _, err := GenerateKey(curve, rand.Reader); err != nil {
+ if _, err := GenerateKey(curve, r); err != nil {
b.Fatal(err)
}
}