This repository contains cryptographic primitives mostly used in a ZKP context. The goal is to gather a library of ZKP-friendly crypto algorithms written in Kotlin (accessible in Java) in a single place to simplify research and development.
Currently, following algorithms are implemented:
- Pedersen hash
- MiMC7 hash
- Poseidon hash
- Edwards curve arithmetic
- Curves: Jubjub, BabyJubjub, AltBabyJubjub
To use zkkrypto as Gradle dependency add Jitpack to the 'repositories' list.
repositories {
...
maven { url 'https://jitpack.io' }
...
}
Then you can use zkkrypto package in your dependencies:
dependencies {
...
implementation "com.ing.dlt:zkkrypto:{VERSION}"
...
}
Done! Now import chosen primitives and knock yourself out.
We are going to support this repo and to add new algorithms to it. So if you are interested in particular primitives - let us know. Push requests are highly appreciated as well.
Code is released under Apache license so feel free to use it wherever you want.
Although please keep in mind that it comes with absolutely no warranty so before using it in production - please make sure you know what you are doing.
For any questions either create an Issue or just poke somebody from our team directly. E.g.: