ДОКАЗАТЕЛЬСТВО ПРИНАДЛЕЖНОСТИ ЧИСЛА МНОЖЕСТВУ КВАДРАТИЧНЫХ НЕВЫЧЕТОВ | Протокол QNR | |
Протокол интерактивного доказательства | Протокол доказательства с нулевым разглашением |
Постановка задачи |
Пусть - множество натуральных чисел, и множество натуральных чисел, меньших чем и взаимно простых с . называется квадратичным вычетом по модулю , если существует такой , что . В противном случае, называется квадратичным невычетом по модулю . Пусть — целое число, и — простое число, отличное от . Символ Лежандра определяется следующим образом: , если делится на ; , если является квадратичным вычетом по модулю , то есть не делится на и существует такое целое , что ; , если является квадратичным невычетом по модулю , то есть не делится на p и не является квадратичным вычетом по модулю . Пусть — нечётное, большее единицы число и — его разложение на простые множители (среди могут быть равные). Тогда для произвольного целого числа символ Якоби определяется равенством: , где — символы Лежандра. По определению считаем, что для всех . Пусть и . Пусть знает, что не существует такой , что . хочет доказать свое знание, не показывая само доказательство несуществования. |
Описание протокола |
Общий вход: натуральные числа и в двоичном представлении, ,, 1) Первый шаг проверяющего. Используя случайные биты, выбирает наугад и бит . Если , то задает , если же , то задает . отправляет доказывающему. Затем выбирает два случайных множества, каждое мощности
и
отправляет доказывающему элементы множества в случайном порядке. 2) Первый шаг доказывающего. выбирает случайное подмножество мощности и отправляет его обратно проверяющему. 3) Второй шаг проверяющего. Для каждого отправляет доказывающему такой, что или . Пусть разность мощностей множеств и равна . Тогда выбирает случайных элементов из большего множества и отправляет их соответствующих доказывающему (т.е. или для некоторых). задает и . Если полагает
а если , то полагает
отправляет элементы множества в случайном порядке. 4) Второй шаг доказывающего. проверяет, что такого вида как в 3) (т.е. для всех или для некоторого) и что . Если это не так, то останавливается, обнаруживая обман. В противном случае, отправляет значение . 5) проверяет значение . Если , то останавливается, обнаруживая обман. 6) и повторяют шаги 1) - 5) раз. Проверяющий принимает доказательство, если он завершит итераций шагов 1) - 5). В противном случае, отвергает. |
Основные сведения | |||
|
|
|
|