Home

Awesome

GitHub actions QUIC open-quantum-safe

oqs-demos

Purpose

A repository of instructions (with associated patches and scripts) to enable, through liboqs, the use of quantum-safe cryptography in various application software.

In most cases, Dockerfiles encode the instructions for ease-of-use: Just do docker build -t <package_name> .. For more detailed usage instructions (parameters, algorithms, etc.) refer to the README for each package. Pre-built Docker images may also be available.

As the level of interest in providing and maintaining these integrations for public consumption has fallen, the packages are tagged with the github monikers of the persons willing to keep supporting them or the term "unsupported". If that tag is listed, no CI and github support for the integration is available and the code shall be seen as a snapshot that once worked only.

We are explicitly soliciting contributors to maintain those integrations labelled "unsupported".

Currently available integrations at their respective support level:

Build instructionsPre-built Docker image or binary filesSupport?
curlGithub: oqs-demos/curlDockerhub: openquantumsafe/curl, Dockerhub: openquantumsafe/curl-quic@baentsch, @pi-314159
Apache httpdGithub: oqs-demos/httpdDockerhub: openquantumsafe/httpd@baentsch
nginxGithub: oqs-demos/nginxDockerhub: openquantumsafe/nginx, Dockerhub: openquantumsafe/nginx-quic@baentsch, @bhess, @pi-314159
ChromiumGithub: oqs-demos/chromium (limited support)-@pi-314159
OpenSSHGithub: oqs-demos/opensshDockerhub: openquantumsafe/opensshunsupported
WiresharkGithub: oqs-demos/wiresharkDockerhub: openquantumsafe/wiresharkunsupported
EpiphanyGithub: oqs-demos/epiphanyDockerhub: openquantumsafe/epiphanyunsupported
OpenVPNGithub: oqs-demos/openvpnDockerhub: openquantumsafe/openvpnunsupported
ngtcp2Github: oqs-demos/ngtcp2Dockerhub: Server: openquantumsafe/ngtcp2-server, Client: openquantumsafe/ngtcp2-clientunsupported
OpenLiteSpeedGithub: oqs-demos/openlitespeed Dockerhub: openquantumsafe/openlitespeedunsupported
h2loadGithub: oqs-demos/h2load Dockerhub: openquantumsafe/h2loadunsupported
HAproxyGithub: oqs-demos/haproxyDockerhub: openquantumsafe/haproxyunsupported
MosquittoGithub: oqs-demos/mosquittoDockerhub: openquantumsafe/mosquittounsupported
EnvoyGithub: oqs-demos/envoy Dockerhub: openquantumsafe/envoyunsupported
UnboundGithub: oqs-demos/unbound Dockerhub: openquantumsafe/unboundunsupported

It should be possible to use the openssl (s_client), curl and GNOME Web/epiphany clients with all algorithm combinations available at the Open Quantum Safe TLS/X.509 interoperability test server at https://test.openquantumsafe.org (set up using oqs-provider v0.6.1 and liboqs v0.10.1) but no guarantees are given for software not explicitly labelled with the name of a person offering support for it. Since OQS-BoringSSL no longer maintains the same set of algorithms, software that depends on OQS-BoringSSL (e.g., nginx-quic and curl-quic) may not fully (inter)operate with the test server.

Contributing

Contributions are gratefully welcomed. See our Contributing Guide for more details.

License

All modifications to this repository are released under the same terms as liboqs, namely as described in the file LICENSE.

Team

Contributors to oqs-demos include:

Christian Paquin (Microsoft Research)
Dimitris Sikeridis (University of New Mexico / Cisco Systems)
Douglas Stebila (University of Waterloo)
Goutam Tamvada (University of Waterloo)
Michael Baentsch (baentsch.ch)
ISE @ FHNW (Fachhochschule Nordwestschweiz)
Anthony Hu (wolfSSL)
Igor Barshteyn
Chia-Chin Chung
Keelan Cannoo (University of Mauritius / Cyberstorm.mu)
Dindyal Jeevesh Rishi (University of Mauritius / cyberstorm.mu)
Dan Rouhana (University of Washington)
JT (Henan Raytonne Trading Company)

Acknowledgments

Most effort in this project has been provided by individual contributors working in their own time and out of personal interest to see how PQ crypto integrates into existing software stacks.

This project is part of Open Quantum Safe.