...
1
2
3
4
5
6
7
8
9 package schemes
10
11 import (
12 "strings"
13
14 "github.com/cloudflare/circl/sign"
15 "github.com/cloudflare/circl/sign/ed25519"
16 "github.com/cloudflare/circl/sign/ed448"
17 "github.com/cloudflare/circl/sign/eddilithium2"
18 "github.com/cloudflare/circl/sign/eddilithium3"
19 )
20
21 var allSchemes = [...]sign.Scheme{
22 ed25519.Scheme(),
23 ed448.Scheme(),
24 eddilithium2.Scheme(),
25 eddilithium3.Scheme(),
26 }
27
28 var allSchemeNames map[string]sign.Scheme
29
30 func init() {
31 allSchemeNames = make(map[string]sign.Scheme)
32 for _, scheme := range allSchemes {
33 allSchemeNames[strings.ToLower(scheme.Name())] = scheme
34 }
35 }
36
37
38
39
40
41 func ByName(name string) sign.Scheme {
42 return allSchemeNames[strings.ToLower(name)]
43 }
44
45
46 func All() []sign.Scheme { a := allSchemes; return a[:] }
47
View as plain text