This fork was created to make the Ed25519 low-level API functions available, e.g. Ed25519 scalar multiplication. While Ristretto255 and Curve25519 do have all or some methods exposed, Ed25519 do not.
Additionally, since this is meant to be used for Algorand's wallet the LazySodium-Android files (SodiumAndroid, LazySodiumAndroid, Base64) have been added under the main path. However, the binaries are not kept together with the Linux/Mac/Windows binaries, they can be found in the LazySodium-Android repository here. Just as the binaries are stored under lazysodium-android/app/src/main /jniLibs/
you should copy+paste them into your Android app in the equivalent path with the same jniLibs folder name, and then adjust the build gradle file accordingly.
Check out this Arc52 sample Android app for further clarification.
Lazysodium is a complete Java (JNA) wrapper over the Libsodium library that provides developers with a smooth and effortless cryptography experience.
This library is fully compatible with Kotlin.
You can find an up-to-date feature list here.
Please view the official documentation for a more comprehensive guide.
The following example is for users of the build tool Gradle:
// Top level build file
repositories {
// Add this to the end of any existing repositories
mavenCentral()
}
// Project level dependencies section
dependencies {
implementation "com.goterl:lazysodium-java:VERSION_NUMBER"
implementation "net.java.dev.jna:jna:JNA_NUMBER"
}
Substitute VERSION_NUMBER
for the version in this box:
Substitute JNA_NUMBER
for the latest version of JNA.
Please view our official documentation to get started.
There are some example projects available here.
We also have an Android implementation available at Lazysodium for Android. It has the same API as this library, so you can share code easily!
Created by Terl.