Features

Last updated 3 months ago

General

  • Super easy install.

  • Completely open source.

  • Ability to use commercially under the terms of the MPLv2.

  • Great collaborative documentation.

  • Up-to-date with the awesome Libsodium library (version 1.0.16, 31st Oct 2018).

  • Bundled and compiled native libraries so you don't have to.

  • 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 the raw JNA wrapped native C functions whenever you want.

  • Built by a division of Terl called DrLib. We built Lazysodium for our cryptographic personal knowledgebase app called Recordo. This means Lazysodium is a long-term project.

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 3^3

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* functions 2^2

SecretBox - crypto_secretbox* functions

SecretStream - crypto_secretstream* functions

SHA256/SHA512 - crypto_hash* functions

ShortHash - crypto_shorthash* functions

Sign - crypto_sign* functions

Stream Ciphers 1^1 - 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* 3. The Android variant does not have auth functions for armv7 devices. Looking into a fix currently.

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