ไลบรารีไฮโดรเจนเป็นห้องสมุดเข้ารหัสเข้ารหัสที่มีขนาดเล็กง่ายต่อการใช้งานยาก
คุณสมบัติ:
- API ระดับสูงที่สอดคล้องกันซึ่งได้รับแรงบันดาลใจจาก Libsodium แทนที่จะเป็นแบบดั้งเดิมระดับต่ำมันจะเปิดเผยฟังก์ชั่นง่ายๆเพื่อแก้ปัญหาที่พบบ่อยที่การเข้ารหัสสามารถแก้ไขได้
- สร้างขึ้น 100% โดยใช้การสร้างจุดเข้ารหัสเพียงสองบล็อก: เส้นโค้งรูปวงรี 255519 และการเปลี่ยนแปลงของ Gimli
- เล็กและง่ายต่อการตรวจสอบ นำไปใช้เป็นไฟล์เล็ก ๆ หนึ่งไฟล์สำหรับการดำเนินการทุกชุดและการเพิ่มไฟล์
.c เดียวในโครงการของคุณคือทั้งหมดที่ใช้ในการใช้ libhydrogen ในโครงการของคุณ - รหัสทั้งหมดได้รับการปล่อยตัวภายใต้ใบอนุญาตเสรีนิยมเดียว (ISC)
- การจัดสรรหน่วยความจำแบบไดนามิกเป็นศูนย์และข้อกำหนดสแต็กต่ำ (ค่ามัธยฐาน: 32 ไบต์, สูงสุด: 128 ไบต์) สิ่งนี้ทำให้สามารถใช้งานได้ในสภาพแวดล้อมที่มีข้อ จำกัด เช่นไมโครคอนโทรลเลอร์
- พกพา: เขียนในมาตรฐาน C99 รองรับ Linux, *BSD, MacOS, Windows และ Arduino IDE ออกจากกล่อง
- สามารถสร้างตัวเลขสุ่มที่ปลอดภัยในการเข้ารหัสลับได้แม้ในบอร์ด Arduino
- ความพยายามที่จะลดผลกระทบของการใช้ในทางที่ผิดโดยไม่ตั้งใจแม้ในระบบที่มี PRG ที่ไม่น่าเชื่อถือและ/หรือไม่มีนาฬิกา
ไม่ใช่เป้าหมาย:
- การมีหลายเบื้องต้นที่ให้บริการจุดประสงค์เดียวกันแม้กระทั่งให้ความเข้ากันได้กับห้องสมุดอื่น ๆ
- เครือข่าย-แต่ API Exchange Key Exchange ตามโปรโตคอลเสียงมีให้บริการและจะมีการใช้งาน API การขนส่งตามแฟลช
- การทำงานร่วมกันกับห้องสมุดอื่น ๆ
- แทนที่ libsodium Libhydrogen พยายามรักษาจำนวน APIs และขนาดรหัสให้น้อยที่สุด
เอกสาร Libhydrogen
เอกสารดังกล่าวได้รับการเก็บรักษาไว้ใน Libhydrogen Wiki
รหัส libhydrogen ดั้งเดิม (การใช้ประโยชน์จาก XCHACHA20, Siphashx, Blake2SX, Curve25519) ยังคงมีอยู่ในสาขา V0
ผู้มีส่วนร่วม
ผู้สนับสนุนรหัส
โครงการนี้มีอยู่ขอบคุณทุกคนที่มีส่วนร่วม [มีส่วนช่วย].