All Projects → jedisct1 → Libhydrogen

jedisct1 / Libhydrogen

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

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Libhydrogen

Qpn
QP-nano real-time embedded framework/RTOS for embedded systems based on active objects (actors) and hierarchical state machines
Stars: ✭ 107 (-56.68%)
Mutual labels:  arduino, embedded-systems, avr
Helios
The free embedded operating system.
Stars: ✭ 223 (-9.72%)
Mutual labels:  arduino, avr, embedded
Platformio Core
PlatformIO is a professional collaborative platform for embedded development 👽 A place where Developers and Teams have true Freedom! No more vendor lock-in!
Stars: ✭ 5,539 (+2142.51%)
Mutual labels:  arduino, avr, embedded
Helib
HElib is an open-source software library that implements homomorphic encryption. It supports the BGV scheme with bootstrapping and the Approximate Number CKKS scheme. HElib also includes optimizations for efficient homomorphic evaluation, focusing on effective use of ciphertext packing techniques and on the Gentry-Halevi-Smart optimizations.
Stars: ✭ 2,749 (+1012.96%)
Mutual labels:  cryptography, crypto
Wycheproof
Project Wycheproof tests crypto libraries against known attacks.
Stars: ✭ 2,299 (+830.77%)
Mutual labels:  cryptography, crypto
Logic Analyzer
Logic Analyzer, for Arduino, AVR, ESP8266 and STM32 with a very nice working processing interface, you could run it also on any Android device.
Stars: ✭ 203 (-17.81%)
Mutual labels:  arduino, avr
Gun
An open source cybersecurity protocol for syncing decentralized graph data.
Stars: ✭ 15,172 (+6042.51%)
Mutual labels:  cryptography, crypto
Lwesp
Lightweight Espressif AT parser library for ESP8266 and ESP32 devices.
Stars: ✭ 212 (-14.17%)
Mutual labels:  embedded-systems, embedded
Platform Espressif8266
Espressif 8266: development platform for PlatformIO
Stars: ✭ 206 (-16.6%)
Mutual labels:  arduino, embedded
Nsec
A modern and easy-to-use cryptographic library for .NET Core based on libsodium
Stars: ✭ 217 (-12.15%)
Mutual labels:  cryptography, crypto
Avr Hal
embedded-hal abstractions for AVR microcontrollers
Stars: ✭ 217 (-12.15%)
Mutual labels:  arduino, avr
Armadillo
A shared preference implementation for confidential data in Android. Per default uses AES-GCM, BCrypt and HKDF as cryptographic primitives. Uses the concept of device fingerprinting combined with optional user provided passwords and strong password hashes.
Stars: ✭ 226 (-8.5%)
Mutual labels:  cryptography, crypto
Blog
A set of various projects based on ESP8266, ESP32, ATtiny13, ATtiny85, ATtiny2313, ATmega8, ATmega328, ATmega32, STM32 and more.
Stars: ✭ 198 (-19.84%)
Mutual labels:  arduino, avr
Jled
Non-blocking LED controlling library for Arduino and friends.
Stars: ✭ 197 (-20.24%)
Mutual labels:  arduino, embedded
Parse Embedded Sdks
The Embedded SDKs for the Parse Platform
Stars: ✭ 244 (-1.21%)
Mutual labels:  arduino, embedded
Awesome Embedded Rust
Curated list of resources for Embedded and Low-level development in the Rust programming language
Stars: ✭ 2,805 (+1035.63%)
Mutual labels:  embedded-systems, embedded
Megacore
Arduino hardware package for ATmega64, ATmega128, ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, AT90CAN32, AT90CAN64 and AT90CAN128
Stars: ✭ 206 (-16.6%)
Mutual labels:  arduino, avr
Pjon
PJON (Padded Jittering Operative Network) is an experimental, arduino-compatible, multi-master, multi-media network protocol.
Stars: ✭ 2,615 (+958.7%)
Mutual labels:  arduino, embedded
Pkcs11interop
Managed .NET wrapper for unmanaged PKCS#11 libraries
Stars: ✭ 170 (-31.17%)
Mutual labels:  cryptography, crypto
Atmega Soldering Station
T12 Quick Heating Soldering Station
Stars: ✭ 183 (-25.91%)
Mutual labels:  arduino, avr

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].