main.go raw
1 package main
2
3 import (
4 "common/crypto/secp256k1"
5 "common/crypto/sha256"
6 "common/helpers"
7 )
8
9 func main() {
10 seckey, _ := helpers.HexDecode32("0000000000000000000000000000000000000000000000000000000000000003")
11 pubkey, _ := secp256k1.PubKeyFromSecKey(seckey)
12 println("pubkey: " + helpers.HexEncode(pubkey[:]))
13
14 msg := sha256.Sum([]byte("hello nostr"))
15 aux := sha256.Sum([]byte("aux randomness"))
16
17 sig, ok := secp256k1.SignSchnorr(seckey, msg, aux)
18 if !ok {
19 println("sign: FAIL")
20 return
21 }
22 if secp256k1.VerifySchnorr(pubkey, msg, sig) {
23 println("verify: pass")
24 } else {
25 println("verify: FAIL")
26 }
27
28 println("signing 100x...")
29 for i := 0; i < 100; i++ {
30 msg[0] = byte(i)
31 secp256k1.SignSchnorr(seckey, msg, aux)
32 }
33 println("sign done")
34
35 msg[0] = 42
36 sig, _ = secp256k1.SignSchnorr(seckey, msg, aux)
37 println("verifying 100x...")
38 for i := 0; i < 100; i++ {
39 secp256k1.VerifySchnorr(pubkey, msg, sig)
40 }
41 println("verify done")
42 }
43