Математики, шпионы и хакеры — страница 21 из 22


От Эйлера к RSA

Еще один важный результат в модульной арифметике известен как соотношение Везу. Это утверждение гласит, что если а и b — целые положительные числа, тогда уравнение НОД (a, b) = к эквивалентно существованию двух целых чисел р, q, таких что:

pa + qb = k.

В частности, если НОД (a, b) = 1, это соотношение гарантирует существование целых чисел р и q, таких что

pa + qb = 1.

Работая по модулю n, возьмем НОД (а, n) = 1, тогда обязательно существуют целые числа р и q, такие что pa + qn = 1. Так как n — модуль, то qn = 0, следовательно, существует такое р, что pa = 1, то есть существует число, обратное числу а по модулю n, а именно р.

Элементы, имеющие обратный элемент по модулю n, являются натуральными числами, которые меньше, чем n, и удовлетворяют условию НОД (а, n) = 1. Количество таких чисел называется функцией Эйлера и обозначается как ф(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∙m1km (mod n) = m (mod n).

Это и есть нужный нам результат.

2. Если НОД (m,n) 1 и n = рq, тот содержит или только множитель р, или только q, или оба одновременно.

Пусть m содержит только множитель р. Тогда, во-первых, m кратно р, то есть существует целое число r, такое, что m =. Поэтому mde 0 (mod р) или mde= m (mod р), другими словами, существует значение А, такое, что:

mde m = Ар. (1)

Во-вторых, мы имеем:

(me)d= med= mk ф(n)+1 = m k ф(n)m = (mф(n))km = (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))km = (m(q-1))k(p-1)m1k (р-1)mm (mod q).

Откуда мы заключаем, что существует значение В, такое что:

mde m = Вq. (2)

Из (1) и (2) следует, что разность (mdem) делится на n = рq, поэтому

mde m0 (mod n).

Аналогично это доказывается для случая, когда m содержит только множитель q.

В случае, когда m кратно и р, и q одновременно, результат тривиален. Следовательно,

(mе)dm (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

Письма читателей по данному адресу не принимаются.

Генеральный директор: Николаос Скилакис

Главный редактор: Анастасия Жаркова

Старший редактор: Дарья Клинг

Финансовый директор: Наталия Василенко

Коммерческий директор: Александр Якутов

Менеджер по маркетингу: Михаил Ткачук

Менеджер по продукту: Яна Чухиль


Для заказа пропущенных книг и по всем вопросам, касающимся информации о коллекции, заходите на сайт www.deagostini.ru, по остальным вопросам обращайтесь по телефону бесплатной горячей линии в России:

© 8-800-200-02-01

Телефон горячей линии для читателей Москвы:

© 8-495-660-02-02

Адрес для писем читателей:

Россия, 170100, г. Тверь, Почтамт, а/я 245,

«Де Агостини», «Мир математики»

Пожалуйста, указывайте в письмах свои контактные данные для обратной связи (телефон или e-mail).

Распространение:

ООО «Бурда Дистрибьюшен Сервисиз»

УКРАИНА

Издатель и учредитель:

ООО «Де Агостини Паблишинг» Украина

Юридический адрес: 01032, Украина,

г. Киев, ул. Саксаганского, 119

Генеральный директор: Екатерина Клименко

Для заказа пропущенных книг и по всем вопросам, касающимся информации о коллекции, заходите на сайт www.deagostini.ua, по остальным вопросам обращайтесь по телефону бесплатной горячей линии в Украине:

© 0-800-500-8-40

Адрес для писем читателей:

Украина, 01033, г. Киев, a/я «Де Агостiнi»,

«Мир математики»

Украïна, 01033, м. Кiев, а/с «Де Агостiнi»

БЕЛАРУСЬ

Импортер и дистрибьютор в РБ:

ООО «Росчерк», 220037, г. Минск,

ул. Авангардная, 48а, литер 8/к,

тел./факс: +375 17 331 94 27

Телефон «горячей линии» в РБ:

© + 375 17 279-87-87 (пн-пт, 9.00–21.00)

Адрес для писем читателей:

Республика Беларусь, 220040, г. Минск,

а/я 224, ООО «Росчерк», «Де Агостини»,

«Мир математики»

КАЗАХСТАН

Распространение:

ТОО «КГП «Бурда-Алатау Пресс»

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