Skip to content

Features

Gurpreet Paul edited this page Nov 18, 2022 · 6 revisions

General

  • Kotlin compatible.
  • Fat-jar compatible; can be used in applications such as SpringBoot.
  • Up-to-date with the awesome Libsodium library (version 1.0.18, 17th Nov 2022).
  • Bundled and compiled native libraries so you don't have to.
  • Ability to use commercially under the terms of the MPLv2.
  • Great collaborative documentation.
  • Reactive and fast release cadence.
  • Bring your own Libsodium native libraries.
  • Lazysodium for Android and Lazysodium for Java both benefit from the same codebase.
  • They both have been designed with JNA Direct Mapping for extra speed.
  • Architected in a composite oriented fashion to allow developers to narrow what operation they want to use at any time - less opportunity for bugs.
  • Architected in such a way that you can use raw JNA wrapped native C functions whenever you want.
  • Super easy install.
  • Completely open source.

Operations list

A checkmark in the Native column means that the particular operation has C native functions written for Java and Android. A checkmark in the Lazy column means that the particular operation has been smartly implemented so that the developer has an effortless experience on Java and Android. A checkmark in the Tests column means that testing has been performed on that operation for both Java and Android.

Operation Native Lazy Tests
Auth - crypto_auth* functions ✔ ✔ ✔
AEAD -crypto_aead* functions ✔ ✔ ✔
Box - crypto_box* functions ✔ ✔ ✔
Diffie-Hellman - crypto_scalarmult* functions ✔ ✔ ✔
Ed25519 to Curve25519 - crypto_sign_ed25519 functions ✔ ✔ ✔
GenericHash - crypto_generichash* functions ✔ ✔ ✔
HMAC-SHA-2 - crypto_auth_hmacsha* functions ✔ ✔ ✔
KeyDerivation - crypto_kdf* functions ✔ ✔ ✔
KeyExchange - crypto_kx* functions ✔ ✔ ✔
Padding - several padding functions ✔ ✔ ✔
PwHash - crypto_pwhash*functions ✔ ✔ ✔
Random - several randomisation functions ✔ ✔ ✔
Scrypt - crypto_pwhash_scrypt* functions2 ✔ ✔ ✔
SecretBox - crypto_secretbox* functions ✔ ✔ ✔
SecretStream - crypto_secretstream* functions ✔ ✔ ✔
SHA256/SHA512 - crypto_hash* functions ✔ ✔ ✔
ShortHash - crypto_shorthash* functions ✔ ✔ ✔
Sign - crypto_sign* functions ✔ ✔ ✔
Stream Ciphers1 - crypto_stream* functions ✔ ✔ ✔
SecureMemory - sodium_m functions ✘ ✔ ✔

Footnotes

  1. The Android variant does not have Salsa20 8 and 12 rounds and no XChaCha20.
  2. The Android variant does not have functions of the following form: cryptoPwHashScryptSalsa208*

Please see this question in the FAQ for the reason as to why certain functions are not available on Android.

Clone this wiki locally