Skip to content

Using liboqs algorithms not in the fork

Douglas Stebila edited this page Apr 27, 2023 · 6 revisions

If an algorithm is provided by liboqs but has not been listed as being supported by OQS-OpenSSL 1.1.1, it could mean that the algorithm is unsupported: consult this wiki page for more information.

It could also mean that the algorithm simply hasn't been added to OQS-OpenSSL 1.1.1 yet. In that case, it can be added through by generating the required code:

Code Generation

The oqs-template folder contains a mechanism by which the code to add a new key-exchange or digital signature algorithm is automatically generated and inserted at the appropriate locations in the OpenSSL code base.

If support for a new algorithm/variant is required, add the algorithm to oqs-template/generate.yml, following the conventions by which the other algorithms have been specified. Then, proceed to step 2 of this section.

If a signature algorithm variant that is disabled by default is to be enabled, simply change the enable value of that variant in oqs-template/generate.yml from false to true, keeping in mind that at most 64 variants can be enabled at a time (there are 9 non-post-quantum algorithms already used in OpenSSL 1.1.1 leaving room for up to 55 PQ algorithms). Then, proceed to step 2 of this section.