security/libhydrogen 0.0.0.g20260608 FreeBSD
Lightweight, secure, easy-to-use crypto library for constrained environments
- System
- FreeBSD
- Repository
- FreeBSD ports
- Maintainer
- [email protected]
- Last update
- Commit
195476f62d- License
- ISCL
- Categories
- security
- Package size
- 27.0 KiB, 118.0 KiB installed
Description
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.
In the other systems
| System | Port | Version |
|---|---|---|
| FreeBSD | security/libhydrogen | 0.0.0.g20260608 |
| DragonFly | security/libhydrogen | 0.0.0.g20250130 |
Install
Binary package:
pkg install libhydrogen
From the ports tree:
cd /usr/ports/security/libhydrogen/ && make install clean
To depend on this port in another port's Makefile:
RUN_DEPENDS= libhydrogen>0:security/libhydrogen
LIB_DEPENDS= libhydrogen.so:security/libhydrogen
Packages
The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.
| Repository | aarch64 | amd64 | armv6 | armv7 | i386 |
|---|---|---|---|---|---|
| FreeBSD:14:latest | 0.0.0.g20260608 | 0.0.0.g20260608 | - | 0.0.0.g20250130 | 0.0.0.g20260608 |
| FreeBSD:14:quarterly | 0.0.0.g20260608 | 0.0.0.g20260608 | n/a | 0.0.0.g20250130 | 0.0.0.g20260608 |
| FreeBSD:15:latest | 0.0.0.g20260608 | 0.0.0.g20260608 | n/a | 0.0.0.g20250130 | 0.0.0.g20250130 |
| FreeBSD:15:quarterly | 0.0.0.g20260608 | 0.0.0.g20260608 | n/a | n/a | n/a |
| FreeBSD:16:latest | 0.0.0.g20260608 | 0.0.0.g20260608 | n/a | n/a | n/a |
| FreeBSD:16:quarterly | n/a | n/a | n/a | n/a | n/a |
Dependencies
The Makefile names none itself; they come from USES and USE_*.
The full lists below include those, and their dependencies in turn.
Build dependencies 9
No port depends on this one.
Configuration
No options to configure.
- USES
- meson
- Service scripts
- none
Files
pkg-plist 4
- include/hydrogen.h
- lib/libhydrogen.a
- lib/libhydrogen.so
- libdata/pkgconfig/libhydrogen.pc
distinfo 1
| File | Size | SHA256 |
|---|---|---|
| jedisct1-libhydrogen-0.0.0.g20260608-f47ec4f_GH0.tar.gz | 47290 | ccd32d6b25b9f81793d32ab18588bd996f3f6def84d7b94425bc5859b74b62b2 |