Uploaded by Артем Рожинский

Модульная+арифметика

advertisement
Арифметика целых чисел
Множество целых чисел, обозначенных Z, содержит
все числа (без дробей) от минус бесконечности до
плюс бесконечности.
Свойство 1: целое число 1 имеет только один
делитель — само себя.
Свойство 2: любое положительное целое число
имеет по крайней мере два делителя — 1 и само
себя (но может иметь больше).
Одно целое число, часто необходимое в
криптографии,
—
наибольший
общий
делитель двух положительных целых чисел.
Два положительных целых числа могут иметь много
общих делителей, но только один наибольший
общий делитель. Например, общие делители
чисел 12 и 140 есть 1, 2 и 4. Однако наибольший
общий делитель — 4. Наибольший общий
делитель двух положительных целых чисел —
наибольшее целое число, которое делит оба целых
числа.
Алгоритм Евклида
Факт 1: НОД (a, 0) = a
Факт 2: НОД (a, b) = НОД (b, r), где r — остаток от
деления a на b
Первый факт говорит, что если второе целое число
— 0, наибольший общий делитель равен первому
числу. Второй факт позволяет нам изменять
значение a на b, пока b не станет 0.
НОД(36,10) = НОД(10,6) = НОД(6,4) = НОД(4,2) =
НОД(2,0)
Другими словами, НОД (36, 10) = 2, НОД (10, 6) = 2,
и так далее. Это означает, что вместо
вычисления НОД (36, 10) мы можем найти НОД (2,
0).
Модульная арифметика
Уравнение деления ( a=q*n + r ), имеет два входа
( a и n ) и два выхода ( q и r ). В модульной арифметике
мы интересуемся только одним из выходов —
остатком r. Мы не заботимся о частном q. Другими
словами, когда мы делим a на n, мы интересуемся
только тем, что значение остатка равно r. Это
подразумевает,
что
мы
можем
представить
изображение
вышеупомянутого
уравнения
как
бинарный оператор с двумя входами a и n и одним
выходом r.
Вышеупомянутый
бинарный
оператор
назван оператором по модулю и обозначается
как mod. Второй вход ( n ) назван модулем.
Вывод r назван вычетом.
Как показано на рисунке, оператор по модулю
( mod ) выбирает целое число ( a ) из множества Z и
положительный модуль ( n ). Оператор определяет
неотрицательный остаток ( r ).
Мы можем сказать, что
a mod n = r
Разделим 27 на 5 - результат: r = 2. Это означает,
что 27 mod 5 = 2.
Разделим 36 на 12 — результат: r = 0. Это означает,
что 36 mod 12 = 0.
Свойства оператора mod
Первое свойство:
(a+b) mod n = [(a mod n +b mod n)] mod n
Второе свойство:
(a-b) mod n = [(a mod n - b mod n)] mod n
Третье свойство:
(a*b) mod n = [(a mod n * b mod n)] mod n
Простые числа
Асимметрично-ключевая криптография широко
использует простые числа.
Положительные целые числа могут быть разделены
на три группы: число 1, простые числа и составные
объекты.
Положительное целое число — простое число тогда
и только тогда, когда оно точно делимо без остатка
на два целых числа — на 1 и на само
себя. Составной объект — положительное целое
число больше с чем двумя делителями.
Простое число делимо без остатка только на себя
и 1.
Наименьшее простое число — 2, оно делится без
остатка на 2 (само на себя) и 1. Обратите внимание,
что целое число 1 — не простое число согласно
определению, потому что простое число должно
быть делимо без остатка двумя различными целыми
числами, не больше и не меньше. Целое
число 1 делимо без остатка только на себя;
поэтому 1 — это не простое число.
H(m)-1mod q = 9-1mod 11 = 5,
a-1mod b = ab-2mod b
9-1mod 11 = 911-2mod 11= 99mod 11 =5
8-1 mod 17 = 817-2 mod 17 = 815 mod 17
5 –1 mod 23 = 523-2 mod 23 = 521 mod 23
Download