Initial project import
This commit is contained in:
commit
23f2d29e32
11957 files changed
+1754577
No files matched your search
@@ -0,0 +1,63 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"crypto/ecdsa"
|
||||
"crypto/elliptic"
|
||||
"crypto/rand"
|
||||
"fmt"
|
||||
"time"
|
||||
)
|
||||
|
||||
func main() {
|
||||
iterations := 1000
|
||||
|
||||
fmt.Println("Benchmarking key generation...")
|
||||
var totalGenTime int64
|
||||
for i := 0; i < iterations; i++ {
|
||||
start := time.Now()
|
||||
_, err := ecdsa.GenerateKey(elliptic.P256(), rand.Reader)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
totalGenTime += time.Since(start).Microseconds()
|
||||
}
|
||||
avgGenTime := totalGenTime / int64(iterations)
|
||||
fmt.Printf("Average key generation time: %d µs\n", avgGenTime)
|
||||
|
||||
privKey, err := ecdsa.GenerateKey(elliptic.P256(), rand.Reader)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
message := []byte("Benchmark message")
|
||||
|
||||
fmt.Println("Benchmarking signing...")
|
||||
var totalSignTime int64
|
||||
for i := 0; i < iterations; i++ {
|
||||
start := time.Now()
|
||||
_, _, err := ecdsa.Sign(rand.Reader, privKey, message)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
totalSignTime += time.Since(start).Microseconds()
|
||||
}
|
||||
avgSignTime := totalSignTime / int64(iterations)
|
||||
fmt.Printf("Average sign time: %d µs\n", avgSignTime)
|
||||
|
||||
r, s, err := ecdsa.Sign(rand.Reader, privKey, message)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
pubKey := &privKey.PublicKey
|
||||
|
||||
fmt.Println("Benchmarking verification...")
|
||||
var totalVerifyTime int64
|
||||
for i := 0; i < iterations; i++ {
|
||||
start := time.Now()
|
||||
ecdsa.Verify(pubKey, message, r, s)
|
||||
totalVerifyTime += time.Since(start).Microseconds()
|
||||
}
|
||||
avgVerifyTime := totalVerifyTime / int64(iterations)
|
||||
fmt.Printf("Average verify time: %d µs\n", avgVerifyTime)
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user