quantum

package
v1.22.26 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 21, 2025 License: BSD-3-Clause Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AlgorithmMLDSA44 uint32 = 1 // NIST Level 2 (128-bit security)
	AlgorithmMLDSA65 uint32 = 2 // NIST Level 3 (192-bit security)
	AlgorithmMLDSA87 uint32 = 3 // NIST Level 5 (256-bit security)
)

Algorithm versions

Variables

View Source
var (
	ErrInvalidQuantumSignature   = errors.New("invalid quantum signature")
	ErrInvalidRingtailKey        = errors.New("invalid ringtail key")
	ErrQuantumStampExpired       = errors.New("quantum stamp expired")
	ErrQuantumVerificationFailed = errors.New("quantum verification failed")
	ErrUnsupportedAlgorithm      = errors.New("unsupported quantum algorithm")
)

Functions

This section is empty.

Types

type QuantumSignature

type QuantumSignature struct {
	Algorithm    uint32
	Timestamp    time.Time
	PublicKey    []byte
	Signature    []byte
	RingtailKey  []byte
	QuantumStamp []byte
}

QuantumSignature represents a quantum-resistant signature

type QuantumSigner

type QuantumSigner struct {
	// contains filtered or unexported fields
}

QuantumSigner handles quantum signature operations using ML-DSA (Dilithium)

func NewQuantumSigner

func NewQuantumSigner(log log.Logger, algorithmVersion uint32, keySize int, stampWindow time.Duration, cacheSize int) *QuantumSigner

NewQuantumSigner creates a new quantum signer with real ML-DSA algorithmVersion: 1=MLDSA44, 2=MLDSA65, 3=MLDSA87 keySize is ignored (determined by algorithm)

func (*QuantumSigner) GenerateRingtailKey

func (qs *QuantumSigner) GenerateRingtailKey() (*RingtailKey, error)

GenerateRingtailKey generates a new ML-DSA key pair

func (*QuantumSigner) GetMode

func (qs *QuantumSigner) GetMode() mldsa.Mode

GetMode returns the ML-DSA mode being used

func (*QuantumSigner) GetPublicKeySize

func (qs *QuantumSigner) GetPublicKeySize() int

GetPublicKeySize returns the public key size for the current algorithm

func (*QuantumSigner) GetSignatureSize

func (qs *QuantumSigner) GetSignatureSize() int

GetSignatureSize returns the signature size for the current algorithm

func (*QuantumSigner) ParallelVerify

func (qs *QuantumSigner) ParallelVerify(messages [][]byte, signatures []*QuantumSignature) error

ParallelVerify verifies multiple signatures in parallel

func (*QuantumSigner) Sign

func (qs *QuantumSigner) Sign(message []byte, key *RingtailKey) (*QuantumSignature, error)

Sign creates a quantum signature for the given message using ML-DSA

func (*QuantumSigner) Verify

func (qs *QuantumSigner) Verify(message []byte, sig *QuantumSignature) error

Verify verifies a quantum signature using ML-DSA

type RingtailKey

type RingtailKey struct {
	Version    uint32
	PublicKey  []byte
	PrivateKey []byte
	Nonce      []byte
	// contains filtered or unexported fields
}

RingtailKey represents a Ringtail key for quantum resistance (using ML-DSA)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL