Протокол с нулевым разглашением (zero-knowledge, ZK) — это криптографический протокол, который позволяет одной стороне (доказывающему) убедительно доказать другой стороне (проверяющему), что у неё есть определённая информация (например, решение задачи), не раскрывая саму информацию.
Протоколы с нулевым разглашением должны удовлетворять трём основным свойствам:
- Полнота (Completeness): если утверждение истинно, то честный проверяющий будет убеждён доказательством.
- Корректность (Soundness): если утверждение ложно, то проверяющий не будет убеждён доказательством.
- Нулевое разглашение (Zero-Knowledge): если утверждение истинно, проверяющий не узнает ничего нового, кроме того факта, что утверждение истинно.