Documentation
¶
Index ¶
- Constants
- Variables
- type QuantumSignature
- type QuantumSigner
- func (qs *QuantumSigner) GenerateRingtailKey() (*RingtailKey, error)
- func (qs *QuantumSigner) GetMode() mldsa.Mode
- func (qs *QuantumSigner) GetPublicKeySize() int
- func (qs *QuantumSigner) GetSignatureSize() int
- func (qs *QuantumSigner) ParallelVerify(messages [][]byte, signatures []*QuantumSignature) error
- func (qs *QuantumSigner) Sign(message []byte, key *RingtailKey) (*QuantumSignature, error)
- func (qs *QuantumSigner) Verify(message []byte, sig *QuantumSignature) error
- type RingtailKey
Constants ¶
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 ¶
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