I’m happy to announce the first public release of RbNaCl, a Ruby binding to
the Networking and Cryptography library by Daniel J. Bernstein:
RbNaCl is actually a Ruby FFI binding to the shared library provided by
Sodium, a more portable repackaging of NaCl based entirely on the reference
C code in NaCl with all assembly removed:
NaCl itself has been designed to be relatively easy-to-use, with many
common cryptographic user errors eliminated from its algorithms by design.
It provides APIs which seek to eliminate mistakes, and therefore has
relatively simple requirements in order for users to utilize it securely.
RbNaCl is one of the few Ruby crypto libraries which provides authenticated
encryption modes, and wraps both the “box” (public-key) and “secret_box”
(secret-key) encryption functions provided by NaCl. In addition, RbNaCl
also exposes the Ed25519 digital signature algorithm, a fast and
deterministic alternative to algorithms like (EC)DSA. Finally, RbNaCl also
wraps the hash functions and HMAC support found in NaCl.
If you’re looking to do cryptography in Ruby, RbNaCl is one of your best
options.
Enjoy!
···
–
Tony Arcieri