liboqs

C library for prototyping and experimenting with quantum-resistant cryptography

OTHER License

Stars
1.7K

Bot releases are hidden (Show)

liboqs - 0.10.1 Latest Release

Published by SWilson4 4 months ago

liboqs version 0.10.1

About

The Open Quantum Safe (OQS) project has the goal of developing and prototyping quantum-resistant cryptography. More information on OQS can be found on our website: https://openquantumsafe.org/ and on Github at https://github.com/open-quantum-safe/.

liboqs is an open source C library for quantum-resistant cryptographic algorithms. Details about liboqs can be found in README.md. See in particular limitations on intended use.

liboqs can be used with the following Open Quantum Safe application integrations:

  • oqs-provider: A standalone prototype OpenSSL 3 provider enabling liboqs-based quantum-safe and hybrid key authentication and exchange for TLS 1.3, X.509 certificate generation and CMS operations.
  • OQS-BoringSSL: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of BoringSSL; see https://github.com/open-quantum-safe/boringssl.
  • OQS-OpenSSH: A prototype integration of liboqs-based authentication and key exchange into Secure Shell (SSH) version 2 in our fork of OpenSSH; see https://github.com/open-quantum-safe/openssh.

Several demos are available for using the above libraries in applications, including Apache, Chromium, curl, haproxy, nginx, and Wireshark. Performance of liboqs in several settings is measured at https://openquantumsafe.org/benchmarking/.

liboqs can also be used in the following programming languages via language-specific wrappers:

Release notes

This is version 0.10.1 of liboqs. It was released on June 7, 2024.

This release is a security release which fixes potential non-constant-time behaviour in ML-KEM and Kyber based on https://github.com/pq-crystals/kyber/commit/0264efacf18dd665d2066f21df3a3290b52ba240 and https://github.com/pq-crystals/kyber/commit/9b8d30698a3e7449aeb34e62339d4176f11e3c6c. It also includes a fix for incorrectly named macros in the ML-DSA implementation.

What's New

This release continues from the 0.10.0 release of liboqs.

Key encapsulation mechanisms

  • Kyber: portable C implementation updated
  • ML-KEM: portable C implementation updated

Digital signature schemes

  • ML-DSA: incorrectly named macros renamed

Detailed changelog

Full Changelog: https://github.com/open-quantum-safe/liboqs/compare/0.10.0...0.10.1

liboqs - 0.10.1 release candidate 1

Published by SWilson4 4 months ago

liboqs version 0.10.1-rc1

About

The Open Quantum Safe (OQS) project has the goal of developing and prototyping quantum-resistant cryptography. More information on OQS can be found on our website: https://openquantumsafe.org/ and on Github at https://github.com/open-quantum-safe/.

liboqs is an open source C library for quantum-resistant cryptographic algorithms. Details about liboqs can be found in README.md. See in particular limitations on intended use.

liboqs can be used with the following Open Quantum Safe application integrations:

  • oqs-provider: A standalone prototype OpenSSL 3 provider enabling liboqs-based quantum-safe and hybrid key authentication and exchange for TLS 1.3, X.509 certificate generation and CMS operations.
  • OQS-BoringSSL: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of BoringSSL; see https://github.com/open-quantum-safe/boringssl.
  • OQS-OpenSSH: A prototype integration of liboqs-based authentication and key exchange into Secure Shell (SSH) version 2 in our fork of OpenSSH; see https://github.com/open-quantum-safe/openssh.

Several demos are available for using the above libraries in applications, including Apache, Chromium, curl, haproxy, nginx, and Wireshark. Performance of liboqs in several settings is measured at https://openquantumsafe.org/benchmarking/.

liboqs can also be used in the following programming languages via language-specific wrappers:

Release notes

This is release candidate 1 of version 0.10.1 of liboqs. It was released on June 5, 2024.

This release is a security release which fixes potential non-constant-time behaviour in ML-KEM and Kyber based on https://github.com/pq-crystals/kyber/commit/0264efacf18dd665d2066f21df3a3290b52ba240 and https://github.com/pq-crystals/kyber/commit/9b8d30698a3e7449aeb34e62339d4176f11e3c6c. It also includes a fix for incorrectly named macros in the ML-DSA implementation.

What's New

This release continues from the 0.10.0 release of liboqs.

Key encapsulation mechanisms

  • Kyber: portable C and AVX2 implementations updated
  • ML-KEM: portable C and AVX2 implementations updated

Digital signature schemes

  • ML-DSA: incorrectly named macros renamed

Detailed changelog

Full Changelog: https://github.com/open-quantum-safe/liboqs/compare/0.10.0...0.10.1-rc1

liboqs - 0.10.0

Published by baentsch 7 months ago

liboqs version 0.10.0

About

The Open Quantum Safe (OQS) project has the goal of developing and prototyping quantum-resistant cryptography. More information on OQS can be found on our website: https://openquantumsafe.org/ and on Github at https://github.com/open-quantum-safe/.

liboqs is an open source C library for quantum-resistant cryptographic algorithms. Details about liboqs can be found in README.md. See in particular limitations on intended use.

liboqs can be used with the following Open Quantum Safe application integrations:

  • oqs-provider: A standalone prototype OpenSSL 3 provider enabling liboqs-based quantum-safe and hybrid key authentication and exchange for TLS 1.3, X.509 certificate generation and CMS operations.
  • OQS-BoringSSL: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of BoringSSL; see https://github.com/open-quantum-safe/boringssl.
  • OQS-OpenSSH: A prototype integration of liboqs-based authentication and key exchange into Secure Shell (SSH) version 2 in our fork of OpenSSH; see https://github.com/open-quantum-safe/openssh.

Several demos are available for using the above libraries in applications, including Apache, Chromium, curl, haproxy, nginx, and Wireshark. Performance of liboqs in several settings is measured at https://openquantumsafe.org/benchmarking/.

liboqs can also be used in the following programming languages via language-specific wrappers:

Release notes

This is version 0.10.0 of liboqs. It was released on March 20, 2024.
This release adds support for ML-KEM (previously known as CRYSTALS-Kyber) and ML-DSA (previously known as CRYSTALS-Dilithium), based on the initial public drafts of FIPS 203 and FIPS 204, respectively. OQS continues to support the NIST Round 3 versions of Kyber and Dilithium for interoperability purposes. This release additionally updates HQC to the NIST Round 4 version and adds support for fixed-length Falcon signatures.

