Оценка криптостойкости алгоритма

Протокол обмена ключами Диффи–Хеллмана не обеспечивает аутентичности согласованного ключа. Активный противник, внедренный в канал связи между двумя пользователями А и Б, может манипулировать сообщениями протокола и начать атаку “человек посередине” (man-in-the-middle attack).

В ходе этой атаки Злоумышленник перехватывает и блокирует первое сообщение от А к Б, т. е. число gа, маскируется под А и посылает Б следующее сообщение.

Злоумышленник (под именем А) — Б: gm = gm (mod p).

Б, следуя инструкциям протокола, возвращает Злоумышленнику (под именем А) число gb. Это число снова перехватывается и блокируется Злоумышленником. Теперь Злоумышленник и Б согласовали между собой ключ gb m =(mod p), хотя Б считает, что он разделил этот ключ с А.

Аналогично Злоумышленник, имитируя Б, может согласовать другой ключ с А (т.е. число ga m(mod p)). Впоследствии Злоумышленник может использовать оба ключа для чтения и подмены “секретных” сообщений, которыми обмениваются А и Б, или поочередно имитировать этих пользователей.

Атака на протокол обмена ключами Диффи–Хеллмана вполне реальна, поскольку этот протокол не предусматривает проверки аутентичности источника сообщений. Для того чтобы ключи были согласованы только между А и Б, обе стороны должны быть уверены друг в друге.

Минусы программной реализации, снижающие стойкость:

-при вычислении функции step(), описанной выше, появляется прямая зависимость времени вычисления от количества единиц (при бинарном представлении) в степени. Что может дать представление о количестве единиц в секретном ключе.

- в программном продукте не реализована полная очистка оперативной памяти.

- секретные ключи хранятся в открытом виде на диске.

- не реализована возможность вычисления хэш, в результате чего возможна модификация ключей.

Оценка скорости работы алгоритма

Оценка производилась на компьютере:

Тип ЦП                                                AMD Sempron, 1666 MHz,2400+

Чипсет системной платы                  nVIDIA nForce2 Ultra 400

Системная память                             1024 Мб (DDR SDRAM)

 

Наиболее долгой является операция генерации большого простого числа p, такого что p-1 раскладывается на простые множители, причем разложение должно иметь один большой простой множитель, и нахождение первообразного корня. Этот процесс является вероятностным и может привести к неопределенной отсрочке.

Результаты тестирования программы приведены в таблице 1.

 

Таблица 1.

Тест на время реализации базовых операций программного продукта

 

Время генерации, сек.

Количество проверенных значений, ед.

Скорость проверки значений, ед./сек.

16

2700

168,8

34

7400

217,6

26

4400

169,2

160

23300

145,6

48

10000

208,3

83

17600

212,0

4

400

100,0

137

23900

174,5

5

600

120,0

 

Среднее значение:

168,5

 

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



Заключение

В ходе курсовой работы был изучен алгоритм распределения ключей Диффи-Хеллмана и реализован на языке программирования С++. Полученный программный продукт отвечает требованиям, предъявляемым к системе открытого распространения ключей Диффи-Хеллмана.

У программного продукта есть недостатки:

-при вычислении функции step(), описанной выше, появляется прямая зависимость времени вычисления от количества единиц (при бинарном представлении) в степени. Что может дать представление о количестве единиц в секретном ключе.

- в программном продукте не реализована полная очистка оперативной памяти.

- секретные ключи хранятся в открытом виде на диске.

- не реализована возможность вычисления хэш, в результате чего возможна модификация ключей.

- не реализована аппаратная система.

Таким образом, поставленная в работе цель была выполнена, решены необходимые задачи и на основании их сделаны соответствующие выводы.

 



Литература

 

1. Аграновский А.В., Хади Р.А. Практическая криптография. Алгоритмы и их программирование. М.: Солон-Пресс, 2002 г. – 256 с.

2. Галуев Г.А. Математические основы криптологии. Учебно-методическое пособие. Таганрог,  2003 г. 79 с.

3. Дебора Керр Computerworld #39/1996 Тайна открытого ключа. http://www.osp.ru/cw/1996/39

4. Завгородний В. И. Комплексная защита информации в компьютерных системах. М.: Логос, 2001 г. – 264 с.

5. Кнут Д.Э. Искусство программирования. Т. 2. Получисленные алгоритмы. М. СПб. – Киев: Вильямс, 2000 г. – 832 с.

6. Молдовян Н. А., Молдовян А. А., Еремеев М. А.. Криптография. От примитивов к синтезу алгоритмов. С-Пб.: БХВ-Петербург, 2004 г. – 505 с.

7. Маховенко Е. Б. Теоретико-числовые методы в криптографии. М.: Гелиос АРВ, 2006 г. – 320 с.

8. Нильс Фюргесон, Брюс Шнайер. Практическая криптография. Киев: Диалектика, 2004 г. – 432 с.

9. Рябко Б. Я., Фионов А. Н. Криптографические методы защиты информации. Учебное пособие. М.: Горячая линия – Телеком, 2005 г. – 232 с.

10. Смарт Н. Криптография. М.: Техносфера, 2006 г. – 528 с.

11. Шнайер Б.. Прикладная криптография. Протоколы, алгоритмы и исходные тексты на языке С. М.: Триумф, 2002 г. – 816 с.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: