-
Notifications
You must be signed in to change notification settings - Fork 131
Using liboqs algorithms not in the fork
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 one of the two following methods:
liboqs can be configured at compile-time to use any of its algorithms as the "default" algorithm. If OpenSSL 1.1.1 is told to use oqs_kem_default or oqs_sig_default, then it will respectively use whichever KEM or signature algorithm was set as the default in liboqs at compile time. To set the default algorithm:
-
Follow the instructions to set OQS_KEM_DEFAULT and OQS_SIG_DEFAULT in liboqs and proceed to build the project.
-
Recompile OpenSSL against the newly built liboqs as in the Quickstart section here
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. Then, proceed to step 2 of this section.