Categorygithub.com/karalef/quark
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)
    ...
}

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# 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.

# Type aliases

CertID represents a certificate ID.
RawData represents a msgpack raw message and implements the Copier interface.