libhydrogen alternatives and similar libraries
Based on the "Cryptography" category.
Alternatively, view libhydrogen alternatives based on common mentions on social networks and blogs.
-
OpenSSL
A robust, commercial-grade, full-featured, and Open Source cryptography library. [Apache] websire -
Tiny AES128 in C
A small and portable implementation of the AES128 ECB encryption algorithm implemented in C. [PublicDomain] -
Themis by Cossack Labs
High-level open-source crypto library that solves 90% of typical data protection use cases that are common for most applications. -
Bcrypt
A cross platform file encryption utility. Encrypted files are portable across all supported operating systems and processors. -
retter
A collection of hash functions, ciphers, tools, libraries, and materials related to cryptography. -
Libgcrypt
A general purpose cryptographic library originally based on code from GnuPG. [LGPLv2.1+]
Get performance insights in less than 4 minutes
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of libhydrogen or a related project?
README
The Hydrogen library is a small, easy-to-use, hard-to-misuse cryptographic library.
Features:
- Consistent high-level API, inspired by libsodium. Instead of low-level primitives, it exposes simple functions to solve common problems that cryptography can solve.
- 100% built using just two cryptographic building blocks: the Curve25519 elliptic curve, and the Gimli permutation.
- Small and easy to audit. Implemented as one tiny file for every set of operation, and adding a single
.c
file to your project is all it takes to use libhydrogen in your project. - The whole code is released under a single, very liberal license (ISC).
- Zero dynamic memory allocations and low stack requirements (median: 32 bytes, max: 128 bytes). This makes it usable in constrained environments such as microcontrollers.
- Portable: written in standard C99. Supports Linux, *BSD, MacOS, Windows, and the Arduino IDE out of the box.
- Can generate cryptographically-secure random numbers, even on Arduino boards.
- Attempts to mitigate the implications of accidental misuse, even on systems with an unreliable PRG and/or no clock.
Non-goals:
- Having multiple primitives serving the same purpose, even to provide compatibility with other libraries.
- Networking -- but a simple key exchange API based on the Noise protocol is available, and a STROBE-based transport API will be implemented.
- Interoperability with other libraries.
- Replacing libsodium. Libhydrogen tries to keep the number of APIs and the code size down to a minimum.
Libhydrogen documentation
The documentation is maintained in the libhydrogen wiki.
The legacy libhydrogen code (leveraging XChaCha20, SipHashX, BLAKE2SX, Curve25519) remains available in the v0 branch.
Contributors
Code Contributors
This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)].
*Note that all licence references and agreements mentioned in the libhydrogen README section above
are relevant to that project's source code only.