Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КП - отеты на билеты.docx
Скачиваний:
0
Добавлен:
04.06.2026
Размер:
74.69 Кб
Скачать

Инфа взята из книги, так что не факт, что это то, что надо (можете поискать ответы в лекциях).

1. Квадратичный вычет (невычет). Символ Лежандра.

Вопрос: Понятие квадратичного вычета (невычета). Символ Лежандра, порядок нахождения символа Лежандра.

Источник: Яковлев, Коржик. Гл. 2 «Теоретико-числовые основы криптографии», §2.4.

Квадратичный вычет по модулю простого p: число a (1 ≤ a ≤ p-1) называется квадратичным вычетом по модулю p, если существует x такое, что x² ≡ a (mod p). Иначе a — квадратичный невычет.

Среди чисел {1, 2, …, p-1} ровно (p-1)/2 квадратичных вычетов и (p-1)/2 невычетов.

Символ Лежандра (a/p):

(a/p) = 0, если p | a

(a/p) = 1, если a — квадратичный вычет по mod p

(a/p) = -1, если a — квадратичный невычет по mod p

Порядок нахождения (критерий Эйлера):

(a/p) ≡ a^((p-1)/2) (mod p)

Пример: p=7, a=2. Вычисляем: 2^((7-1)/2) = 2^3 = 8 ≡ 1 (mod 7). Значит (2/7)=1 — квадратичный вычет. Проверка: 3² = 9 ≡ 2 (mod 7). Верно.

Пример: p=7, a=3. 3^3 = 27 ≡ 6 ≡ -1 (mod 7). Значит (3/7)=-1 — квадратичный невычет.

Также используется закон квадратичной взаимности Гаусса и символ Якоби для составных модулей.

2. Китайская теорема об остатках (кто).

Вопрос: Китайская теорема об остатках. Решение системы уравнений на её основе.

Источник: Яковлев, Коржик. Гл. 2 «Теоретико-числовые основы криптографии», §2.3.

КТО: пусть m₁, m₂, …, mₖ — попарно взаимно простые числа. Тогда система:

x ≡ a₁ (mod m₁), x ≡ a₂ (mod m₂), …, x ≡ aₖ (mod mₖ)

имеет единственное решение по модулю M = m₁·m₂·…·mₖ.

Алгоритм решения:

1) Вычислить M = m₁·m₂·…·mₖ

2) Для каждого i: Mᵢ = M / mᵢ

3) Найти yᵢ = Mᵢ⁻¹ (mod mᵢ) — обратный элемент

4) x ≡ Σ(aᵢ · Mᵢ · yᵢ) (mod M)

Пример: x≡2(mod3), x≡3(mod5), x≡2(mod7)

M = 3·5·7 = 105

M₁=35, M₂=21, M₃=15

y₁: 35·y₁≡1(mod3) → 2·y₁≡1(mod3) → y₁=2

y₂: 21·y₂≡1(mod5) → 1·y₂≡1(mod5) → y₂=1

y₃: 15·y₃≡1(mod7) → 1·y₃≡1(mod7) → y₃=1

x = 2·35·2 + 3·21·1 + 2·15·1 = 140 + 63 + 30 = 233 ≡ 233 mod 105 = 23

Проверка: 23≡2(mod3)✓, 23≡3(mod5)✓, 23≡2(mod7)✓

3. Генерирование простых чисел. Тест Ферма.

Вопрос: Теорема о доле простых чисел. Числа Кармайкла. Тест Ферма: преимущества и недостатки.

Источник: Яковлев, Коржик. Гл. 3 «Генерирование ключевых параметров», §3.1–3.2.

Теорема (теорема о распределении простых чисел): число простых чисел π(n) ≤ n удовлетворяет: π(n) ≈ n/ln(n). Доля простых среди чисел до n примерно равна 1/ln(n).

Например, среди 1024-битных чисел ~1 из 710 является простым, что делает перебор с вероятностным тестом практически эффективным.

Числа Кармайкла:

Составные числа n, для которых a^(n-1) ≡ 1 (mod n) для всех a, взаимно простых с n. Самые малые: 561, 1105, 1729. Тест Ферма принимает их за простые (ложноположительный результат).

Тест Ферма:

Выбрать случайное a (1 < a < n). Вычислить r = a^(n-1) mod n. Если r ≠ 1 — число составное. Если r = 1 — вероятно простое.

Преимущества: быстро, легко реализовать.

Недостатки: не выявляет числа Кармайкла. Вероятность ошибки ≥ 1/2 за один раунд. Для надёжности нужно много итераций.

4. Тест квадратного корня. Тест Миллера-Рабина.

Вопрос: Тест испытания квадратным корнем. Тест Миллера-Рабина, его преимущества и недостатки.

Источник: Яковлев, Коржик. Гл. 3 «Генерирование ключевых параметров», §3.2–3.3.

Нетривиальный квадратный корень из 1:

Если n — простое, то единственные решения x²≡1(mod n): x=1 и x=n-1. Если существует x≠±1 такой, что x²≡1(mod n), то n — составное.

Тест Миллера-Рабина:

Представим n-1 = 2^s · d, где d — нечётное.

1) Выбрать случайное a: 2 ≤ a ≤ n-2

2) Вычислить x = a^d mod n

3) Если x=1 или x=n-1 — вероятно простое (пройти к следующему раунду)

4) Для r = 1..s-1: x = x² mod n. Если x=n-1 — вероятно простое

5) Если не нашли n-1 — число составное

Вероятность ошибки за один раунд ≤ 1/4. За t раундов — ≤ (1/4)^t.

Преимущества: нет ложноположительных для чисел Кармайкла; вероятность ошибки строго ограничена (≤4^(-t)).

Недостатки: вероятностный (не детерминированный); для абсолютной уверенности нужно много раундов.

На практике: 40 раундов дают вероятность ошибки ≈ 4^(-40) ≈ 10^(-24).