Crate qasa

Source
Expand description

QaSa Cryptography Module

This module implements post-quantum cryptographic primitives for the QaSa quantum-safe cryptographic operations, with a focus on providing quantum-resistant security.

The main cryptographic algorithms used are:

  • CRYSTALS-Kyber for key encapsulation (KEM)
  • CRYSTALS-Dilithium for digital signatures
  • AES-GCM for symmetric encryption

These are combined to provide a comprehensive encryption system that is resistant to attacks from both classical and quantum computers.

Re-exports§

pub use dilithium::DilithiumKeyPair;
pub use dilithium::DilithiumPublicKey;
pub use dilithium::DilithiumVariant;
pub use error::CryptoError;
pub use error::CryptoResult;
pub use kyber::KyberKeyPair;
pub use kyber::KyberPublicKey;
pub use kyber::KyberVariant;

Modules§

aes
AES-GCM implementation for symmetric encryption AES-GCM implementation for symmetric encryption
dilithium
CRYSTALS-Dilithium implementation for digital signatures CRYSTALS-Dilithium implementation for quantum-resistant digital signatures
error
Common error types for the cryptography module Enhanced Error Handling for QaSa Cryptography Module
ffi
Foreign Function Interface (FFI) for integration with other languages FFI interface for the crypto module
key_management
Key management system for storing and loading keys Key Management System for cryptographic keys
kyber
CRYSTALS-Kyber implementation for key encapsulation CRYSTALS-Kyber implementation for quantum-resistant key encapsulation
prelude
Provides a simplified interface to the most commonly used cryptographic operations.
protocols
High-level protocol implementations High-Level Protocol Implementations for QaSa Cryptography
secure_memory
Secure memory handling utilities Secure Memory Handling Utilities
security
Security framework including constant-time verification Security Module for QaSa Cryptography
simd
SIMD acceleration framework SIMD Acceleration Framework for QaSa Cryptography
simple
High-level user-friendly API High-level user-friendly API for QaSa quantum-safe cryptography
utils
Utilities for cryptographic operations

Macros§

verify_constant_time_operation
Macro for easy constant-time testing

Functions§

decrypt_and_verify_message
Decrypt and verify a signed and encrypted message
decrypt_message
Decrypt a message received from a sender using hybrid decryption
encrypt_and_sign_message
Encrypt and sign a message in one operation for secure communication
encrypt_message
Encrypt a message for a specific recipient using hybrid encryption
init
Initialize the cryptography module.
sign_message
Sign a message using post-quantum digital signature
verify_message
Verify a signed message using post-quantum digital signature