Файл: Методические указания и контрольные задания по дисциплине информационная безопасность для студентов направления 09. 03. 02.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 09.11.2023
Просмотров: 1591
Скачиваний: 6
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Вообще приведенный набор вычетов по модулю простого числа 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
Иначе говоря, функция 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 (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
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
Если 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.
| Модуль n | Функция j(n) |
| n – простое n2 … nr | n –1 n (n –1) … nr–1 (n – 1) |
| p * q (p, q – простые) … | (p – 1) (q – 1) … |
Основные способы нахождения обратных величин
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 |
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 |