-
Notifications
You must be signed in to change notification settings - Fork 0
Home
KyberKotlin is a serious project, and special care and attention needs to be given to it, just like having your own child. If you want to contribute, be prepared to be a parent! That goes the same way when using it. Library users must ensure they update regularly to mitigate security-related risks. Your child KyberKotlin needs to learn how to protect itself against bad people and hackers.
- Kotlin 2.0.20+ (Preferably. Will work with older Kotlin versions.)
- Java 8+ (Has not been tested below Java 8. It may work at your own risk.)
- Gradle 8.0+ (Has only been tested with Gradle 8 and up.)
If you're here to use a Kotlin Multiplatform library for ML-KEM(Kyber), here are the steps to install it as a dependency.
After installation, please view the docs to get a good grasp of how the KyberKotlin library works. We are confident you don't need to because of the intuitive design of the methods and classes, but if you have doubts, go read it.
All the source codes for KyberKotlin are readily available in the repository. You may build it however you want as long as you abide by our Apache v2 License.
There are two releasing branches for KyberKotlin; "standard" and "master". These two have different yet similar code bases. They do the same thing, but they do it differently.
- Follows NIST FIPS 203 Standard.
- No optimizations.
- Less secure.
The "standard" branch best suits those who want to implement or study NIST FIPS 203 as it works out of the box.
- Works like NIST FIPS 203.
- Greatly optimized.
- Security fixes.
The "master" branch is best suited for real-world use cases as it is faster and better in every way. The downside is that "master" code is harder to read as optimization and security fixes are added.
KyberKotlin may seem like a simple and small library, but it deals with security, and no one will use it if it is vulnerable to malicious attacks. Thus, we need many people who have different ideas, views, and experiences to make this library as secure and performant as possible.
As its own repository, KyberKotlin has its own rules regarding contribution. These rules may not be strictly implemented, but it's best if everyone abides by them to keep the codebase clean and maintainable for the foreseeable future.
Coders are humans. We make mistakes. All codebases will inevitably experience their fair share of security-related problems; the bigger they grow, the more sensitive they become. Please follow the guidelines on privately reporting security-related problems to speed up their resolution.
If you have a neat idea and think KyberKotlin needs to have it, don't be afraid to create a discussion post.
This project is run by real people who have responsibilities in real life. If you want to show your appreciation, please contact Ron Lauren Hombre on Linkedin.