QSC Post Quantum Cryptographic Library 1.0.0.6c (A6)
A post quantum secure library written in Ansi C
 
Loading...
Searching...
No Matches
QSC: Quantum Secure Cryptographic Solutions Library

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.
Remarks
QSC is designed to serve as the foundational cryptographic solution for secure, post-quantum communications and is continuously updated to incorporate emerging cryptographic research and standards.

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