Skip to content
Michael Baentsch edited this page Jun 24, 2020 · 1 revision

Language wrappers

Background

While the OQS project makes available language wrappers for the core quantum-safe cryptography library to ease experimentation with these algorithms in different languages (Java, C++, Python, Dotnet, Go ), the effort of doing so for higher layer abstractions such as TLS/SSL or SSH is beyond the resources of our team, particularly considering possible expectations regarding operating system integration, testing, maintenance or security properties of such code.

Nevertheless we acknowledge the need for supporting higher layer protocols in different languages. We therefore aim to provide a collection of suggestions on this page how to facilitate this.

Baseline: C Language

SSL/TLS

The OQS-OpenSSL repository provides a way to utilize QSC-enabled TLS/SSL in the usual C-language manner.

SSH

The OQS-OpenSSH repository provides a way to utilize QSC-enabled SSH in the usual C-language manner.

Language wrappers

Go

The Go-curl project provides a way to wrap libcurl in a Go-language API. Together with the OQS-curl build of curl this provides a way to experiment with quantum-safe TLS in Go.

Java

Suggestions welcome.

Python

Suggestions welcome.

Any other language

Suggestions welcome.

Solicitation for further input

The input on this page relies heavily on the suggestions by users of our work and we strongly solicit input as to adding to the lists on this page.