Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа? |
Простые числа
12.4. Китайская теорема об остатках
Китайская теорема об остатках (CRT — Chinese Reminder Theorem) используется, чтобы решить множество уравнений с одной переменной, но различными взаимно простыми модулями, как это показано ниже:
![\tt\parindent0pt
x \equiv a_{1} (mod\ m_{1})
x \equiv a_{2} (mod\ m_{2})
…
x \equiv a_{k} (mod\ m_{k})](/sites/default/files/tex_cache/2c6f5c923caa012445b2dbaff835f5a2.png)
Китайская теорема об остатках утверждает, что вышеупомянутые уравнения имеют единственное решение, если модули являются взаимно простыми.
Пример 12.35
Следующий пример содержит систему уравнений с различными модулями:
![\tt\parindent0pt
$x \equiv 2(mod\ 3)$
$x \equiv 3(mod\ 5)$
$x \equiv 2(mod\ 7)$](/sites/default/files/tex_cache/219b236b5cb2f98b58055d39e37aec17.png)
Для этой системы уравнений x = 23. Это значение удовлетворяет все уравнения:
,
,
.
Решение
Решение системы уравнений выполняется в следующем порядке:
- Найти
. Это общий модуль.
- Найти M1 = M/m1, M2 = M/m2,…., Mk = M/mk.
- Используя соответствующие модули m1, m2,…., mk, найти мультипликативную инверсию M1, M2,…, Mk. Обозначим ее M1-1, M2-1,…, Mk-1.
- Решение системы уравнений
![x = (a_{1} \times M_{1} \times M_{1}^{-1} + a_{2} \times M_{2} \times M_{2}^{-1}+\dots+ a_{k} \times M_{k} \times M_{k}^{-1}) \mod\ M](/sites/default/files/tex_cache/943b26879dfee3a1eda66cdc704bc33e.png)
Обратите внимание, что система уравнений может иметь решение, даже если модули не взаимно простые. Однако в криптографии мы интересуемся только решением уравнений с взаимно простыми модулями.
Пример 12.36
Найдите решение системы уравнений
![\tt\parindent0pt
$x \equiv 2(mod\ 3)$
$x \equiv 3(mod\ 5)$
$x \equiv 2(mod\ 7)$](/sites/default/files/tex_cache/c4f15868de0af26e4d6221d472f7e761.png)
Из предыдущего примера мы уже знаем, что ответ x = 23. Определим его в четыре шага.
Решение
Пример 12.37
Найти целое, которое дает в остатке 3, если его разделить на 7 и 13, но без остатка делится на 12.
Решение
Это проблема китайской теоремы об остатке. Мы можем составить три уравнения и найти значение x.
![\tt\parindent0pt
$x \equiv 3(mod\ 7)$
$x \equiv 3(mod\ 13)$
$x \equiv 0(mod\ 12)$](/sites/default/files/tex_cache/0523919d88d8caf22d6a2b57fc95bb05.png)
Если проведем четыре шага, мы найдем x = 276. Можем проверить, что 276 = 3 mod 7, 276 = 3 mod 13 и 276 делится на 12 (частное 23 и остаток 0).
Приложения
Китайская теорема об остатках часто применяется в криптографии. Одно из таких применений – решение квадратных уравнений — будет обсуждаться в следующей секции. Другое приложение — представление очень большого числа в виде списка малых целых чисел.
Пример 12.38
Предположим, нам надо вычислить z = x + y, где x = 123 и y = 334, но система принимает только числа меньше 100. Эти числа можно представить следующими уравнениями:
![\tt\parindent0pt
$x \equiv 24(mod\ 99) \ \ \ y \equiv 37(mod\ 99)\ \ \ x \equiv 25(mod\ 98)$
$y \equiv 40(mod\ 98)\ \ \ x \equiv 26(mod\ 97) \ \ \ y \equiv 43(mod\ 97)$](/sites/default/files/tex_cache/83c69779eeb897e087716ca8e49a38a7.png)
Сложим каждое уравнение x с соответствующим уравнением y:
![\tt\parindent0pt
$x + y \equiv 61(mod\ 99) \to z \equiv 61(mod\ 99)x + y \equiv 65(mod\ 98) \to$
$z \equiv 65(mod\ 98)x + y \equiv 69(mod\ 97) \to z \equiv 69(mod\ 97)$](/sites/default/files/tex_cache/8b2af27467f627e9f006488d01ecdf46.png)
Теперь эти три уравнения могут быть решены, используя китайскую теорему об остатках, чтобы найти z. Один из приемлемых ответов равен z = 457.