![JAR search and dependency download from the Maven repository](/logo.png)
vendor.github.com.cloudflare.circl.sign.schemes.schemes.go Maven / Gradle / Ivy
The newest version!
// Package schemes contains a register of signature algorithms.
//
// Implemented schemes:
//
// Ed25519
// Ed448
// Ed25519-Dilithium2
// Ed448-Dilithium3
package schemes
import (
"strings"
"github.com/cloudflare/circl/sign"
"github.com/cloudflare/circl/sign/ed25519"
"github.com/cloudflare/circl/sign/ed448"
"github.com/cloudflare/circl/sign/eddilithium2"
"github.com/cloudflare/circl/sign/eddilithium3"
)
var allSchemes = [...]sign.Scheme{
ed25519.Scheme(),
ed448.Scheme(),
eddilithium2.Scheme(),
eddilithium3.Scheme(),
}
var allSchemeNames map[string]sign.Scheme
func init() {
allSchemeNames = make(map[string]sign.Scheme)
for _, scheme := range allSchemes {
allSchemeNames[strings.ToLower(scheme.Name())] = scheme
}
}
// ByName returns the scheme with the given name and nil if it is not
// supported.
//
// Names are case insensitive.
func ByName(name string) sign.Scheme {
return allSchemeNames[strings.ToLower(name)]
}
// All returns all signature schemes supported.
func All() []sign.Scheme { a := allSchemes; return a[:] }
© 2015 - 2025 Weber Informatics LLC | Privacy Policy