What's New

This release continues from the 0.9.2 release of liboqs.

Key encapsulation mechanisms

  • BIKE: Updated portable C implementation to include constant-time fixes from upstream.
  • HQC: Updated to NIST Round 4 version.
  • ML-KEM: Added portable C and AVX2 implementations of Initial Public Draft (IPD) versions of ML-KEM-512, ML-KEM-768, and ML-KEM-1024.

Digital signature schemes

  • Falcon: Updated portable C, AVX2, and AArch64 implementations to support fixed-length (PADDED-format) signatures. Fixed the maximum length of variable-length signatures to comply with the NIST Round 3 specification.
  • ML-DSA: Added portable C and AVX2 implementations of Initial Public Draft (IPD) versions of ML-DSA-44, ML-DSA-65, and ML-DSA-87.

Other changes

  • Improved thread safety.
  • Added uninstall support via ninja uninstall
  • Documented platforms by support tier in PLATFORMS.md.
  • Added support for Zephyr RTOS.
  • Improved support for macOS on Apple Silicon.
  • Removed support for the "NIST-KAT" DRBG.
  • Added extended KAT test programs.

Detailed changelog

New Contributors

Full Changelog: https://github.com/open-quantum-safe/liboqs/compare/0.9.2...0.10.0

liboqs - liboqs version 0.10.0 release candidate 2

Published by dstebila 7 months ago

liboqs version 0.10.0-rc2

About

The Open Quantum Safe (OQS) project has the goal of developing and prototyping quantum-resistant cryptography. More information on OQS can be found on our website: https://openquantumsafe.org/ and on Github at https://github.com/open-quantum-safe/.

liboqs is an open source C library for quantum-resistant cryptographic algorithms. Details about liboqs can be found in README.md. See in particular limitations on intended use.

liboqs can be used with the following Open Quantum Safe application integrations:

  • oqs-provider: A standalone prototype OpenSSL 3 provider enabling liboqs-based quantum-safe and hybrid key authentication and exchange for TLS 1.3, X.509 certificate generation and CMS operations.
  • OQS-BoringSSL: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of BoringSSL; see https://github.com/open-quantum-safe/boringssl.
  • OQS-OpenSSH: A prototype integration of liboqs-based authentication and key exchange into Secure Shell (SSH) version 2 in our fork of OpenSSH; see https://github.com/open-quantum-safe/openssh.

Several demos are available for using the above libraries in applications, including Apache, Chromium, curl, haproxy, nginx, and Wireshark. Performance of liboqs in several settings is measured at https://openquantumsafe.org/benchmarking/.

liboqs can also be used in the following programming languages via language-specific wrappers:

Release notes

This is release candidate 2 of version 0.10.0 of liboqs. It was released on March 13, 2024.

This release adds support for ML-KEM (previously known as CRYSTALS-Kyber) and ML-DSA (previously known as CRYSTALS-Dilithium), based on the initial public drafts of FIPS 203 and FIPS 204, respectively. OQS continues to support the NIST Round 3 versions of Kyber and Dilithium for interoperability purposes. This release additionally updates HQC to the NIST Round 4 version and adds support for fixed-length Falcon signatures.

What's New

This release continues from the 0.9.2 release of liboqs.

Key encapsulation mechanisms

  • BIKE: Updated portable C implementation to include constant-time fixes from upstream.
  • HQC: Updated to NIST Round 4 version.
  • ML-KEM: Added portable C and AVX2 implementations of Initial Public Draft (IPD) versions of ML-KEM-512, ML-KEM-786, and ML-KEM-1024.

Digital signature schemes

  • Falcon: Updated portable C, AVX2, and AArch64 implementations to support fixed-length (PADDED-format) signatures. Fixed the maximum length of variable-length signatures to comply with the NIST Round 3 specification.
  • ML-DSA: Added portable C and AVX2 implementations of Initial Public Draft (IPD) versions of ML-DSA-44, ML-DSA-65, and ML-DSA-87.

Other changes

  • Improved thread safety.
  • Added uninstall support via ninja uninstall
  • Documented platforms by support tier in PLATFORMS.md.
  • Added support for Zephyr RTOS.
  • Improved support for macOS on Apple Silicon.
  • Removed support for the "NIST-KAT" DRBG.
  • Added extended KAT test programs.

Detailed changelog

New Contributors

Full Changelog: https://github.com/open-quantum-safe/liboqs/compare/0.9.2...0.10.0-rc2

liboqs - 0.10.0 release candidate 1

Published by SWilson4 7 months ago

liboqs version 0.10.0-rc1

About

The Open Quantum Safe (OQS) project has the goal of developing and prototyping quantum-resistant cryptography. More information on OQS can be found on our website: https://openquantumsafe.org/ and on Github at https://github.com/open-quantum-safe/.

liboqs is an open source C library for quantum-resistant cryptographic algorithms. Details about liboqs can be found in README.md. See in particular limitations on intended use.

liboqs can be used with the following Open Quantum Safe application integrations:

  • oqs-provider: A standalone prototype OpenSSL 3 provider enabling liboqs-based quantum-safe and hybrid key authentication and exchange for TLS 1.3, X.509 certificate generation and CMS operations.
  • OQS-BoringSSL: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of BoringSSL; see https://github.com/open-quantum-safe/boringssl.
  • OQS-OpenSSH: A prototype integration of liboqs-based authentication and key exchange into Secure Shell (SSH) version 2 in our fork of OpenSSH; see https://github.com/open-quantum-safe/openssh.

Several demos are available for using the above libraries in applications, including Apache, Chromium, curl, haproxy, nginx, and Wireshark. Performance of liboqs in several settings is measured at https://openquantumsafe.org/benchmarking/.

liboqs can also be used in the following programming languages via language-specific wrappers:

Release notes

This is release candidate 1 of version 0.10.0 of liboqs. It was released on March 8, 2024.

This release adds support for ML-KEM (previously known as CRYSTALS-Kyber) and ML-DSA (previously known as CRYSTALS-Dilithium), based on the initial public drafts of FIPS 203 and FIPS 204, respectively. OQS continues to support the NIST Round 3 versions of Kyber and Dilithium for interoperability purposes. This release additionally updates HQC to the NIST Round 4 version and adds support for fixed-length Falcon signatures.

