Nimue เป็นไลบรารีแฮชที่ไม่เชื่อเรื่องพระเจ้าที่เชื่อใน oracles แบบสุ่ม มันอำนวยความสะดวกในการเขียนโปรโตคอลเหรียญสาธารณะหลายรอบ มันมี API ทั่วไปสำหรับการสร้างเหรียญแบบสุ่มของ Verifier และสุ่มสุ่ม โครงการมีลังดังต่อไปนี้:
nimue
: ห้องสมุดหลักที่มีการผูกสำหรับ group
และ ark-ff
ลังนี้ให้ลักษณะพื้นฐานสำหรับฐานแฮชเกี่ยวกับ ฟังก์ชั่นการบีบอัด และ ฟังก์ชั่นแฮชที่ใช้ฟองน้ำ ทั้งผ่าน API Digest
ของ Rust และ A API (ละเอียดมากขึ้นและมีประสิทธิภาพมากขึ้น) APInimue-pow
: ส่วนขยายสำหรับความท้าทายที่คำนวณผ่านการบด / พิสูจน์การทำงาน;nimue-poseidon
: งานระหว่างดำเนินการตามการ ดำเนินการของฟังก์ชันแฮชโพไซดอน (ใน Arkworks)nimue-anemoi
: งานระหว่างดำเนินการตาม การดำเนินงานของฟังก์ชัน Hash Anemoi (ใน Arkworks);การสร้างการถอดเสียงอัตโนมัติ Nimue มาพร้อมกับแบตเตอรี่ที่รวมอยู่ในการทำให้เป็นอนุกรม/องค์ประกอบพีชคณิตเช่นองค์ประกอบภาคสนาม/กลุ่มใน Arkworks และ Zkcrypto ผู้ใช้สามารถสร้างด้านบนของมันผ่านลักษณะส่วนขยาย
สนับสนุนฟังก์ชั่นแฮชแบบกำหนดเอง ในการสร้างการแปลง fiat-shamir ที่ปลอดภัยข้อกำหนดขั้นต่ำคือฟังก์ชั่นการเปลี่ยนแปลงในบางชุดที่รองรับการเข้ารหัสไบต์ มันอาจเป็น u8
ที่เป็นตัวแทน
ความเข้ากันได้ย้อนยุค เรามีอินเทอร์เฟซแบบดั้งเดิมสำหรับฟังก์ชั่นแฮชใด ๆ ที่ตอบสนอง digest::Digest
Trait เช่น sha2
และ blake2
การประมวลผลล่วงหน้า ในอาการเศร้าซ้ำการลดจำนวนการเรียกร้องแฮชให้น้อยที่สุดในขณะที่รักษาความปลอดภัยเป็นสิ่งสำคัญ เรานำเสนอเครื่องมือสำหรับการประมวลผลการถอดเสียงล่วงหน้า (เช่นสถานะของการแปลงเฟียต-แชมร์) เพื่อให้บรรลุเป้าหมายนี้
การสร้างแบบสุ่มส่วนตัว มันเป็นสิ่งสำคัญที่จะหลีกเลี่ยงการให้ความท้าทายที่แตกต่างกันสองรายการสำหรับข้อความสุภาษิตเดียวกัน เราพยายามอย่างดีที่สุดเพื่อหลีกเลี่ยงโดยการลดการสุ่มสุ่มให้กับการถอดเสียงโปรโตคอลโดยไม่ต้องทำการพิสูจน์
ตรวจสอบเอกสารและ examples/