liboqs is an open source C library for quantum-safe cryptographic algorithms.
- 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.
- version 0.4.0 (August 11, 2020) current version
- version 0.3.0 (June 10, 2020)
- version 0.2.0 (October 8, 2019)
- version 0.1.0 (November 13, 2018)
- all releases