ПРИКЛАДНОЕ ЗНАЧЕНИЕ СРАВНИМОСТИ ЧИСЕЛ В КРИПТОГРАФИИ - Студенческий научный форум

IV Международная студенческая научная конференция Студенческий научный форум - 2012

ПРИКЛАДНОЕ ЗНАЧЕНИЕ СРАВНИМОСТИ ЧИСЕЛ В КРИПТОГРАФИИ

 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
Сравнения нашли широкое применение в криптографии и шифровании. Один из наглядных примеров - алгоритмы ассиметричного шифрования. Основная идея асимметричного шифрования заключается в существовании сразу двух ключей для обмена информацией - открытого, известного любому желающему, и закрытого, который известен лишь получателю информации. Очевидно, что открытый и закрытый ключи генерируются одновременно и между ними существует определенная математическая связь. Основная задача проектировщика асимметричного алгоритма заключается в том, чтобы по известному открытому ключу было бы невозможно (очень трудоемко) получить секретный ключ шифрования. Для этого в основу асимметричных алгоритмов закладываются вычислительно трудные задачи факторизации, дискретного логарифмирования, проецирования точек на эллиптической кривой и т.д. Объединяет все эти задачи то, что они используют операцию получения остатка от целочисленного деления (сравнения). Говорят, что два целых числа a и b являются сравнимыми по модулю n, если (a mod n) = (b mod n). Это записывается в виде:

a º b mod n.

В качестве примера алгоритмов симметричного шифрования можно привести первую систему с открытым ключом - метод экспоненциального ключевого обмена Диффи - Хеллмана. Метод предназначен для передачи секретного ключа симметричного шифрования. В обмене задействованы два участника А и Б. Сначала они выбирают большие простые числа n и g<n (эти числа секретными не являются). Затем участник A выбирает большое целое число х,  вычисляет Х=gx mod n и передает Х участнику Б. Б в свою очередь выбирает большое целое число y, вычисляет Y=gy mod n и передает Y участнику А. Б вычисляет K´=Xy mod n,  А вычисляет K´´=Yx mod n. Легко заметить, что K´=K´´=gxy mod n, и это значение оба участника могут использовать в качестве ключа симметричного шифрования. Злоумышленник может узнать такие параметры алгоритма, как n, g, X, Y, но вычислить по ним значения x или y - задача, требующая очень больших вычислительных мощностей и времени.

Примером действительно асимметричного алгоритма шифрования, основанного на проблеме дискретного логарифма, является алгоритм Эль-Гемаля. Последовательность действий при генерации ключей, шифровании и дешифрации представлена на рис. 1.

Так как axºgkx mod p, то имеем:

Самым первым, действительно асимметричным алгоритмом стал алгоритм RSA. В основу криптостойкости RSA положена задача факторизации (разложения на множители) больших (более 200 двоичных разрядов) целых чисел.

Процедуры генерации ключей, шифрования и дешифрования для этого алгоритма представлены на рис. 2.

На этапе генерации ключей формируется пара ключей: закрытый d и открытый e. Шифрование данных должно начинаться с его разбиения на блоки m размером k=[log2 (n)] бит каждое, чтобы блок m можно было рассматривать как целое число в диапазоне [0.. n-1]. Обратимость операции шифрования и дешифрования RSA требует доказательства. Из теоремы Эйлера  известно, что для двух целых чисел n и  x, таких, что (n,x)=1, выполняется:

где j(n) - функция Эйлера, значение которой равно количеству чисел меньших n и взаимно простых с ним. Для n=p×q из алгоритма RSA, где p и q - простые числа, можно записать j(n)=(p-1)(q-1).

Тогда (1) можно переписать в виде:

                                  x(p-1)(q-1)º1 mod n    (3)

Возведем обе части (3) в степень -y:

x(-y)(p-1)(q-1) º 1(-y) mod n º 1 mod n    (4)   

Умножим обе части (4) на x:

  x(-y)(p-1)(q-1) +1 mod n = x    (5)                 

Но при генерации ключей мы получили e и d такие, что ed º 1 mod (p-1)(q-1), а это означает, что в (5) можно заменить 1-y(p-1)(q-1) на ed:

 xed mod n = x    (6)

Тогда, если мы возведем шифротекста c=me mod n в степень d по модулю n, как мы это и делаем при дешифровании, то получим:

(cd ) mod n= (me mod n)d mod n = med mod n = m           (7)

Очевидно, что основная задача криптоаналитика при взломе этого шифра - узнать закрытый ключ d. Для этого он должен выполнить те же действия, что и получатель при генерации ключа - решить в целых числах уравнение    ed + y (p-1)(q-1) =1  относительно d и y. Однако, если получателю известны входящие в уравнение параметры p и q, то криптоаналитик знает только число n - произведение p и q. Следовательно, ему необходимо произвести факторизацию числа n, то есть разложить его на множители. Для решения задачи факторизации к настоящему времени разработано множество алгоритмов: квадратичного решета, обобщенного числового решета, метод эллиптических кривых. Но для чисел большой размерности  это очень трудоемкая задача.

 

Литература:

1.   Методы и средства защиты компьютерной информации (учебное пособие). Д. Н. Лясин, С. Г. Саньков. РПК «Политехник», 2005г.

 

Просмотров работы: 17