Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Китайская теорема об остатках




 

Любое неотрицательное целое число, не превосходящее произведения модулей, можно однозначно восстановить, если известны его вычеты по этим модулям. Этот результат был известен еще в древнем Китае и носит название китайской теоремы об остатках. Теорема была предложена китайским математиком первого века Сун Це. Китайская теорема об остатках является мощным криптографическим инструментом.

Она формулируется следующим образом.

Пусть m1, m2, …, m t – модули (целые числа, большие 1), которые являются попарно взаимно простыми, т.е. НОД (mi, mj,) = 1 при i ¹ j.

Пусть а1, а2, …, а t – тоже целые числа, такие, что 0 ≤ а i ≤ m i.

Пусть М = m1 • m2 • … • m t – произведение всех m i. Обозначим
М i = M / m i.

И пусть N i будет обратным к М i (mod m i), i = 1, 2, …, t, т.е.

М i • N i º 1 (mod m i).

Так как НОД (М i , m i) = 1, то обратный элемент N i существует и легко находится по алгоритму Евклида из соотношения

 

М i • N i + m i • n i = 1, i = 1, 2, …, t.

 

Сравнения х º а i (mod m i), i = 1, 2, …, t, имеют в интервале

[0, M – 1] единственное общее решение

 

х = a i • N i • М i (mod M).

 

Рассмотрим частный случай. Пусть М = m1 • m2 , где m1 и m2 – взаимно простые числа. Тогда для произвольных целых а1 < m 1 и
а 2 < m 2 существует единственное число х, х < М, такое, что

 

х º а 1 (mod m 1) и х º а 2 (mod m 2).

 

Чтобы найти значение решения х, сначала используют алгоритм Евклида для вычисления значений N 1 и N 2 , таких, что

 

М 1 • N 1 º 1 (mod m 1) и М 2 • N 2 º 1 (mod m 2).

 

Здесь M m 1 • m 2 M

M 1 = = = m 2 ; M 2 = = m 1.

m 1 m 1 m 2

 

Затем вычисляют значение

 

х = (a 1 • N 1 • М 1 + a 2 • N 2 • М 2 ) (mod M).

 

Алгоритм 1.6.1 – Нахождение решения системы сравнений, использующий Китайскую теорему об остатках

 

{возврат х Î [0, M – 1], такого что х mod m i = a i (1 ≤ i ≤ t)}

 

Begin

for i: = 1 to t do

N i : = inv (M i mod m i, m j);

x: = 0;

for i: = 1 to t do

x: = [x + M i • N i • a i ] mod n;

crt: = x {crt - результат}

End

Пример. Решить систему из двух сравнений

 

х º 1 (mod 5),

х º 10 (mod 11)

 

и найти общее решение х по модулю 55.

 

Здесь: m 1 = 5; m 2 = 11; M = m 1 • m 2 = 5 • 11 = 55;

а 1 = 1; а 2 = 10; M 1 = М / m 1 = m 2 = 11; M 2 = М / m 2 = m 2 = 5.

 

Найдем значения N 1 и N 2, обратные к M 1 и M 2 сответственно по mod m 1 и mod m 2 :

М 1 • N 1 º 1 (mod m 1), 11 • N 1 º 1 (mod 5) Þ N 1 = 1,

М 2 • N 2 º 1 (mod m 2), 5 • N 2 º 1 (mod 11) Þ N 2 = 9.

 

Вычислим общее значение

 

х = (a 1 • N 1 • М 1 + a 2 • N 2 • М 2 ) (mod M) =

= (1 • 11 • 1 + 10 • 5 • 9) (mod 55) = (11 + 450) (mod 55) =

= 461 (mod 55) = 21 (mod 55).

 

 

Итак, х = 21 (mod 55).

 

Квадратичные вычеты

 

 

Рассмотрим некотрое простое p < q и число a < p. Если число а сравнимо с квадратом некоторого числа х по модулю p, т.е. выполняется сравнение х2 º а (mod p), тогда а называют квадратичным вычетом по модулю p. В противном случае а называют квадратичным невычетом по модулю p.

Если а – квадратичный вычет, сравнение х2 º а (mod p) имеет два решения: +х и –х, т.е. а имеет два квадратных корня по модулю р.

Все квадратичные вычеты находят возведением в квадрат элементов 1, 2, 3, …, (р – 1) /2.

Не все значения а < р являются квадратичными вычетами.

Пример. При р = 7 квадратичные вычеты это 1, 2, 4:

 

12 = 1 º 1 (mod 7),

22 = 4 º 4 (mod 7),

32 = 9 º 2 (mod 7),

42 = 16 º 2 (mod 7),

52 = 25 º 4 (mod 7),

62 = 36 º 1 (mod 7).

 

Каждый квадратичный вычет появляется в этом списке дважды.

Не существует никаких значений х, которые удовлетворяли бы любому из следующих уравнений:

 

х2 º 3 (mod 7),

х2 º 5 (mod 7),

х2 º 6 (mod 7).

 

Числа 3, 5 и 6 – квадратичные невычеты по модулю 7.

 

Можно доказать, что существует точно (р – 1) / 2 квадратичных вычетов по модулю р и (р – 1) / 2 квадратичных невычетов по модулю р.

 

Если а – квадратичный вычет по модулю р, то а имеет точно два квадратных корня: один корень между 0 и (р – 1) / 2, другой корень между (р – 1) / 2 и (р – 1).

Один из этих квадратных корней также является квадратичным вычетом по модулю р. Он называется главным квадратичным корнем.

Вычисление квадратных корней при р = 7 представлено в таблице 1.7.1.

 

 

Таблица 1.7.1 Вычисление квадратных корней при р = 7

 

х2 º а (mod 7) Корни
х 1 х 2
12 º 1 (mod 7) 22 º 4 (mod 7) 32 º 2 (mod 7) +1 +2 +3 -1 = -1 + 7 = 6 -2 = -2 + 7 = 5 -3 = -3 + 7 = 4

 

Если n – призведение двух простых р и q, т.е. n = p • q, то существует точно

(p – 1) • (q – 1) / 4

 

квадратичных вычетов по модулю n, взаимно простых n.

 

Пример. По модулю 35 (р = 5, q = 7, n = 5 • 7 = 35) существуют

 

(5 – 1) • (7 – 1) 4 • 6

= = 6

4 4

 

квадратичных вычетов: 1, 4, 9, 11, 16, 29, взаимно простых с 35.

 

 





Поделиться с друзьями:


Дата добавления: 2016-07-29; Мы поможем в написании ваших работ!; просмотров: 1253 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

В моем словаре нет слова «невозможно». © Наполеон Бонапарт
==> читать все изречения...

2187 - | 2152 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.007 с.