What's New

This release continues from the 0.9.2 release of liboqs.

Key encapsulation mechanisms

  • BIKE: Updated portable C implementation to include constant-time fixes from upstream.
  • HQC: Updated to NIST Round 4 version.
  • ML-KEM: Added portable C and AVX2 implementations of Initial Public Draft (IPD) versions of ML-KEM-512, ML-KEM-786, and ML-KEM-1024.

Digital signature schemes

  • Falcon: Updated portable C, AVX2, and AArch64 implementations to support fixed-length (PADDED-format) signatures. Fixed the maximum length of variable-length signatures to comply with the NIST Round 3 specification.
  • ML-DSA: Added portable C and AVX2 implementations of Initial Public Draft (IPD) versions of ML-DSA-44, ML-DSA-65, and ML-DSA-87.

Other changes

  • Improved thread safety.
  • Added uninstall support via ninja uninstall
  • Documented platforms by support tier in PLATFORMS.md.
  • Added support for Zephyr RTOS.
  • Improved support for macOS on Apple Silicon.
  • Removed support for the "NIST-KAT" DRBG.
  • Added extended KAT test programs.

Detailed changelog

New Contributors

Full Changelog: https://github.com/open-quantum-safe/liboqs/compare/0.9.2...0.10.0-rc1

liboqs - liboqs version 0.9.2

Published by dstebila 9 months ago

liboqs version 0.9.2

About

The Open Quantum Safe (OQS) project has the goal of developing and prototyping quantum-resistant cryptography. More information on OQS can be found on our website: https://openquantumsafe.org/ and on Github at https://github.com/open-quantum-safe/.

liboqs is an open source C library for quantum-resistant cryptographic algorithms. Details about liboqs can be found in README.md. See in particular limitations on intended use.

liboqs can be used with the following Open Quantum Safe application integrations:

  • oqs-provider: A standalone prototype OpenSSL 3 provider enabling liboqs-based quantum-safe and hybrid key authentication and exchange for TLS 1.3, X.509 certificate generation and CMS operations.
  • OQS-BoringSSL: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of BoringSSL; see https://github.com/open-quantum-safe/boringssl.
  • OQS-OpenSSH: A prototype integration of liboqs-based authentication and key exchange into Secure Shell (SSH) version 2 in our fork of OpenSSH; see https://github.com/open-quantum-safe/openssh.

Several demos are available for using the above libraries in applications, including Apache, Chromium, curl, haproxy, nginx, and Wireshark. Performance of liboqs in several settings is measured at https://openquantumsafe.org/benchmarking/.

liboqs can also be used in the following programming languages via language-specific wrappers:

Release notes

This is version 0.9.2 of liboqs. It was released on January 16, 2024.

This release is a security release which fixes potential non-constant-time behaviour in Kyber based on https://github.com/pq-crystals/kyber/commit/272125f6acc8e8b6850fd68ceb901a660ff48196

What's New

This release continues from the 0.9.1 release of liboqs.

Key encapsulation mechanisms

  • Kyber: C, AVX2, and aarch64 implementation updated

Detailed changelog

Full Changelog: https://github.com/open-quantum-safe/liboqs/compare/0.9.1...0.9.2

liboqs - liboqs version 0.9.2 release candidate 1

Published by dstebila 9 months ago

liboqs version 0.9.2-rc1

About

The Open Quantum Safe (OQS) project has the goal of developing and prototyping quantum-resistant cryptography. More information on OQS can be found on our website: https://openquantumsafe.org/ and on Github at https://github.com/open-quantum-safe/.

liboqs is an open source C library for quantum-resistant cryptographic algorithms. Details about liboqs can be found in README.md. See in particular limitations on intended use.

liboqs can be used with the following Open Quantum Safe application integrations:

  • oqs-provider: A standalone prototype OpenSSL 3 provider enabling liboqs-based quantum-safe and hybrid key authentication and exchange for TLS 1.3, X.509 certificate generation and CMS operations.
  • OQS-BoringSSL: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of BoringSSL; see https://github.com/open-quantum-safe/boringssl.
  • OQS-OpenSSH: A prototype integration of liboqs-based authentication and key exchange into Secure Shell (SSH) version 2 in our fork of OpenSSH; see https://github.com/open-quantum-safe/openssh.

Several demos are available for using the above libraries in applications, including Apache, Chromium, curl, haproxy, nginx, and Wireshark. Performance of liboqs in several settings is measured at https://openquantumsafe.org/benchmarking/.

liboqs can also be used in the following programming languages via language-specific wrappers:

Release notes

This is release candidate 1 of version 0.9.2 of liboqs. It was released on January 11, 2024.

This release is a security release which fixes potential non-constant-time behaviour in Kyber based on https://github.com/pq-crystals/kyber/commit/272125f6acc8e8b6850fd68ceb901a660ff48196

What's New

This release continues from the 0.9.1 release of liboqs.

Key encapsulation mechanisms

  • Kyber: C, AVX2, and aarch64 implementation updated

Detailed changelog

Full Changelog: https://github.com/open-quantum-safe/liboqs/compare/0.9.1...0.9.2-rc1

liboqs - liboqs version 0.9.1

Published by dstebila 10 months ago

liboqs version 0.9.1

About

The Open Quantum Safe (OQS) project has the goal of developing and prototyping quantum-resistant cryptography. More information on OQS can be found on our website: https://openquantumsafe.org/ and on Github at https://github.com/open-quantum-safe/.

liboqs is an open source C library for quantum-resistant cryptographic algorithms. Details about liboqs can be found in README.md. See in particular limitations on intended use.

liboqs can be used with the following Open Quantum Safe application integrations:

  • oqs-provider: A standalone prototype OpenSSL 3 provider enabling liboqs-based quantum-safe and hybrid key authentication and exchange for TLS 1.3, X.509 certificate generation and CMS operations.
  • OQS-BoringSSL: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of BoringSSL; see https://github.com/open-quantum-safe/boringssl.
  • OQS-OpenSSH: A prototype integration of liboqs-based authentication and key exchange into Secure Shell (SSH) version 2 in our fork of OpenSSH; see https://github.com/open-quantum-safe/openssh.

Several demos are available for using the above libraries in applications, including Apache, Chromium, curl, haproxy, nginx, and Wireshark. Performance of liboqs in several settings is measured at https://openquantumsafe.org/benchmarking/.

