35 lines
965 B
Go
35 lines
965 B
Go
package sm9
|
|
|
|
import (
|
|
"crypto/rand"
|
|
"fmt"
|
|
"testing"
|
|
|
|
"xdx.jelly/xgcl/internal"
|
|
)
|
|
|
|
func TestReportSpeed(T *testing.T) {
|
|
uid := []byte("Alice")
|
|
msg := []byte("Chinese IBS standard")
|
|
ks, pubs, _ := GenerateMastSignPrivateKey(rand.Reader)
|
|
ds, _ := ks.GenerateUserSignKey(uid)
|
|
|
|
count, duation := internal.SingleThreadTester(func() {
|
|
ds, _ = ks.GenerateUserSignKey(uid)
|
|
})
|
|
fmt.Printf("Generate User key: %d, used time: %d ms, %d pcs/s\n", count, duation.Milliseconds(), int(internal.Rate(count, duation)))
|
|
|
|
var sig *Signature
|
|
count, duation = internal.SingleThreadTester(func() {
|
|
sig, _ = Sign(msg, ds, pubs, nil)
|
|
})
|
|
fmt.Printf("Sign %d, used time: %d ms, %d pcs/s\n", count, duation.Milliseconds(), int(internal.Rate(count, duation)))
|
|
|
|
count, duation = internal.SingleThreadTester(func() {
|
|
Verify(sig, uid, msg, pubs)
|
|
})
|
|
|
|
fmt.Printf("Verify %d, used time: %d ms, %d pcs/s\n", count, duation.Milliseconds(), int(internal.Rate(count, duation)))
|
|
|
|
}
|