liboqs has two branches: "master branch", and "nist-branch".
liboqs master branch focuses on focuses on selected key encapsulations and signature algorithms. Implementations on this branch must beet certain acceptance criteria.
liboqs nist-branch focuses on incorporating submissions to the NIST Post-Quantum Cryptography standardization project. It takes a "light touch" approach to incorporation.
The goals and acceptance criteria for new algorithms on liboqs master branch are stated in the README.md. In particular, our goals are to include high quality implementations for which the contributor aims to help with ongoing maintenance.
To discuss contributing a new algorithm to liboqs master branch, please contact Douglas Stebila or post an issue on GitHub for discussion.
Additional information about contributing code, including coding conventions, can be found on our GitHub wiki.
Contributions to our existing library are gratefully welcomed. If you find a bug in our code, have some improvements to an algorithm, are interested in getting liboqs to build on a new platform, or want to explore integrating liboqs into a new application, please feel free to contact us on GitHub via an issue or pull request.
Bug reports can be filed as issues on GitHub. Please use the "bug" label. Please indicate which branch of liboqs the issue relates to (master or nist-branch), and what platform was in use (CPU, operating system, compiler).
liboqs is licensed primarily under the MIT License. Submissions to liboqs master branch must be under the MIT License, a compatible license, or in the public domain. See README.md for details.