liboqs can also be used in the following programming languages via language-specific wrappers:

Release notes

This is version 0.9.1 of liboqs. It was released on December 22, 2023.

This release is a security release which fixes potential non-constant-time behaviour in Kyber based on https://github.com/pq-crystals/kyber/commit/dda29cc63af721981ee2c831cf00822e69be3220

What's New

This release continues from the 0.9.0 release of liboqs.

Key encapsulation mechanisms

  • Kyber: C, AVX2, and aarch64 implementation updated

Detailed changelog

Full Changelog: https://github.com/open-quantum-safe/liboqs/compare/0.9.0...0.9.1

liboqs - liboqs version 0.9.1 release candidate 1

Published by dstebila 10 months ago

liboqs version 0.9.1-rc1

About

The Open Quantum Safe (OQS) project has the goal of developing and prototyping quantum-resistant cryptography. More information on OQS can be found on our website: https://openquantumsafe.org/ and on Github at https://github.com/open-quantum-safe/.

liboqs is an open source C library for quantum-resistant cryptographic algorithms. Details about liboqs can be found in README.md. See in particular limitations on intended use.

liboqs can be used with the following Open Quantum Safe application integrations:

  • oqs-provider: A standalone prototype OpenSSL 3 provider enabling liboqs-based quantum-safe and hybrid key authentication and exchange for TLS 1.3, X.509 certificate generation and CMS operations.
  • OQS-BoringSSL: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of BoringSSL; see https://github.com/open-quantum-safe/boringssl.
  • OQS-OpenSSH: A prototype integration of liboqs-based authentication and key exchange into Secure Shell (SSH) version 2 in our fork of OpenSSH; see https://github.com/open-quantum-safe/openssh.

Several demos are available for using the above libraries in applications, including Apache, Chromium, curl, haproxy, nginx, and Wireshark. Performance of liboqs in several settings is measured at https://openquantumsafe.org/benchmarking/.

liboqs can also be used in the following programming languages via language-specific wrappers:

Release notes

This is release candidate 1 for version 0.9.1 of liboqs. It was released on December 19, 2023.

This release is a security release which fixes potential non-constant-time behaviour in Kyber based on https://github.com/pq-crystals/kyber/commit/dda29cc63af721981ee2c831cf00822e69be3220

What's New

This release continues from the 0.9.0 release of liboqs.

Key encapsulation mechanisms

  • Kyber: C, AVX2, and aarch64 implementation

Detailed changelog

Full Changelog: https://github.com/open-quantum-safe/liboqs/compare/0.9.0...0.9.1-rc1

liboqs - liboqs version 0.9.0

Published by dstebila about 1 year ago

liboqs version 0.9.0

About

The Open Quantum Safe (OQS) project has the goal of developing and prototyping quantum-resistant cryptography. More information on OQS can be found on our website: https://openquantumsafe.org/ and on Github at https://github.com/open-quantum-safe/.

liboqs is an open source C library for quantum-resistant cryptographic algorithms. Details about liboqs can be found in README.md. See in particular limitations on intended use.

liboqs can be used with the following Open Quantum Safe application integrations:

  • oqs-provider: A standalone prototype OpenSSL 3 provider enabling liboqs-based quantum-safe and hybrid key authentication and exchange for TLS 1.3, X.509 certificate generation and CMS operations.
  • OQS-BoringSSL: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of BoringSSL; see https://github.com/open-quantum-safe/boringssl.
  • OQS-OpenSSH: A prototype integration of liboqs-based authentication and key exchange into Secure Shell (SSH) version 2 in our fork of OpenSSH; see https://github.com/open-quantum-safe/openssh.

Several demos are available for using the above libraries in applications, including Apache, Chromium, curl, haproxy, nginx, and Wireshark. Performance of liboqs in several settings is measured at https://openquantumsafe.org/benchmarking/.

liboqs can also be used in the following programming languages via language-specific wrappers:

Release notes

This is version 0.9.0 of liboqs. It was released on October 12, 2023.

This release features an update to the Classic McEliece KEM, bringing it in line with NIST Round 4. It also adds or updates ARM implementations for Kyber, Dilithium, and Falcon.

What's New

This release continues from the 0.8.0 release of liboqs.

Key encapsulation mechanisms

  • Classic McEliece: updated to Round 4 version.
  • Kyber: aarch64 implementation updated.

Digital signature schemes

  • Dilithium: aarch64 implementation updated.
  • Falcon: aarch64 implementation added.

Other changes

  • Update algorithm documentation
  • Support compilation for Windows on ARM64, Apple mobile, and Android platforms
  • Improve resilience of randombytes on Apple systems

Release call

Users of liboqs are invited to join a webinar on Thursday, November 2, 2023, from 12-1pm US Eastern time for information on this release, plans for the next release cycle, and to provide feedback on OQS usage and features.

The Zoom link for the webinar is: https://uwaterloo.zoom.us/j/98288698086


Detailed changelog

New Contributors

Full Changelog: https://github.com/open-quantum-safe/liboqs/compare/0.8.0...0.9.0

liboqs - liboqs version 0.9.0 release candidate 1

Published by SWilson4 about 1 year ago

liboqs version 0.9.0-rc1

About

The Open Quantum Safe (OQS) project has the goal of developing and prototyping quantum-resistant cryptography. More information on OQS can be found on our website: https://openquantumsafe.org/ and on Github at https://github.com/open-quantum-safe/.

liboqs is an open source C library for quantum-resistant cryptographic algorithms. Details about liboqs can be found in README.md. See in particular limitations on intended use.

liboqs can be used with the following Open Quantum Safe application integrations:

  • oqs-provider: A standalone prototype OpenSSL 3 provider enabling liboqs-based quantum-safe and hybrid key authentication and exchange for TLS 1.3, X.509 certificate generation and CMS operations.
  • OQS-OpenSSL 1.1.1: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of OpenSSL 1.1.1; see the OQS-OpenSSL-1_1_1-stable branch of our OpenSSL fork's repository. This project is not actively maintained any more.
  • OQS-BoringSSL: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of BoringSSL; see https://github.com/open-quantum-safe/boringssl.
  • OQS-OpenSSH: A prototype integration of liboqs-based authentication and key exchange into Secure Shell (SSH) version 2 in our fork of OpenSSH; see https://github.com/open-quantum-safe/openssh.

