Link Search Menu Expand Document


liboqs is an open source C library for quantum-safe cryptographic algorithms.

liboqs provides:

  • a collection of open-source implementations of quantum-safe key encapsulation mechanism (KEM) and digital signature algorithms (see the list of supported algorithms)
  • a common API for these algorithms
  • a test harness and benchmarking routines


Open source. liboqs is a C library for quantum-safe cryptographic algorithms, released under the MIT License. liboqs incorporates some external components which use a different license.

Multi-platform. liboqs builds on Linux, macOS, and Windows, supports x86 and ARM architectures, and the clang, gcc, and Microsoft compilers. Toolchains are available for cross-compiling to other platforms.

Common API. liboqs uses a common API for post-quantum key encapsulation and signature algorithms, making it easy to switch between algorithms. Our API closely follows the NIST/SUPERCOP API, with some additional wrappers and data structures.

Testing and benchmarking. liboqs includes a test harness and benchmarking routines to compare performance of post-quantum implementations in a common framework.

Application integrations. We provide integrations of liboqs into forks of a range of cryptographic applications and protocols.

Language wrappers. Post-quantum algorithms from liboqs can be used in a variety of other programming languages using the provided wrappers.

Post-quantum algorithm implementations in liboqs are derived from the reference and optimized code submitted by teams to the NIST Post-Quantum Cryptography Standardization Project. Some implementations come directly from teams; others come via the PQClean project. See the algorithm datasheets for the lineage of each algorithm’s implementation.


Copyright © 2017-2020 The Open Quantum Safe Project.
This site uses Just the Docs, a documentation theme for Jekyll. Background image by Rick Doble.