Important links relating to development:
- See https://download.libsodium.org/doc/ for libsodium docs
- See https://paragonie.com/book/pecl-libsodium for a book describing usage
- See https://dev.to/paragonie/libsodium-quick-reference for libsodium quick reference
Suggested libsodium bindings for development:
- Swift (iOS): https://github.com/jedisct1/swift-sodium
- Java (Android): https://github.com/joshjdevl/libsodium-jni
- Java (Server): https://github.com/abstractj/kalium
- JavaScript (Web Client): https://github.com/jedisct1/libsodium.js
- We hash passwords with sodium_crypto_pwhash
sodium_crypto_pwhash_stris used to create a password hashsodium_crypto_pwhash_str_verifyis used to verify a password hash
- TODO: Choose constants to use
SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVESODIUM_CRYPTO_PWHASH_MEMLIMIT_SENSITIVE
- We use authenticated Public Key Encryption by using
sodium_crypto_box - See https://paragonie.com/book/pecl-libsodium/read/05-publickey-crypto.md for usage