Main documentation page for the QSC Library.
QSC (Quantum Secure Cryptographic Solutions) is a compact, self-contained, and highly optimized cryptographic library written in C. It is designed to provide next-generation, post-quantum secure cryptographic primitives for applications requiring long-term security. The library adheres to MISRA secure coding standards and is structured for clarity, ease of verification, and integration into secure communication platforms.
- Overview
- The QSC Library includes a comprehensive suite of cryptographic algorithms and utilities, such as:
- Asymmetric Cryptography:
- Key Encapsulation Mechanisms: McEliece (Niederreiter dual form), Kyber (FIPS-203), and NTRU.
- Digital Signature Schemes: Sphincs+ (FIPS-205), Dilithium (FIPS-204), and Falcon.
- Classical Asymmetric Algorithms: ECDSA and ECDH using the EC25519 curve.
- Symmetric Cryptography:
- Block Ciphers: AES with the blockcipher modes GCM, HBA, CBC, CTR, ECB, and PKCS7 padding.
- Authenticated Stream Ciphers: ChaChaPoly1305, CSX (a wide-block AEAD ChaCha-based authenticated cipher using KMAC/QMAC), and RCS (an authenticated stream cipher based on wide-block Rijndael and KMAC/QMAC).
- Hash Functions and MACs:
- Cryptographic message digests including SHA3 and SHA2.
- Message authentication codes (MAC) via QMAC, KMAC, HMAC, and Poly1305.
- Pseudo-Random Number Generation and Entropy:
- XOF functions (SHAKE and cSHAKE) used in DRBGs and key derivation functions (HKDF).
- Secure random number generators (PRNGs) and entropy providers (ACP, CSP, RDP) that integrate hardware randomness (e.g., Intel RDRAND) with system entropy.
- System Utilities:
- Asynchronous threading, mutex-based synchronization, and dual IPv4/IPv6 networking stacks.
- CPU feature detection (CPUID) and secure memory management with SIMD (AVX/AVX2/AVX512) optimizations.
- A complete dual-stack sockets library, support functions, a multi-threaded server and client architectures.
- A large set of integrated tools; file, directory, string, integer, console, array, sockets, threading, and SIMD memory functions.
- Architecture and Performance
- The QSC Library is architected with both portability and performance in mind:
- Reference Implementations: Clear and maintainable C code ensuring broad platform compatibility.
- SIMD Optimizations: Critical algorithms are implemented using AVX, AVX2, and AVX512 intrinsics to leverage modern CPU capabilities, achieving superior performance.
- Supported Platforms
- QSC has been thoroughly tested on:
- Windows 10/11/Server (Visual Studio)
- Ubuntu Linux (GCC)
- macOS (Apple Clang)
- References and Standards
-
- Keywords
- Cryptography, Post-Quantum, Asymmetric Cryptography, Symmetric Cryptography, Digital Signature, Key Encapsulation, Key Exchange, Hash Function, MAC, Pseudo-Random Number Generator, DRBG, Entropy, SIMD, AVX, AVX2, AVX512, Secure Memory, Asynchronous, MISRA, QSC.
- Example
- Refer to the module-specific headers (e.g., aes.h, sha3.h, kyber.h, ecdh.h, ecdsa.h, etc.) for detailed usage examples.
QRCS-PL private License. See license file for details. All rights reserved by QRCS Corporation, copyrighted and patents pending.
- Author
- John G. Underhill
- Date
- 2025-03-14
- Version
- 1.0.0.6c