
C library for prototyping and experimenting with quantum-resistant cryptography
liboqs is an open source C library for quantum-safe cryptographic algorithms.
liboqs provides:
liboqs is part of the Open Quantum Safe (OQS) project, which aims to develop and integrate into applications quantum-safe cryptography to facilitate deployment and testing in real world contexts. In particular, OQS provides prototype integrations of liboqs into protocols like TLS, X.509, and S/MIME, through our OpenSSL 3 Provider and we provide a variety of other post-quantum-enabled demos.
The OQS project is supported by the Post-Quantum Cryptography Alliance as part of the Linux Foundation. More information about the Open Quantum Safe project can be found at openquantumsafe.org.
OQS is running a survey to better understand our community. We would like to hear from organizations and individuals about their interest in and use of the Open Quantum Safe project. Please take a few minutes to fill out the survey: https://linuxfoundation.surveymonkey.com/r/oqssurvey
The table below summarizes every algorithm family currently integrated into liboqs. For per-variant detail (including NIST level, constant-time status, formal verification, and available optimizations), see ALGORITHMS.md; for upstream sources and advisories, see the per-algorithm pages under docs/algorithms.
Names of algorithms standardized by NIST — ML-KEM, ML-DSA, and SLH-DSA — are stable; if NIST changes the implementation details, liboqs will adjust so that users are protected from such changes. All other names are subject to change. Which algorithms are built can be controlled via OQS_ALGS_ENABLED; by default, liboqs is built supporting every algorithm in the table, including experimental ones.