open-quantum-safe/liboqs logo

open-quantum-safe/liboqs

Free

C library for prototyping and experimenting with quantum-resistant cryptography

FreeFree tier
Type
Open Source
Company
Open Quantum Safe (OQS) project

About open-quantum-safe/liboqs

liboqs is an open source C library providing a collection of implementations of quantum-safe key encapsulation mechanisms (KEMs) and digital signature algorithms. It offers a common API for these algorithms, along with test harnesses and benchmarking routines. Developed as part of the Open Quantum Safe (OQS) project, liboqs is designed to facilitate prototyping and experimentation with post-quantum cryptography. It supports a wide range of algorithms, including those standardized by NIST like ML-KEM, ML-DSA, and SLH-DSA, as well as experimental ones. The library also provides prototype integrations into protocols such as TLS, X.509, and S/MIME via an OpenSSL 3 Provider.

Key Features

Collection of open source implementations of quantum-safe key encapsulation mechanisms and digital signature algorithms
Common API for all integrated algorithms
Test harness and benchmarking routines
Prototype integrations into TLS, X.509, and S/MIME via OpenSSL 3 Provider
Part of the Open Quantum Safe project under the Linux Foundation

Pros & Cons

Pros
  • Open source with permissive license (MIT)
  • Supports a broad range of algorithms, including NIST-standardized and experimental ones
  • Provides a unified API for ease of use
  • Active development and community support through Open Quantum Safe project
  • Part of the Linux Foundation ecosystem, ensuring long-term governance
Cons
  • Experimental algorithms may change or become unsupported
  • Some algorithms have limited active maintenance (e.g., Classic McEliece is Tier 3 Community)
  • Platform limitations may apply; not all algorithms are constant-time or formally verified
  • Integration examples are prototypes, not production-ready

Best For

Prototyping and experimenting with post-quantum cryptographic algorithmsEvaluating performance of quantum-safe KEMs and signature schemesIntegrating quantum-resistant cryptography into security protocols like TLS and S/MIMEAcademic research and education in post-quantum cryptography

FAQ

What algorithms does liboqs support?
liboqs supports a variety of quantum-safe key encapsulation mechanisms and digital signature algorithms, including NIST-standardized ML-KEM, ML-DSA, SLH-DSA, and experimental families such as BIKE, Classic McEliece, FrodoKEM, and HQC. For a full list with per-variant details, see the ALGORITHMS.md file in the repository.
Is liboqs production-ready?
liboqs is intended for prototyping and experimentation. While it includes stable implementations of NIST-standardized algorithms, the project states that it should not be used in production without careful evaluation. Integrations into protocols like TLS are prototypes.
How do I use liboqs in my project?
liboqs provides a common C API. Build instructions for Linux, macOS, and Windows are available in the repository's README and CONFIGURE.md. It can be compiled as a static or shared library, and there are also C++ wrappers.
Who maintains liboqs?
liboqs is maintained by the Open Quantum Safe (OQS) project, which is supported by the Post-Quantum Cryptography Alliance as part of the Linux Foundation.