RbNaCl 3.0.0: a modern cryptography library for Ruby

Sidebar: Check out my talk Being Boring - A Survivor’s Guide to Ruby
Cryptography (describes RbNaCl):

RbNaCl is a Ruby FFI binding to the Networking and Cryptography Library
by
Dan Bernstein and his collaborators:

Version 3.0 includes a new “SimpleBox” API designed to be the most
straightforward API for cryptography possible. It automatically uses a
random nonce per message (using libsodium’s randombytes implementation
which pulls from /dev/urandom on *IX and CryptGenRandom on Windows).
Simplebox is usable for both public-key and secret-key cryptography:

http://rubydoc.info/github/cryptosphere/rbnacl/master/RbNaCl/SimpleBox

Full list of changes from 2.0 below:

  • Rename RandomNonceBox to SimpleBox (backwards compatibility preserved)
  • Reverse documented order of SimpleBox/RandomNonceBox initialize
    parameters. Technically backwards compatible, but confusing.
  • Ensure all strings are ASCII-8BIT/BINARY encoding prior to use