GitHub - r-lib/sodium: R bindings to libsodium (original) (raw)
sodium
A Modern and Easy-to-Use Crypto Library
Bindings to libsodium: a modern, easy-to-use software library for encryption, decryption, signatures, password hashing and more. Sodium uses curve25519, a state-of-the-art Diffie-Hellman function by Daniel Bernstein, which has become very popular after it was discovered that the NSA had backdoored Dual EC DRBG.
Documentation
About the R package:
- Vignette: Introduction to Sodium for R
- Vignette: How does cryptography work
Other resources:
Hello World
Generate keypair:
key <- keygen() pub <- pubkey(key)
Encrypt message with pubkey
msg <- serialize(iris, NULL) ciphertext <- simple_encrypt(msg, pub)
Decrypt message with private key
out <- simple_decrypt(ciphertext, key)
Installation
Binary packages for OS-X or Windows can be installed directly from CRAN:
install.packages("sodium")
Installation from source on Linux or OSX requires libsodium. On Debian or Ubuntu install libsodium-dev:
sudo apt-get install -y libsodium-dev
On Fedora we need libsodium-devel:
sudo yum install libsodium-devel
On CentOS / RHEL we install libsodium-devel via EPEL:
sudo yum install epel-release
sudo yum install libsodium-devel
On OS-X use libsodium from Homebrew: