modulepackage
0.0.0-20241028134216-7bf8b198479d
Repository: https://github.com/karalef/quark.git
Documentation: pkg.go.dev
# README
Quark
Quark is a post-quantum crypto-secure crypto library.
Why?
"Imagine that it's fifteen years from now. Somebody announces that he's built a large quantum computer. RSA is dead. DSA is dead. Elliptic curves, hyperelliptic curves, class groups, whatever, dead, dead, dead. So users are going to run around screaming and say 'Oh my God, what do we do?'..." - https://pqcrypto.org
Usage
Using go
go get github.com/karalef/quark
package main
import (
"time"
"github.com/karalef/quark"
"github.com/karalef/quark/crypto/sign"
)
func main() {
key, err := quark.Generate(sign.EDDilithium3, 365*24*time.Hour)
...
}
# Functions
Bind binds the data to the key.
CertificateAs converts a raw certificate to a typed certificate.
Derive deterministically creates a new key.
Generate generates a new key using crypto/rand.
GetBinding returns the binding with constrained type.
MarshalTime encodes a unix time into a byte array.
NewCertificate creates a new unsigned certificate.
KeyModel returns the key model.
NewValidity creates a new Validity.
Sign creates a Signer.
SignObject signs the object.
Verify creates a Verifier.
# Constants
packet tags.
# Variables
ErrBindingNotFound is returned if the binding is not found.
No description provided by the author
ErrExpiredOrRevoked is returned if the key is expired or revoked.
No description provided by the author
# Structs
Certificate contains data with signature.
Key is a signed public key with binded data and certifications.
KeyModel contains packed immutable parts of the key.
Model contains packed Key.
RawCertifyable represents a certifyable that holds raw data.
Signature represents a signature.
Signer represents a signature state.
Validity contains the signature validity.
Verifier represents a signature verification state.
# Interfaces
CertData interface.
Certifyable represents an object that can be certified.
Copier interface.
Signable represents an object that can be signed.