Нимью-это хеш-агрессивная библиотека, которая верит в случайные оракулы. Это облегчает написание многоуровневых протоколов общественных монет. Он обеспечивает общий API для генерации случайных монет Verifier и случайности ProVER. Проект имеет следующие ящики:
nimue
: основная библиотека, с привязками для group
и ark-ff
. Этот ящик обеспечивает основные признаки для хэшевых оснований для функций сжатия и хэш-функций на основе губки , как посредством общего API Digest
, так и (более мелкозернистого и эффективного) Function Function Functionnimue-pow
: расширение для проблем, рассчитанных с помощью шлифования / проверки работы;nimue-poseidon
: работа в реализации хэш-функции Посейдона (в Arkworks).nimue-anemoi
: работа в реализации хэш-функции Anemoi (в Arkworks);Автоматическая генерация транскриптов. Nimue поставляется с батареями, включенными для сериализации/опустошения алгебраических элементов, таких как полевые/групповые элементы в Arkworks и Zkcrypto. Пользователи могут создавать верхнюю часть с помощью признаков расширения.
Поддержка пользовательской хэш -функции. Чтобы построить безопасное преобразование фиат-шамира, минимальное требование-это функция перестановки по сравнению с некоторым набором, который поддерживает байто-кодирование. Это может быть u8
представляющий
Ретро-совместимость. У нас есть устаревший интерфейс для любой хэш -функции, которая удовлетворяет черту digest::Digest
, такой как sha2
и blake2
.
Предварительная обработка . В рекурсивных рычаках, минимизация количества призывов хэша при сохранении безопасности имеет решающее значение. Мы предлагаем инструменты для предварительной обработки транскрипта (т. Е. Состояние преобразования фиат-шамир) для достижения этой цели.
Генерация частной случайности . Очень важно избегать предоставления двух разных задач для одного и того же сообщения о провале. Мы делаем все возможное, чтобы избежать этого, привязывая посреднику случайность с транскриптом протокола, не делая доказательства детерминированным.
Проверьте документацию и некоторые examples/
.