summaryrefslogtreecommitdiff
path: root/security/libhydrogen/pkg-descr
blob: 65f344c1b1a68514d9e13b62b664ac1ce175198b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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.