Экстернат |
Простые числа
12.4. Китайская теорема об остатках
Китайская теорема об остатках (CRT — Chinese Reminder Theorem) используется, чтобы решить множество уравнений с одной переменной, но различными взаимно простыми модулями, как это показано ниже:

Китайская теорема об остатках утверждает, что вышеупомянутые уравнения имеют единственное решение, если модули являются взаимно простыми.
Пример 12.35
Следующий пример содержит систему уравнений с различными модулями:

Для этой системы уравнений x = 23. Это значение удовлетворяет все уравнения:
,
,
.
Решение
Решение системы уравнений выполняется в следующем порядке:
- Найти
. Это общий модуль.
- Найти M1 = M/m1, M2 = M/m2,…., Mk = M/mk.
- Используя соответствующие модули m1, m2,…., mk, найти мультипликативную инверсию M1, M2,…, Mk. Обозначим ее M1-1, M2-1,…, Mk-1.
- Решение системы уравнений

Обратите внимание, что система уравнений может иметь решение, даже если модули не взаимно простые. Однако в криптографии мы интересуемся только решением уравнений с взаимно простыми модулями.
Пример 12.36
Найдите решение системы уравнений

Из предыдущего примера мы уже знаем, что ответ x = 23. Определим его в четыре шага.
Решение
Пример 12.37
Найти целое, которое дает в остатке 3, если его разделить на 7 и 13, но без остатка делится на 12.
Решение
Это проблема китайской теоремы об остатке. Мы можем составить три уравнения и найти значение x.

Если проведем четыре шага, мы найдем x = 276. Можем проверить, что 276 = 3 mod 7, 276 = 3 mod 13 и 276 делится на 12 (частное 23 и остаток 0).
Приложения
Китайская теорема об остатках часто применяется в криптографии. Одно из таких применений – решение квадратных уравнений — будет обсуждаться в следующей секции. Другое приложение — представление очень большого числа в виде списка малых целых чисел.
Пример 12.38
Предположим, нам надо вычислить z = x + y, где x = 123 и y = 334, но система принимает только числа меньше 100. Эти числа можно представить следующими уравнениями:

Сложим каждое уравнение x с соответствующим уравнением y:

Теперь эти три уравнения могут быть решены, используя китайскую теорему об остатках, чтобы найти z. Один из приемлемых ответов равен z = 457.