#crypto #libsodium

libhydrogen

A modern and easy to use cryptography library

9 releases

0.4.1 May 16, 2021
0.3.0 Apr 2, 2020
0.2.1 Mar 10, 2020
0.2.0 Nov 24, 2019
0.1.1 Jan 4, 2018

#889 in Cryptography

Download history 34/week @ 2022-06-07 19/week @ 2022-06-14 22/week @ 2022-06-21 11/week @ 2022-06-28 22/week @ 2022-07-05 29/week @ 2022-07-12 24/week @ 2022-07-19 27/week @ 2022-07-26 39/week @ 2022-08-02 33/week @ 2022-08-09 12/week @ 2022-08-16 22/week @ 2022-08-23 16/week @ 2022-08-30 33/week @ 2022-09-06 26/week @ 2022-09-13 14/week @ 2022-09-20

89 downloads per month
Used in hyper-sse

ISC license

73KB
2.5K SLoC

dependency status

libhydrogen for rust

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. 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.

This crate implement high-level Rust bindings.

Documentation

Dependencies

~0.4–2.5MB
~52K SLoC