Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
cryptology_konspekt.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
3.09 Mб
Скачать

Из последнего равенства аналогичным образом для некоторого целого неотрицательно-

го s получаем

, .

Повторяя эту процедуру еще k-3 раза, получим для некоторого неотрицательного s

равенство

.

Из него, наконец, находим

.

4. Задача распознавания квадратичного вычета по модулю .

Формулировка задачи в этом случае выглядит так:

Задано: N, , p и q – различные простые нечетные, .

Распознать: существует ли такое у Z, что ?

Решение этой задачи сводится к факторизации числа .

5. Задача извлечения квадратного корня по модулю .

Формулировка задачи выглядит так:

Задано: N, , p и q – различные простые нечетные, .

Найти: такое у Z, что , если у существует.

Ответ на вопрос этой задачи (как и обоснование ответа к предыдущей) дает теорема:

Теорема. Пусть N, , p и q – различные простые нечетные, . Обозначим и . Тогда

1) Если существует такое у Z, что

, (7.1) то для и (7.2) выполняется и . (7.3) Справедливо и обратное: для любых и из (7.3) у из (7.2) удовлетворяет (7.1).

2) х является квадратичным вычетом по модулю n тогда и только тогда, когда х есть квадратичный вычет по модулю р и по модулю q.

3) Если х – квадратичный вычет по модулю n, то существует ровно четыре различных корня квадратных из х по модулю n.

В последнем пункте следует поступать так. Комбинируя пары решений по mod p и mod q, следует решать далее системы сравнений вида

u = x (mod p),

u = x (mod q), где i,j = 1,2.

Решения этих систем дают искомые четыре варианта корня квадратного из x по mod n.

Итак, как видно из теоремы, и задача нахождения квадратного корня по модулю n сводится полиномиально к задаче факторизации. Оказывается, что существует и обратное сведение, т.е. задачу факторизации числа можно свести к задаче извлечения квадратного корня по модулю n.

Теорема. Пусть N, , p и q – различные простые нечетные, , а и – два различных корня из х по модулю n таких, что . Тогда есть один из делителей р или q.

Легко представить простой Лас-Вегас оракульный алгоритм, который факторизует числа n указанного вида с доступом к оракулу , который поставляет корень квадратный по запросу х.

Вход: n = pq, где p и q – различные простые нечетные.

1. Выбрать случайный элемент Z . Вычислить .

2. Сделать оракулу запрос x. Пусть – ответ оракула, т.е. .

3. Если выполняется условие , то вычислить с помощью алгоритма

Евклида и результат падать на выход.

Так как y выбирается случайно, то согласно пункту 3 предыдущей теоремы условие выполняется с вероятностью ½. Если применить алгоритм k раз, то вероятность того, что это условие не выполнится ни разу, составит .

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]