Several demos are available for using the above libraries in applications, including Apache, Chromium, curl, haproxy, nginx, and Wireshark. Performance of liboqs in several settings is measured at https://openquantumsafe.org/benchmarking/.

liboqs can also be used in the following programming languages via language-specific wrappers:

Release notes

This is release candidate 1 of version 0.9.0 of liboqs. It was released on September 29, 2023.

This release features an update to the Classic McEliece KEM, bringing it in line with NIST Round 4. It also adds or updates ARM implementations for Kyber, Dilithium, and Falcon.

What's New

This release continues from the 0.8.0 release of liboqs.

Key encapsulation mechanisms

  • Classic McEliece: updated to Round 4 version.
  • Kyber: aarch64 implementation updated.

Digital signature schemes

  • Dilithium: aarch64 implementation updated.
  • Falcon: aarch64 implementation added.

Other changes

  • Update algorithm documentation
  • Support compilation for Windows on ARM64, Apple mobile, and Android platforms
  • Improve resilience of randombytes on Apple systems

Detailed changelog

New Contributors

Full Changelog: https://github.com/open-quantum-safe/liboqs/compare/0.8.0...0.9.0-rc1

liboqs - liboqs version 0.8.0

Published by dstebila over 1 year ago

liboqs version 0.8.0

About

The Open Quantum Safe (OQS) project has the goal of developing and prototyping quantum-resistant cryptography. More information on OQS can be found on our website: https://openquantumsafe.org/ and on Github at https://github.com/open-quantum-safe/.

liboqs is an open source C library for quantum-resistant cryptographic algorithms. Details about liboqs can be found in README.md. See in particular limitations on intended use.

liboqs can be used with the following Open Quantum Safe application integrations:

  • OQS-OpenSSL 1.1.1: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of OpenSSL 1.1.1; see the OQS-OpenSSL-1_1_1-stable branch of our OpenSSL fork's repository.
  • oqs-provider: A standalone prototype OpenSSL 3 provider enabling liboqs-based quantum-safe and hybrid key authentication and exchange for TLS 1.3, X.509 certificate generation and CMS operations.
  • OQS-BoringSSL: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of BoringSSL; see https://github.com/open-quantum-safe/boringssl.
  • OQS-OpenSSH: A prototype integration of liboqs-based authentication and key exchange into Secure Shell (SSH) version 2 in our fork of OpenSSH; see https://github.com/open-quantum-safe/openssh.

Several demos are available for using the above libraries in applications, including Apache, Chromium, curl, haproxy, nginx, and Wireshark. Performance of liboqs in several settings is measured at https://openquantumsafe.org/benchmarking/.

liboqs can also be used in the following programming languages via language-specific wrappers:

Release notes

This is version 0.8.0 of liboqs. It was released on June 7, 2023.

What's New

This release continues from the 0.7.2 release of liboqs.

This release features many algorithm updates, including removal of algorithms and variants no longer proceeding through NIST standardization and updates to newer versions. See the detailed list of algorithm updates below.

Key encapsulation mechanisms

  • BIKE: updated to Round 4 version.
  • Kyber: 90s variants were removed.
  • NTRU Prime: All variants were removed, except for sntrup761.
  • Saber: removed.

Digital signature schemes

  • Dilithium; AES variants were removed.
  • Falcon: updated to the 2023-02-07 version.
  • Picnic: removed.
  • Rainbow: removed.
  • SPHINCS+: updated to version 3.1; SPHINCS+-Haraka variants were removed; SPHINCS+-SHA256 and SPHINCS+-SHAKE variants were renamed

Other changes

  • Add Cryptographic Bill of Materials (CBOM)
  • Improve building on ARM platforms
  • Improve performance when using OpenSSL 3 for symmetric cryptography
  • Increment shared object library version
  • New configure-time options for algorithm selections
  • pkgconfig file now available

Known issues

  • Issue #1488: 32-bit builds fail in Microsoft Visual C for Falcon AVX code

Detailed changelog

New Contributors

Full Changelog: https://github.com/open-quantum-safe/liboqs/compare/0.7.2...0.8.0

liboqs - liboqs version 0.8.0 release candidate 1

Published by dstebila over 1 year ago

liboqs version 0.8.0-rc1

About

The Open Quantum Safe (OQS) project has the goal of developing and prototyping quantum-resistant cryptography. More information on OQS can be found on our website: https://openquantumsafe.org/ and on Github at https://github.com/open-quantum-safe/.

liboqs is an open source C library for quantum-resistant cryptographic algorithms. Details about liboqs can be found in README.md. See in particular limitations on intended use.

liboqs can be used with the following Open Quantum Safe application integrations:

  • OQS-OpenSSL 1.1.1: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of OpenSSL 1.1.1; see the OQS-OpenSSL-1_1_1-stable branch of our OpenSSL fork's repository.
  • oqs-provider: A standalone prototype OpenSSL 3 provider enabling liboqs-based quantum-safe and hybrid key authentication and exchange for TLS 1.3, X.509 certificate generation and CMS operations.
  • OQS-BoringSSL: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of BoringSSL; see https://github.com/open-quantum-safe/boringssl.
  • OQS-OpenSSH: A prototype integration of liboqs-based authentication and key exchange into Secure Shell (SSH) version 2 in our fork of OpenSSH; see https://github.com/open-quantum-safe/openssh.

Several demos are available for using the above libraries in applications, including Apache, Chromium, curl, haproxy, nginx, and Wireshark. Performance of liboqs in several settings is measured at https://openquantumsafe.org/benchmarking/.

liboqs can also be used in the following programming languages via language-specific wrappers:

Release notes

This is release candidate 1 of version 0.8.0 of liboqs. It was released on May 22, 2023.

What's New

This release continues from the 0.7.2 release of liboqs.

This release features many algorithm updates, including removal of algorithms and variants no longer proceeding through NIST standardization and updates to newer versions. See the detailed list of algorithm updates below.

Key encapsulation mechanisms

  • BIKE: updated to Round 4 version.
  • Kyber: 90s variants were removed.
  • NTRU Prime: All variants were removed, except for sntrup761.
  • Saber: removed.

