Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- func BatchVerify() {
- n := 1000;
- sks := make([]*bls.SecretKey, n)
- sigs := make([]*bls.Sign, n)
- pks := make([]*bls.PublicKey, n)
- msgs := make([]string, n)
- for i := 0; i < n; i++ {
- sk := &bls.SecretKey{}
- sk.SetByCSPRNG()
- sks[i] = sk
- pks[i] = sk.GetPublicKey()
- m := make([]byte, 256)
- _, err := rand.Read(m)
- if err != nil {
- log.Fatal("No entropy")
- }
- msgs[i] = string(m)
- }
- startTime := time.Now()
- for i := 0; i < n; i++ {
- sigs[i] = sks[i].Sign(string(msgs[i]))
- }
- endTime := time.Now()
- log.Printf("Time required to sign %d messages: %f seconds", n, endTime.Sub(startTime).Seconds())
- startTime = time.Now()
- for i := 0; i < n; i++ {
- if ! sigs[i].Verify(pks[i], msgs[i]) {
- log.Fatal("Failed to verify sig")
- }
- }
- endTime = time.Now()
- log.Printf("Time required to batch verify %d messages: %f seconds", n, endTime.Sub(startTime).Seconds())
- }
Add Comment
Please, Sign In to add comment