...
1 package eddilithium2_test
2
3 import (
4 "fmt"
5
6 "github.com/cloudflare/circl/sign/eddilithium2"
7 )
8
9 func Example() {
10
11 pk, sk, err := eddilithium2.GenerateKey(nil)
12 if err != nil {
13 panic(err)
14 }
15
16
17
18
19
20 var packedSk [eddilithium2.PrivateKeySize]byte
21 var packedPk [eddilithium2.PublicKeySize]byte
22 sk.Pack(&packedSk)
23 pk.Pack(&packedPk)
24
25
26 var sk2 eddilithium2.PrivateKey
27 var pk2 eddilithium2.PublicKey
28 sk2.Unpack(&packedSk)
29 pk2.Unpack(&packedPk)
30
31
32 msg := []byte("Some message")
33 var signature [eddilithium2.SignatureSize]byte
34 eddilithium2.SignTo(&sk2, msg, signature[:])
35
36
37 if !eddilithium2.Verify(&pk2, msg, signature[:]) {
38 panic("incorrect signature")
39 }
40
41 fmt.Printf("O.K.")
42
43
44
45 }
46
View as plain text