Digital signature schemes

  • Dilithium; AES variants were removed.
  • Falcon: updated to the 2023-02-07 version.
  • Picnic: removed.
  • Rainbow: removed.
  • SPHINCS+: updated to version 3.1; SPHINCS+-Haraka variants were removed; SPHINCS+-SHA256 and SPHINCS+-SHAKE variants were renamed

Other changes

  • Add Cryptographic Bill of Materials (CBOM)
  • Improve building on ARM platforms
  • Improve performance when using OpenSSL 3 for symmetric cryptography
  • Increment shared object library version
  • New configure-time options for algorithm selections
  • pkgconfig file now available

Detailed changelog

New Contributors

Full Changelog: https://github.com/open-quantum-safe/liboqs/compare/0.7.2...0.8.0-rc1

liboqs - liboqs version 0.7.2

Published by dstebila about 2 years ago

liboqs version 0.7.2

About

The Open Quantum Safe (OQS) project has the goal of developing and prototyping quantum-resistant cryptography. More information on OQS can be found on our website: https://openquantumsafe.org/ and on Github at https://github.com/open-quantum-safe/.

liboqs is an open source C library for quantum-resistant cryptographic algorithms. Details about liboqs can be found in README.md. See in particular limitations on intended use.

liboqs can be used with the following Open Quantum Safe application integrations:

  • OQS-OpenSSL 1.1.1: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of OpenSSL 1.1.1; see the OQS-OpenSSL-1_1_1-stable branch of our OpenSSL fork's repository.
  • oqs-provider: A standalone prototype OpenSSL 3 provider enabling liboqs-based quantum-safe and hybrid key exchange for TLS 1.3, and post-quantum and hybrid X.509 certificate generation and CMS operations.
  • OQS-BoringSSL: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of BoringSSL; see https://github.com/open-quantum-safe/boringssl.
  • OQS-OpenSSH: A prototype integration of liboqs-based authentication and key exchange into Secure Shell (SSH) version 2 in our fork of OpenSSH; see https://github.com/open-quantum-safe/openssh.

Several demos are available for using the above libraries in applications, including Apache, Chromium, curl, haproxy, nginx, and Wireshark. Performance of liboqs in several settings is measured at https://openquantumsafe.org/benchmarking/.

liboqs can also be used in the following programming languages via language-specific wrappers:

Release notes

This is version 0.7.2 of liboqs. It was released on August 21, 2022.

Security considerations

This release removes Rainbow level 1 and all variants of SIDH and SIKE due to cryptanalytic breaks of those algorithms. Users are advised to move away from use of those algorithms immediately.

What's New

This release continues from the 0.7.1 release of liboqs.

The goal of this release is to provide a final release for algorithms that were included in Round 3 of the NIST Post-Quantum Standardization project. As the security status of some algorithms changed during Round 3, it drops algorithms known to be broken as of release (Rainbow level 1, SIKE). Some algorithms also updated their specification during Round 3; version 0.7.2 does not incorporate any algorithm changes that result in different input/output behaviour compared to version 0.7.1; such changes will included in version 0.8.0.

The next release of liboqs, version 0.8.0, will remove some algorithms that did not advance beyond NIST Round 3, update implementations based on algorithm/specification revisions that happened during Round 3, and begin to incorporate Round 4 changes. Discussion of algorithms to be removed in version 0.8.0 can be found in https://github.com/open-quantum-safe/liboqs/issues/1245.

