Материал: Методические указания и контрольные задания по дисциплине информационная безопасность для студентов направления 09. 03. 02

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
Вообще приведенный набор вычетов по модулю простого числа n имеет n –1 элементов.Пример. Пусть модуль n =10. Полный набор вычетов по модулю n =10{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}.Из них только 1, 3, 7, 9 не имеют общего сомножителя с числом 10. Поэтому приведенный набор вычетов по модулю 10 равен {1, 3, 7, 9}. При формировании этого приведенного набора были исключены элементы:0 (1 элемент),кратные 2 (4 элемента),кратные 5 (1 элемент),т.е. всего шесть элементов. Вычитая их из 10, получаем 10 – 1 – 4 – 1 = 4, т.е. четыре элемента в приведенном наборе.Для произведения простых чисел p * q = n приведенный набор вычетов имеет (p –1)(q –1) элементов. При n=p * q=2 * 5=10 число элементов в приведенном наборе (p – 1)(q – 1) = (2 – 1) (5 –1) = 4.Пример. Приведенный набор вычетов по модулю 27=33 имеет 18 элементов:{1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19, 20, 22, 23, 25, 26}.Из полного набора вычетов исключены элементы, кратные 3 (всего девять элементов).Для модуля в виде простой степени nr приведенный набор вычетов имеет nr–1 (n –1) элементов.При n = 3, r = 3 получаем 33–1 (3 –1) = 32 * 2 =18.Функция Эйлера j(n) характеризует число элементов в приведенном наборе вычетов (табл. П.1).Таблица П.1

Модуль n

Функция j(n)

n – простое

n2



nr

n –1

n (n –1)



nr–1 (n – 1)

p * q (p, q – простые)



(pi – простые)

(p – 1) (q – 1)




Иначе говоря, функция j(n) – это количество положительных целых, меньших n, которые взаимно просты с n.Малая теорема Ферма: если n– простое и НОД (a,n)=1, тоan–1 º1 (mod n).Согласно обобщению Эйлером малой теоремы Ферма имеем: если НОД (a,n) =1, тоaj(n) º1 (mod n).Если n – простое число, то предыдущий результат, учитывая, что j(n) = n –1, приводится к виду (малой теоремы Ферма)an–1 º1 (mod n).

Основные способы нахождения обратных величин

a–1 º 1 (mod n).

1. Проверить поочередно значения 1, 2, ..., n – 1, пока не будет найден a–1 º1 (mod n), такой, что a*a–1 (mod n) º 1.2. Если известна функция Эйлера j(n), то можно вы-числить
a–1 (mod n) º aj(n)–1 (mod n),используя алгоритм быстрого возведения в степень.3. Если функция Эйлера j(n) не известна, можно использовать расширенный алгоритм Евклида.Проиллюстрируем эти способы на числовых примерах.1. Поочередная проверка значений 1, 2, ..., n – 1, пока не будет найден x = a–1 (mod n), такой что a * x º 1 (mod n).Пусть n = 7, a = 5. Требуется найти x = a–1 (mod n).a * x º 1 (mod n) или 5 * x º 1 (mod 7).n – 1 = 7 – 1 = 6.Получаем x = 5–1 (mod 7) = 3.Результаты проверки сведены в табл. П.2.Таблица П.2

x

5 * x

5 * x (mod 7)

1

2

3

4

5

6

5

10

15

20

25

30

5

3

1

6

4

2
2. Нахождение a–1 (mod n), если известна функция Эйлера j(n).Пусть n = 7, a = 5. Найти x = a–1 (mod n) = 5–1 (mod 7). Модуль n = 7 – простое число. Поэтому функция Эйлера j(n) = j(7) = = n –1 = 6. Обратная величина от 5 по mod 7a–1 (mod n) = aj(n)–1 (mod n) == 56–1 mod 7 = 55 mod 7 = (52 mod 7)(53 mod 7) mod 7 == (25 mod 7)(125 mod 7) mod 7 = (4 * 6) mod 7 = 24 mod 7 = 3. Итак, x = 5–1 (mod 7) = 3.3. Нахождение обратной величины a–1 (mod n) с помощью расширенного алгоритма Евклида.Алгоритм Евклида можно обобщить способом, который имеет большое практическое значение. При этом способе во время вычисления НОД (a,b) можно попутно вычислить такие целые числа u1 и u2, чтоa * u1 + b * u2 = НОД (a,b).Это обобщение (расширение) алгоритма Евклида удобно описать, используя векторные обозначения.Квадратичные вычетыРассмотрим некоторое простое p > 2 и число a < p. Если число a сравнимо с квадратом некоторого числа x по модулю p, т.е. выполняется сравнение x2 º a (mod p), тогда a называют квадратичным вычетом по модулю p. В противном случае a называют квадратичным невычетом по модулю p.Если a – квадратичный вычет, сравнение x2 º a (mod p) имеет два решения: +x и –x, т.е. a имеет два квадратных корня по модулю p.Все квадратичные вычеты находят возведением в квадрат элементов 1, 2, 3, ..., (p –1)/2.Не все значения a < p являются квадратичными вычетами. Например, при p = 7 квадратичные вычеты это 1, 2, 4:12 = 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).Заметим, что каждый квадратичный вычет появляется в этом списке дважды. Не существует никаких значений x, которые удовлетворяли бы любому из следующих уравнений:
x2 º 3 (mod 7),x2 º 5 (mod 7),x2 º 6 (mod 7).Числа 3, 5 и 6 – квадратичные невычеты по модулю 7. Можно доказать, что существует точно (p –1)/2 квадратичных вычетов по модулю p и (p –1)/2 квадратичных невычетов по модулю p.Если a – квадратичный вычет по модулю p, то a имеет точно два квадратных корня: один корень между 0 и (p –1)/2, другой корень между (p –1)/2 и (p –1).Один из этих квадратных корней также является квадратичным вычетом по модулю p; он называется главным квадратным корнем.Вычиcление квадратных корней при p=7 представлено в табл. П.4.Таблица П.4

x2 º a (mod 7)

Корни

x1

x2

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 – произведение двух простых p и q, т.е. n = p * q, то существуют точно(p –1)(q –1)/4квадратичных вычетов по модулю n, взаимно простых с n. Например, по модулю 35 (p = 5, q = 7, n = 5 * 7 = 35) существуют = 6квадратичных вычетов: 1, 4, 9, 11, 16, 29, взаимно простых с 35.



Источник: https://files.student-it.ru/previewfile/179521