Initial project import

This commit is contained in:
Agila Forge Importer committed 2026-07-13 15:20:32 +00:00
commit 23f2d29e32
11957 files changed
+1754577

No files matched your search

+63
View File
@@ -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)
}