libhydrogen

A lightweight, secure, easy-to-use crypto library suitable for constrained environments.

https://github.com/jedisct1/libhydrogen

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.9%) to scientific vocabulary

Keywords

arduino atmega328p avr c crypto cryptography embedded embedded-systems gimli

Keywords from Contributors

zig-package
Last synced: 6 months ago · JSON representation ·

Repository

A lightweight, secure, easy-to-use crypto library suitable for constrained environments.

Basic Info
  • Host: GitHub
  • Owner: jedisct1
  • License: other
  • Language: C
  • Default Branch: master
  • Homepage: https://libhydrogen.org
  • Size: 367 KB
Statistics
  • Stars: 694
  • Watchers: 40
  • Forks: 105
  • Open Issues: 1
  • Releases: 0
Topics
arduino atmega328p avr c crypto cryptography embedded embedded-systems gimli
Created about 9 years ago · Last pushed 11 months ago
Metadata Files
Readme License Citation

README.md

Build status CodeQL scan Financial Contributors on Open Collective Coverity Scan Build Status TrustInSoft CI

libhydrogen

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

Owner

  • Name: Frank Denis
  • Login: jedisct1
  • Kind: user
  • Location: Antibes, France

Get my public keys here: https://sk.tl/7CPRo8kn

Citation (CITATION.cff)

cff-version: 1.2.0
title: libhydrogen
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Frank
    family-names: Denis
    orcid: 'https://orcid.org/0009-0008-4417-1713'
repository-code: 'https://github.com/jedisct1/libhydrogen'
url: 'https://libhydrogen.org'
abstract: 'A lightweight, secure, easy-to-use crypto library suitable for constrained environments.'
keywords:
  - cryptography
  - library
  - embedded
license: ISC

GitHub Events

Total
  • Issues event: 12
  • Watch event: 92
  • Issue comment event: 33
  • Push event: 4
  • Pull request review comment event: 5
  • Pull request review event: 5
  • Pull request event: 2
  • Fork event: 16
Last Year
  • Issues event: 12
  • Watch event: 92
  • Issue comment event: 33
  • Push event: 4
  • Pull request review comment event: 5
  • Pull request review event: 5
  • Pull request event: 2
  • Fork event: 16

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 335
  • Total Committers: 29
  • Avg Commits per committer: 11.552
  • Development Distribution Score (DDS): 0.179
Past Year
  • Commits: 5
  • Committers: 2
  • Avg Commits per committer: 2.5
  • Development Distribution Score (DDS): 0.4
Top Committers
Name Email Commits
Frank Denis g****b@p****g 275
Michael Smith m****l@s****t 15
Robert Edmonds e****s 7
Justin Decker J****0@g****m 3
Markus Petermann m****l@m****t 3
Taiki T****n 3
Dan Kouba d****a@p****o 2
DeeFuse 7****e 2
Phil Day p****y@c****m 2
myd7349 m****9@g****m 2
wuhanstudio w****o@q****m 2
Guillaume Millot g****t@g****m 2
Jonathan Gordon j****n@f****e 1
gh0st42 g****t@b****u 1
Adrien Gallouët a****n@g****r 1
Artem Godlevskyi a****y@g****m 1
Baptiste Canton b****t@s****r 1
Benjamin Valentin b****n@m****m 1
Chris Copeland c****s@c****t 1
Ian i****s@g****m 1
Jess j****r@g****m 1
Mohammad Puyandeh i****t@y****m 1
RikkaW r****a@s****e 1
Solar Designer s****r@o****m 1
daurnimator q****e@d****m 1
nxrighthere n****e@g****m 1
ohell a****t@l****n 1
per1234 a****s@p****m 1
sasiso s****i@g****m 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 68
  • Total pull requests: 43
  • Average time to close issues: 7 months
  • Average time to close pull requests: 3 months
  • Total issue authors: 55
  • Total pull request authors: 28
  • Average comments per issue: 2.68
  • Average comments per pull request: 2.81
  • Merged pull requests: 30
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: 1 day
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 1.5
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • chrisnc (5)
  • rligocki (4)
  • KamiK2K (3)
  • llsoft2000 (2)
  • AshishDurgapal (2)
  • creationix (2)
  • gurpreet- (2)
  • Laczen (1)
  • RandyGaul (1)
  • ulno (1)
  • 44670 (1)
  • DeeFuse (1)
  • luelista (1)
  • ohell (1)
  • jdgordon (1)
Pull Request Authors
  • spinda (8)
  • edmonds (4)
  • wuhanstudio (3)
  • autoantwort (2)
  • myd7349 (2)
  • 0xebef (2)
  • DeeFuse (2)
  • errno (2)
  • CharlesScoville (2)
  • PhilDay-CT (2)
  • guillaumemillot (1)
  • batmac (1)
  • markuspetermann (1)
  • solardiz (1)
  • benpicco (1)
Top Labels
Issue Labels
Stale (10)
Pull Request Labels
Stale (2)

Dependencies

.github/workflows/codeql-analysis.yml actions
  • actions/checkout v2 composite
  • github/codeql-action/analyze v1 composite
  • github/codeql-action/autobuild v1 composite
  • github/codeql-action/init v1 composite
.github/workflows/shiftleft-analysis.yml actions
  • ShiftLeftSecurity/scan-action master composite
  • actions/checkout v1 composite