Nimue adalah perpustakaan hash-agnostik yang percaya pada nubuat acak. Ini memfasilitasi penulisan protokol koin publik multi-bulat. Ini memberikan API generik untuk menghasilkan koin acak verifier dan keacakan pepatah. Proyek ini memiliki peti berikut:
nimue
: Perpustakaan inti, dengan binding untuk group
dan ark-ff
. Peti ini memberikan sifat-sifat dasar untuk pangkalan hash pada fungsi kompresi dan fungsi hash berbasis spons , baik melalui API Digest
Generic Digest dan A (lebih halus dan efisien) fungsi permutasi APInimue-pow
: Perpanjangan untuk tantangan yang dihitung melalui penggilingan / bukti kerja;nimue-poseidon
: Pekerjaan yang sedang berlangsung implementasi fungsi hash Poseidon (dalam Arkworks).nimue-anemoi
: Suatu pekerjaan yang sedang berlangsung implementasi fungsi hash anemoi (dalam arkworks);Pembuatan transkrip otomatis. Nimue dilengkapi dengan baterai yang disertakan untuk serial/deserialization elemen aljabar seperti elemen lapangan/grup di Arkworks dan Zkcrypto. Pengguna dapat membangun bagian atasnya melalui ciri -ciri ekstensi.
Dukung fungsi hash kustom. Untuk membangun transformasi fiat-shamir yang aman, persyaratan minimal adalah fungsi permutasi atas beberapa set yang mendukung pengkodean byte. Itu bisa menjadi u8
yang mewakili
Kompatibilitas retro. Kami memiliki antarmuka warisan untuk fungsi hash apa pun yang memuaskan digest::Digest
, seperti sha2
dan blake2
.
Preprocessing . Dalam geraman rekursif, meminimalkan jumlah doa hash sambil menjaga keamanan sangat penting. Kami menawarkan alat untuk preprocessing transkrip (yaitu, keadaan transformasi fiat-shamir) untuk mencapai tujuan ini.
Generasi keacakan pribadi . Sangat penting untuk menghindari memberikan dua tantangan berbeda untuk pesan pepatah yang sama. Kami melakukan yang terbaik untuk menghindarinya dengan mengikat keacakan pepatah ke transkrip protokol, tanpa membuat bukti deterministik.
Lihat dokumentasi dan beberapa examples/
.