Die Wasserstoffbibliothek ist eine kleine, benutzerfreundliche, schwer zu misuse kryptografische Bibliothek.
Merkmale:
- Konsistente hochrangige API, inspiriert von Libsodium. Anstelle von Primitiven auf niedriger Ebene enthüllt es einfache Funktionen, um häufige Probleme zu lösen, die die Kryptographie lösen kann.
- 100% gebaut mit nur zwei kryptografischen Bausteinen: der elliptischen Kurve der Kurve25519 und der Gimli -Permutation.
- Klein und leicht zu prüfen. Implementiert als eine winzige Datei für jeden Betriebssatz und Hinzufügen einer einzigen
.c -Datei zu Ihrem Projekt ist alles, was Libhydrogen in Ihrem Projekt verwendet. - Der gesamte Code wird unter einer einzigen, sehr liberalen Lizenz (ISC) veröffentlicht.
- Null -Dynamic -Speicherzuweisungen und Anforderungen an niedriger Stapel (Median: 32 Bytes, max: 128 Bytes). Dies macht es in eingeschränkten Umgebungen wie Mikrocontrollern verwendbar.
- Portable: Geschrieben in Standard C99. Unterstützt Linux, *BSD, MacOS, Windows und die Arduino -Ide -IDE aus der Box.
- Kann kryptografisch zufällige Zahlen erzeugen, selbst in Arduino-Boards.
- Versuche, die Auswirkungen eines zufälligen Missbrauchs zu mildern, selbst auf Systemen mit unzuverlässigen PRG und/oder keine Uhr.
Nichtgänger:
- Mehrere Primitive haben den gleichen Zweck, selbst um Kompatibilität mit anderen Bibliotheken zu gewährleisten.
- Networking-Es ist jedoch eine einfache wichtige Austausch-API, die auf dem Rauschprotokoll basiert, und es wird eine auf Strobe basierende Transport-API implementiert.
- Interoperabilität mit anderen Bibliotheken.
- Ersetzen von libsodium. Libhydrogen versucht, die Anzahl der APIs und die Codegröße auf ein Minimum zu halten.
Libhydrogen -Dokumentation
Die Dokumentation wird im Libhydrogen -Wiki beibehalten.
Der Legacy Libhydrogencode (Nutzung von Xchacha20, Siphashx, Blake2SX, Curve25519) bleibt im V0 -Zweig verfügbar.
Mitwirkende
Code -Mitwirkende
Dieses Projekt besteht dank aller Menschen, die einen Beitrag leisten. [Beitragen].