pa + qb = 1.
Работая по модулю n, возьмем НОД (а, n) = 1, тогда обязательно существуют целые числа р и q, такие что pa + qn = 1. Так как n — модуль, то qn = 0, следовательно, существует такое р, что pa = 1, то есть существует число, обратное числу а по модулю n, а именно р.
Элементы, имеющие обратный элемент по модулю n, являются натуральными числами, которые меньше, чем n, и удовлетворяют условию НОД (а, n) = 1. Количество таких чисел называется функцией Эйлера и обозначается как ф(n).
Если число n представлено в виде произведения степеней простых чисел следующим образом
Например, если n = 1600 = 26∙52, то
Более того, в случае, если n — простое число, то для любого значения а выполняется НОД (а, n) = 1, и, следовательно, любое число а будет иметь обратное по модулю n, значит ф(n) = n — 1.
Итак, подведем итог самым важным фактам.
1. ф(n) называется функцией Эйлера и обозначает количество натуральных чисел, меньших n и взаимно простых с ним.
2. Если n = рq, где р и q простые числа, то
a(n) = (p — 1)(q — 1).
3. Из малой теоремы Ферма мы знаем, что если а — целое число, большее нуля, и р — простое число, то а р a (mod р), что эквивалентно ар — 1 1 (mod р).
4. Если НОД (а, n) = 1, тогда имеем аф(n) 1 (mod n).
Почему работает RSA-алгоритм?
Математические факты, изложенные выше, лежат в основе алгоритма шифрования RSA.
RSA-алгоритм зашифровывает численное представление m некоторого сообщения с помощью двух простых чисел р и q. Возьмем n = pq. Обозначим за е любое значение, такое что НОД (е, ф(n)) = 1, и пусть d будет обратный элемент числа е по модулю ф(n). [Мы знаем, что он существует, так как НОД (е, ф(n)) = 1]. Тогда:
d∙е = 1 по модулю ф(n).
Зашифрованное послание М шифруется следующим образом: М = mе (mod n).
Алгоритм подразумевает, что исходное сообщение m может быть получено как m = Md = (me)d (mod n). Проверка этого уравнения как раз и демонстрирует работу алгоритма RSA. Мы воспользуемся теоремой Ферма и функцией Эйлера.
Рассмотрим два случая.
1. Если (m, n) = 1, то с функцией Эйлера имеем: mф(n) 1 (mod n).
Начнем с того, что d∙е = 1 по модулю ф(n) эквивалентно соотношению е∙d — 1 = 0 (mod ф(n)) то есть существует целое значение k, такое, что е∙d — 1 = k∙ф(n) или е∙d = k∙ф(n) + 1. Используя это и формулу Эйлера, получим:
(me)d = med = m kф(n)+1= m kф(n)∙m = (m ф(n))k∙m
1km (mod n) = m (mod n).Это и есть нужный нам результат.
2. Если НОД (m,n)
1 и n = р∙q, тот содержит или только множитель р, или только q, или оба одновременно.Пусть m содержит только множитель р. Тогда, во-первых, m кратно р, то есть существует целое число r, такое, что m = rр. Поэтому mde
0 (mod р) или mde = m (mod р), другими словами, существует значение А, такое, что:mde — m = Ар. (1)
Во-вторых, мы имеем:
(me)d = med = mk ф(n)+1 = m k ф(n)∙m = (mф(n))k∙m = (m(q-1))k(p-1)∙m.
Так как НОД (m, n) = р, НОД (m, q) = 1, то по теореме Ферма m(q-1)
1 (mod q).Подставим это в предыдущее выражение.
(me)d = med = mk ф(n)+1 = m k ф(n)∙m = (mф(n))k∙m = (m(q-1))k(p-1)∙m
1k (р-1)∙m m (mod q).Откуда мы заключаем, что существует значение В, такое что:
mde — m = Вq. (2)
Из (1) и (2) следует, что разность (mde — m) делится на n = рq, поэтому
mde — m
0 (mod n).Аналогично это доказывается для случая, когда m содержит только множитель q.
В случае, когда m кратно и р, и q одновременно, результат тривиален. Следовательно,
(mе)d
m (mod n).Таким образом, мы продемонстрировали математическую основу алгоритма RSA.
Список литературы
Fernandez, S., Classical Cryptography. Sigma Review No. 24, April 2004.
Garfunkel, S., Mathematics in Daily Life, Madrid, COMAP, Addison-Wesley, UAM, 1998.
Gomez, J., From the Teaching to the Practice of Mathematics Barcelona, Paidos, 2002.
Kahn, D., The Codebreakers: The Story of Secret Writing, New York, Scribner, 1996.
Издание на русском языке: Кан Д. Взломщики кодов. — М.: Центрполиграф, 2000.
Singh, S., The Secret Codes, Madrid, Editorial Debate, 2000.
Tocci, R., Digital Systems: Principles and Applications, Prentice Hall, 2003.
Издание на русском языке: Тончи Р. Цифровые системы. Теория и практика. — М.: Вильямс, 2004.
Научно-популярное издание
Выходит в свет отдельными томами с 2014 года
Мир математики
Том 2
Жуан Гомес
Математики, шпионы и хакеры.
Кодирование и криптография.
РОССИЯ
Издатель, учредитель, редакция:
ООО «Де Агостини», Россия
Юридический адрес: Россия, 105066,
г. Москва, ул. Александра Лукьянова, д. 3, стр. 1
Письма читателей по данному адресу не принимаются.