Ruby FFI binding to libsodium, providing high-level, secure-by-default cryptographic APIs for Ruby applications.
RbNaCl is a Ruby FFI binding to the libsodium (Networking and Cryptography) library, providing high-level cryptographic APIs for Ruby applications. It solves the problem of complex, error-prone cryptographic configuration by offering secure-by-default interfaces for encryption, signatures, and authentication. The library uses state-of-the-art algorithms like Curve25519 and XSalsa20 to ensure both security and performance.
Ruby developers who need to implement cryptography in their applications, particularly those who want to avoid the pitfalls of low-level cryptographic primitives and prefer a secure-by-default approach.
Developers choose RbNaCl because it provides a "cryptography on Rails" experience—expertly-assembled APIs that are hard to misuse, with modern algorithms and a focus on security by design. It eliminates the need to make error-prone decisions about cryptographic primitives, unlike traditional libraries like OpenSSL.
Ruby FFI binding to the Networking and Cryptography (NaCl) library (a.k.a. libsodium)
Provides high-level APIs that abstract away complex cryptographic decisions, reducing misconfiguration risks, as emphasized in the 'cryptography on Rails' philosophy.
Uses state-of-the-art encryption like Curve25519 and XSalsa20, ensuring both security and performance, highlighted in the README's focus on modern standards.
Features like SimpleBox offer straightforward encryption methods for common tasks, making it accessible without deep cryptographic expertise.
Tested against multiple Ruby versions including JRuby, ensuring compatibility across diverse environments, as listed in the supported platforms.
Requires separate installation of libsodium, which can be complex—especially on Windows—as detailed in the installation section, adding setup overhead.
Focuses on specific modern algorithms from libsodium, making it unsuitable for applications needing older or alternative cryptographic standards, as admitted with the 'Bank Grade' joke.
Documentation is hosted in a separate Wiki rather than integrated into the gem, which may be less accessible and potentially outdated for users.
bcrypt-ruby is a Ruby binding for the OpenBSD bcrypt() password hashing algorithm, allowing you to easily store a secure hash of your users' passwords.
Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.