Skip to content
Asmod4n edited this page Sep 9, 2017 · 2 revisions

libhydrogen

The Hydrogen library is a small, easy-to-use, hard-to-misuse cryptographic library for constrained environments.

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.
  • The whole code is released under a single, very liberal license (ISC).
  • Can generate cryptographically-secure random numbers, even on Arduino boards.
  • Attempts to mitigate the implications of accidental misuse.

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.
  • Replacing libsodium. Libhydrogen focuses on being small and is for environments where libsodium cannot be used.

Warning

This is a work in progress.

Clone this wiki locally