rmonocypher provides a simple, high-level interface for easily encrypting R objects using a strong, modern cryptographic technique.
The key use-case this package addresses:
I want to easily encrypt and save data to a public location
(e.g. shared drive, cloud drive, etc) which only I can decrypt.
decrypt()
/encrypt()
read/write encrypted R objects to fileargon2()
derives encryption keys from passwordsrbyte()
generates secure random bytes using your operating system’s CSPRNG.monocypher
library (v4.0.2)This package can be installed from CRAN
install.packages('rmonocypher')
You can install the latest development version from GitHub with:
# install.package('remotes')
remotes::install_github('coolbutuseless/rmonocypher')
Pre-built source/binary versions can also be installed from R-universe
install.packages('rmonocypher', repos = c('https://coolbutuseless.r-universe.dev', 'https://cloud.r-project.org'))
Encrypt any R object and save to file.
encrypt(mtcars, dst = "SharedDrive/mydata.dat", key = "mykey")
Then decrypt the object using the same key.
decrypt(src = "SharedDrive/mydata.dat", key = "mykey")
For more details on how passwords are used to derive encryption keys, and for other ways of supplying and generating keys see the Vignette: Encryption Keys.
argon2()