Nimue هي مكتبة التجزئة التي تؤمن بأوراق عشوائية. إنه يسهل كتابة بروتوكولات عملة عامة متعددة الجولات. يوفر واجهة برمجة تطبيقات عامة لتوليد العملات العشوائية للمقابلة وعشوائية المثل. يحتوي المشروع على الصناديق التالية:
nimue
: المكتبة الأساسية ، مع روابط group
و ark-ff
. يوفر هذا الصندوق السمات الأساسية لقواعد التجزئة على وظائف الضغط ووظائف التجزئة المستندة إلى الإسفنج ، سواء عبر واجهة برمجة تطبيقات Digest
العامة لـ RUST و API (أكثر حبيبية وفعالة) APInimue-pow
: امتداد للتحديات المحسوبة عن طريق الطحن / إثبات العمل ؛nimue-poseidon
: عمل مستمر تنفيذ وظيفة تجزئة Poseidon (في Arkworks).nimue-anemoi
: عمل مستمر في تنفيذ وظيفة تجزئة Anemoi (في Arkworks) ؛توليد النصوص التلقائي. يأتي Nimue مع البطاريات المدرجة للتسلسل/إزالة العناصر الجبرية مثل عناصر الحقل/المجموعة في Arkworks و Zkcrypto. يمكن للمستخدمين بناء الجزء العلوي منه عبر سمات التمديد.
دعم وظيفة التجزئة المخصصة. لبناء تحويل آمن فيات-شامير ، فإن الحد الأدنى من المتطلبات هو وظيفة التقليب على مجموعة تدعم ترميز البايت. يمكن أن يكون u8
يمثل
التوافق الرجعية. لدينا واجهة قديمة لأي وظيفة تجزئة ترضي سمة digest::Digest
، مثل sha2
و blake2
.
المعالجة المسبقة . في الزقاصير العودية ، تقليل عدد دعوات التجزئة مع الحفاظ على الأمن أمر بالغ الأهمية. نحن نقدم أدوات للمعالجة المسبقة للنسخة (أي حالة تحويل Fiat-Shamir) لتحقيق هذا الهدف.
توليد عشوائي خاص . من الأهمية بمكان تجنب تقديم تحديين مختلفين لنفس رسالة المثل. نحن نبذل قصارى جهدنا لتجنب ذلك من خلال ربط العشوائية المثل بنص البروتوكول ، دون تقديم دليل حتمي.
تحقق من الوثائق وبعض examples/
.