Key encapsulation mechanisms

  • Kyber: Update implementation and switch use of symmetric crypto to OQS common code
  • HQC: Fix build on gcc-12
  • SIKE: Remove SIKE due to break (https://eprint.iacr.org/2022/975)

Digital signature schemes

  • Dilithium: Add ARMv8 optimized implementation and switch use of symmetric crypto to OQS common code
  • Picnic: Update implementation
  • Rainbow: Remove Rainbow level 1 due to break (https://eprint.iacr.org/2022/214)

Other changes

  • Add support for building on powerpc64
  • Update XKCP implementation
  • Improve SHA2 implementation on ARMv8
  • Improve AES implementation on ARMv8
  • Add aarch64 CPU feature detection on FreeBSD
  • Improve cross-compiling on Windows
  • Enable integration of liboqs into other CMake-based projects
  • Increment shared object library version

Detailed changelog

Full Changelog: https://github.com/open-quantum-safe/liboqs/compare/0.7.1...0.7.2

liboqs - liboqs version 0.7.1

Published by dstebila almost 3 years ago

liboqs version 0.7.1

About

The Open Quantum Safe (OQS) project has the goal of developing and prototyping quantum-resistant cryptography. More information on OQS can be found on our website: https://openquantumsafe.org/ and on Github at https://github.com/open-quantum-safe/.

liboqs is an open source C library for quantum-resistant cryptographic algorithms. Details about liboqs can be found in README.md. See in particular limitations on intended use.

liboqs can be used with the following Open Quantum Safe application integrations:

  • OQS-OpenSSL 1.1.1: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of OpenSSL 1.1.1; see the OQS-OpenSSL-1_1_1-stable branch of our OpenSSL fork's repository.
  • oqs-provider: A standalone prototype of liboqs-based key exchange for TLS 1.3 using the OpenSSL 3 (alpha) provider integration mechanism.
  • OQS-BoringSSL: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of BoringSSL; see https://github.com/open-quantum-safe/boringssl.
  • OQS-OpenSSH: A prototype integration of liboqs-based authentication and key exchange into Secure Shell (SSH) version 2 in our fork of OpenSSH; see https://github.com/open-quantum-safe/openssh.

Several demos are available for using the above libraries in applications, including Apache, Chromium, curl, haproxy, nginx, and Wireshark. Performance of liboqs in several settings is measured at https://openquantumsafe.org/benchmarking/.

liboqs can also be used in the following programming languages via language-specific wrappers:

Release notes

This is version 0.7.1 of liboqs. It was released on December 16, 2021.

What's New

This release continues from the 0.7.0 release of liboqs.

Key encapsulation mechanisms

  • Add NTRU level 5 parameter sets (ntruhps40961229, ntruhrss1373)
  • Add NTRU Prime level 5 parameter sets (ntrulpr1277, sntrup1277)
  • Add ARMv8 aarch64 optimized implementations of Kyber and SABER
  • Minor updates to Kyber, NTRU, NTRU Prime, and SIKE implementations

Digital signature schemes

  • Minor updates to Dilithium implementation

Other changes

  • Optimized AES implementation on ARMv8 with crypto extensions.
  • Preliminary support for building on S390x platform
  • Improved build configurations on ARM platforms
  • Improvements to benchmarking harness, with improved precision on ARM platforms

Detailed changelog

Full Changelog: https://github.com/open-quantum-safe/liboqs/compare/0.7.0...0.7.1

liboqs - liboqs version 0.7.0

Published by dstebila about 3 years ago

liboqs version 0.7.0

About

The Open Quantum Safe (OQS) project has the goal of developing and prototyping quantum-resistant cryptography. More information on OQS can be found on our website: https://openquantumsafe.org/ and on Github at https://github.com/open-quantum-safe/.

liboqs is an open source C library for quantum-resistant cryptographic algorithms. Details about liboqs can be found in README.md. See in particular limitations on intended use.

liboqs can be used with the following Open Quantum Safe application integrations:

  • OQS-OpenSSL 1.1.1: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of OpenSSL 1.1.1; see the OQS-OpenSSL-1_1_1-stable branch of our OpenSSL fork's repository.
  • oqs-provider: A standalone prototype of liboqs-based key exchange for TLS 1.3 using the OpenSSL 3 (alpha) provider integration mechanism.
  • OQS-BoringSSL: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of BoringSSL; see https://github.com/open-quantum-safe/boringssl.

Several demos are available for using the above libraries in applications, including Apache, Chromium, curl, haproxy, and nginx. Performance of liboqs in several settings is measured at https://openquantumsafe.org/benchmarking/.

liboqs can also be used in the following programming languages via language-specific wrappers:

Release notes

This is version 0.7.0 of liboqs. It was released on August 11, 2021.

What's New

This release continues from the 0.6.0 release of liboqs.

Key encapsulation mechanisms

  • Update BIKE to Round 3 (version 3.2) -- add BIKE1, BIKE3, remove BIKE1-L1-CPA, BIKE1-L1-FO, BIKE1-L3-CPA, BIKE1-L3-FO
  • Update NTRU Prime implementation
  • Update SIKE implementation
  • Remove OQS_KEM_DEFAULT alias

Digital signature schemes

  • Remove OQS_SIG_DEFAULT alias

Other changes

  • Allow liboqs to build on other architectures, with preliminary builds on ppc64le and x86.
  • Support for building liboqs on Apple Silicon
  • New algorithm datasheets with more details on implementations.
  • Optimized SHA-256 implementation on ARMv8 with crypto extensions.
liboqs - liboqs version 0.6.0

Published by dstebila over 3 years ago

liboqs version 0.6.0

About

The Open Quantum Safe (OQS) project has the goal of developing and prototyping quantum-resistant cryptography. More information on OQS can be found on our website: https://openquantumsafe.org/ and on Github at https://github.com/open-quantum-safe/.

liboqs is an open source C library for quantum-resistant cryptographic algorithms. Details about liboqs can be found in README.md. See in particular limitations on intended use.

liboqs can be used with the following Open Quantum Safe application integrations:

  • OQS-OpenSSL 1.1.1: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of OpenSSL 1.1.1; see the OQS-OpenSSL-1_1_1-stable branch of our OpenSSL fork's repository.
  • oqs-provider: A standalone prototype of liboqs-based key exchange for TLS 1.3 using the OpenSSL 3 (alpha) provider integration mechanism.
  • OQS-BoringSSL: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of BoringSSL; see https://github.com/open-quantum-safe/boringssl.

Several demos are available for using the above libraries in applications, including Apache, Chromium, curl, haproxy, and nginx. Performance of liboqs in several settings is measured at https://openquantumsafe.org/benchmarking/.

liboqs can also be used in the following programming languages via language-specific wrappers:

Release notes

This is version 0.6.0 of liboqs. It was released on June 8, 2021.

What's New

This release continues from the 0.5.0 release of liboqs.

Key encapsulation mechanisms

  • Update Classic McEliece implementation
  • Bug fixes in SIKE
  • Bug fixes in HQC
  • Change unsigned char to uint8_t in KEM API
  • Fix wrong NIST level for Kyber768-90s

Digital signature schemes

  • Update SPHINCS+ to Round 3 version

Other changes

  • Improve random number generator when not relying on OpenSSL
  • Improve run-time and compile-time guarding of optimized code
  • Remove (unused) AES decryption code from common symmetric encryption code
  • Replace AES plain C implementation with a constant-time version
  • Update Windows cross-compiling toolchain
  • Build options changed:
    • By default, liboqs is now no longer built by default with CPU runtime feature detection and thus resulting executables may crash if not compiled suitably for the CPU on which the code shall be executed. For Docker files, we recommend setting OQS_DIST_BUILD to obtain code able to handle different CPU feature sets. Also, OQS_OPT_TARGET can be used to target a specific CPU at compile time. These flags are documented on the build options wiki page.
liboqs - liboqs version 0.5.0

Published by dstebila over 3 years ago

liboqs version 0.5.0

About

The Open Quantum Safe (OQS) project has the goal of developing and prototyping quantum-resistant cryptography. More information on OQS can be found on our website: https://openquantumsafe.org/ and on Github at https://github.com/open-quantum-safe/.

liboqs is an open source C library for quantum-resistant cryptographic algorithms. Details about liboqs can be found in README.md. See in particular limitations on intended use.

liboqs can be used with the following Open Quantum Safe application integrations:

  • OQS-OpenSSL 1.1.1: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of OpenSSL 1.1.1; see the OQS-OpenSSL-1_1_1-stable branch of our OpenSSL fork's repository.
  • oqs-provider: A standalone prototype of liboqs-based key exchange for TLS 1.3 using the OpenSSL 3 (alpha) provider integration mechanism.
  • OQS-OpenSSH: A prototype integration of liboqs-based authentication and key exchange into SSH in our fork of OpenSSH 7.9; see the OQS-master branch of our OpenSSH fork's repository.
  • OQS-BoringSSL: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of BoringSSL; see https://github.com/open-quantum-safe/boringssl.

Several demos are available for using the above libraries in applications, including Apache, Chromium, curl, haproxy, and nginx. Performance of liboqs in several settings is measured at https://openquantumsafe.org/benchmarking/.

liboqs can also be used in the following programming languages via language-specific wrappers:

Release notes

This is version 0.5.0 of liboqs. It was released on March 10, 2021.

What's New

This release continues from the 0.4.0 release of liboqs. Its main goal is to incorporate updates submitted to Round 3 of the NIST Post-Quantum Cryptography Standardization Project.

Deprecations

As a result of NIST's announcement of Round 3 of the Post-Quantum Cryptography Standardization Project, the 0.4.x series was the last release of liboqs to contain algorithms from Round 2 that are not Round 3 finalists or alternate candidates. Those algorithms have been removed in the 0.5.0 series. The algorithms in question are: NewHope, ThreeBears, MQDSS, and qTesla.

Key encapsulation mechanisms

  • BIKE: No changes.
  • Classic McEliece: Added AVX2 implementation.
  • FrodoKEM: Incorporate upstream bug fixes and add runtime CPU feature detection for AVX2/AES-NI implementation.
  • HQC: Update to Round 3 version.
  • Kyber: Update to Round 3 version.
  • NTRU: Incorporate upstream bug fixes.
  • NTRUPrime: Add NTRUPrime.
  • Saber: Update to Round 3 version.
  • SIKE: Update to version 3.4.

Digital signature schemes

  • Dilithium: Update to version 3.1.
  • Falcon: Update to Round 3 version.
  • Picnic: Update to Picnic v3.0.4.
  • Rainbow: Update to Round 3 version.
  • SPHINCS+: Incorporate upstream bug fixes.

Other changes

  • Support for building liboqs with CPU extensions has been enhanced, and most implementations now have runtime CPU feature detection.
  • A tool for benchmarking memory usage has been added (test_kem_mem and test_sig_mem).
  • Valgrind is used to check for secret-dependent branch throughout the library. Note that not all implementations currently avoid secret-dependent branching; see tests/constant_time for details.
liboqs - liboqs version 0.4.0

Published by dstebila about 4 years ago

liboqs version 0.4.0

About

The Open Quantum Safe (OQS) project has the goal of developing and prototyping quantum-resistant cryptography. More information on OQS can be found on our website: https://openquantumsafe.org/ and on Github at https://github.com/open-quantum-safe/.

liboqs is an open source C library for quantum-resistant cryptographic algorithms. Details about liboqs can be found in README.md. See in particular limitations on intended use.

liboqs can be used with the following Open Quantum Safe application integrations:

  • OQS-OpenSSL 1.1.1: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of OpenSSL 1.1.1; see the OQS-OpenSSL-1_1_1-stable branch of our OpenSSL fork's repository.
  • OQS-OpenSSH 7.9 portable 1: A prototype integration of liboqs-based authentication and key exchange into SSH in our fork of OpenSSH 7.9; see the OQS-master branch of our OpenSSH fork's repository.
  • OQS-BoringSSL: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of BoringSSL; see https://github.com/open-quantum-safe/boringssl.

liboqs can also be used in the following programming languages via language-specific wrappers:

Release notes

This is version 0.4.0 of liboqs. It was released on August 11, 2020.

What's New

This release continues from the 0.3.0 release of liboqs.

Key encapsulation mechanisms

  • HQC: Added version 2019/08/24
  • NewHope: Update to version 1.1
  • SIKE: Update to version 3.3

Digital signature schemes

  • Dilithium: Use version directly from PQCrystals GitHub
  • Picnic: Update to v3.0

Other changes

  • AES-NI support when liboqs does not use OpenSSL for AES

Deprecations

As a result of NIST's announcement of Round 3 of the Post-Quantum Cryptography Standardization Project, the 0.4.x series will be the last release(s) of liboqs that contain algorithms from Round 2 that are not Round 3 finalists or alternate candidates. Those algorithms will be removed in the 0.5.0 release. The algorithms in question are: NewHope, ThreeBears, MQDSS, and qTesla. These algorithms are considered deprecated within liboqs and will receive no updates after this release.

liboqs - liboqs version 0.3.0

Published by dstebila over 4 years ago

liboqs version 0.3.0

About

The Open Quantum Safe (OQS) project has the goal of developing and prototyping quantum-resistant cryptography. More information on OQS can be found on our website: https://openquantumsafe.org/ and on Github at https://github.com/open-quantum-safe/.

liboqs is an open source C library for quantum-resistant cryptographic algorithms. Details about liboqs can be found in README.md. See in particular limitations on intended use.

liboqs can be used with the following Open Quantum Safe application integrations:

  • OQS-OpenSSL 1.1.1: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of OpenSSL 1.1.1; see the OQS-OpenSSL-1_1_1-stable branch of our OpenSSL fork's repository.
  • OQS-OpenSSH 7.9 portable 1: A prototype integration of liboqs-based authentication and key exchange into SSH in our fork of OpenSSH 7.9; see the OQS-master branch of our OpenSSH fork's repository.
  • OQS-BoringSSL: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of BoringSSL; see https://github.com/open-quantum-safe/boringssl.

liboqs can also be used in the following programming languages via language-specific wrappers:

Release notes

This is version 0.3.0 of liboqs, which was released on June 10, 2020. Its release page on GitHub is https://github.com/open-quantum-safe/liboqs/releases/tag/0.3.0.

What's New

This release continues from the 0.2.0 release of liboqs.

Key encapsulation mechanisms

  • BIKE: Update to Round 2 submission; removes BIKE2-*, BIKE3-*, BIKE1-L5, renames BIKE1-L1 and BIKE1-L3 to BIKE1-L1-CPA and BIKE1-L3-CPA, and adds BIKE1-L1-FO and BIKE-L3-FO
  • Classic McEliece: Newly added
  • Kyber: Add "90s variants": Kyber512-90s, Kyber768-90s, Kyber1024-90s
  • LEDAcrypt: Newly added
  • ThreeBears: Newly added

Digital signature schemes

  • Falcon: Newly added
  • MQDSS: Update to v2.1
  • Picnic: Update to v2.2
  • qTesla: Update to v1.0
  • Rainbow: Newly added
  • SPHINCS+: Add AVX2 and AESNI implementations

Other changes

  • Switch build system to CMake
  • Add support for building via Mingw on Windows
  • Support cross compilation via CMake to Raspberry Pi, Android, Windows, and more
  • Most optimizations dependent on specific CPU features are automatically detected at runtime, rather than being selected at compile-time