Plonky2 - это реализация SNARK, основанная на методах из PLONK и FRI. Поисковые таблицы, длина которых не делится на 26 = floor(num_routed_…
Plonky2 - это реализация SNARK, основанная на методах из PLONK и FRI. Поисковые таблицы, длина которых не делится на 26 = floor(num_routed_wires / 3), всегда включают пару ввод-вывод 0 -> 0. Таким образом, злоумышленный доказывающий всегда может доказать, что f(0) = 0 для любой поисковой таблицы f (если только ее длина случайно не делится на 26). Причина проблемы в том, что LookupTableGate-s заполнены нулями. Обходной путь со стороны пользователя - расширить таблицу (повторяя некоторые записи), чтобы ее длина стала делимой на 26. Эта уязвимость исправлена в версии 1.0.1.
Для удовлетворения потребности в криптографическом примитиве продукт реализует криптографический алгоритм с использованием нестандартной, недоказанной или запрещённой/несоответствующей требованиям криптографической реализации.
https://cwe.mitre.org/data/definitions/1240.html →Открыть в коллекции CWE →Криптоанализ — это процесс выявления слабостей в криптографических алгоритмах и использования этих слабостей для расшифровки зашифрованного текста без знания секретного ключа (индуктивный вывод). Иногда слабость заключается не в самом криптографическом алгоритме, а в способе его применения, что и делает криптоанализ успешным. Злоумышленник может преследовать и иные цели: полное вскрытие (нахождение секретного ключа), глобальный вывод (нахождение функционально эквивалентного алгоритма шифрования и дешифрования, не требующего знания секретного ключа), информационный вывод (получение определённых сведений об открытых или зашифрованных текстах, которые ранее были неизвестны) и различение алгоритма (злоумышленник способен отличить результат шифрования (зашифрованный текст) от случайной перестановки битов).
https://capec.mitre.org/data/definitions/97.html →Открыть в коллекции CAPEC →