Статья опубликована в рамках: XLV Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 29 сентября 2016 г.)
Наука: Математика
Скачать книгу(-и): Сборник статей конференции
дипломов
РАСШИРЕННЫЙ АЛГОРИТМ ДИФФИ-ХЕЛЛМАНА
Сегодня мир вокруг нас превратился в один большой рынок, в котором электронные платежи заставили многие компании по-новому взглянуть на торговлю. Количество различных выгод и преимуществ, которые получила промышленность с помощью последних технологий, невероятно велико. Но весь этот технологический прогресс предъявляет все более строгие требования к безопасности, для того, чтобы защитить конфиденциальные данные от посторонних субъектов и различных перехватчиков информации. При этом, главным средством передачи важной информации остается сеть Интернет - место, где любой злоумышленник может представиться добропорядочным человеком. Следственно, очень важно разобраться в различных уязвимостях и в том, какие меры нужно предпринять, чтобы предотвратить перехват данных или их утерю. В настоящее время такими мерами являются различные криптографические и стеганографические методы, списки доступа, протоколы безопасности и прочее.
Криптография - наука и искусство сокрытия данных от несанкционированных субъектов при передачи этих данных по незащищенным каналам. Методы шифрования обычно разделяют на три категории: симметричное шифрование, ассиметричное и хэш-функции.
Первыми были придуманы симметричные ключи. Суть состоит в том, что используется только один ключ для шифрования на стороне отправителя и расшифровывания на стороне получателя. Процесс расшифровывания является обратным процессу шифрования и обычно этот метод является самым быстрым. Однако, основная проблема заключается в том, каким образом безопасно передать ключ через сеть. Ведь если злоумышленник сможет перехватить его, то расшифровать любое сообщение не составит для него никакого труда.
Проблема передачи ключей исследовалась Уитфилдом Диффи и Мартином Хеллманом в Массачуссетском Технологическом университете США в 1976. Изобретенный ими алгоритм сейчас известен как «Алгоритм Диффи-Хеллмана» и используется для безопасного обмена разделенным секретом между двумя сторонами в режиме реального времени при передаче через незащищенную сеть. Согласование ключа - метод, при котором устройства, соединенные через сеть, устанавливают между собой разделенный секрет без обмена секретной информацией, а только лишь посредством обмена открытыми ключами. Оба устройства при получении открытого ключа выполняют некоторые вычисления при помощи своего закрытого ключа для того, чтобы получить разделенный секрет [2, c. 647 - 649]. В силу того, что алгоритм разрабатывался в первую очередь для обеспечения безопасности, он до сих пор широко используется и с течением времени был исследован многими авторами и сильно видоизменился.
Мы хотим предложить алгоритм, основанный на алгоритме Диффи-Хеллмана, в котором будет предложена новая техника для обмена ключами. В таком "Расширенном алгоритме Диффи-Хеллмана" будут использоваться цифровые изображения для генерации случайных чисел, которые необходимы при обмене ключами через незащищенные сети.
Введение
После публикации алгоритма Диффи-Хеллмана в 1976 г. представления о двухстороннем обмене ключами через незащищенную сеть кардинально изменились. Цель алгоритма состоит в том, чтобы позволить пользователям безопасно обмениваться ключами, которые впоследствии будут использоваться для шифрования.
На текущий момент безопасности алгоритма Диффи-Хеллмана может быть уже недостаточно. Возникает вопрос, как можно его улучшить?
Цель работы: предложить способ улучшения алгоритма Диффи-Хеллмана.
Задачи:
1. Разобрать принцип работы алгоритма Диффи-Хеллмана.
2. Выяснить, каким образом можно его улучшить.
3. Разработать приложение с реализацией предложенного алгоритма.
Алгоритм Диффи-Хеллмана
Алгоритм Диффи-Хеллмана используется для безопасного обмена разделенным секретом между двумя сторонами в режиме реального времени при передаче через незащищенную сеть. Согласование ключа - метод, при котором устройства, соединенные через сеть, устанавливают между собой общий ключ без обмена секретной информацией, а только лишь посредством обмена открытыми ключами. Оба устройства при получении открытого ключа выполняют некоторые вычисления при помощи своего закрытого ключа для того, чтобы получить общий ключ.
Алгоритм может быть описан следующим образом:
1. Обе стороны А и В соглашаются об использовании двух констант p и g. p является простым числом, а число g называется генератором.
2. А и В выбирают свои закрытые ключи a и b такие, что они являются случайными числами меньше p.
3. Пусть ga mod p и gb mod p - публичные ключи сторон А и В соответственно.
4. Затем А и В проводят обмен своими публичными ключами через незащищенную сеть.
5. Сторона А вычисляет (gb mod p)a mod p, что равносильно gba mod p.
6. Сторона B вычисляет (ga mod p)b mod p, что равносильно gab mod p.
7. Общий ключ К теперь может быть теперь вычислен как K= gba mod p= gab mod p [1, с. 64 – 65].
Основное содержание работы
Основная идея, которая делает алгоритм Диффи-Хеллмана стойким и безопасным - использование случайных чисел.
Случайные последовательности бывают двух типов:
1. Настоящие случайные
2. Псевдослучайные
В данной работе мы хотим предложить расширенный алгоритм Диффи-Хеллмана, который отличается от оригинального следующим:
1. Используется новый простой и эффективный способ для генерации настоящих случайных чисел с помощью цифровых изображений.
2. Имеются предложения по способу вычисления общего секретного ключа.
Генерация настоящих случайных чисел с помощью изображений
Защищенность алгоритма Диффи-Хеллмана может быть повышена, если включить в процесс генерации ключей настоящие случайные числа. Для генерации таких чисел могут быть использованы небольшие изображения. Безопасность такого алгоритма, по сравнению с тем, что использует псевдослучайные числа, будет повышена. Значение каждого пикселя изображения может быть получено с помощью простых функций любого из языков программирования, например, Java и представлено в виде строки. Чтобы представить изображение в двоичном виде, RGB значение должно быть получено для каждого пикселя.
Генерация случайного числа происходит следующим образом:
1. Выбираем любое изображение (или создаем его с использованием любого графического редактора).
2. Представляем изображение в двоичном формате.
3. Составляем матрицу из двоичных чисел.
4. Значение p может быть получено конкатенацией строк таблицы.
5. Значение g может быть получено конкатенацией столбцов таблицы.
6. Теперь остается только передать изображение второй стороне, где необходимо будет проделать то же самое.
Изменения в процедуре вычисления ключей
Второй шаг в расширенном алгоритме Диффи-Хеллмана - произвести некоторые математические вычисления для генерации ключей, которыми будет происходить обмен.
Модифицированный алгоритм может быть представлен следующим образом:
1. Сторона А использует следующие ключи:
* Закрытый ключ ХА = a * b * c;
* Публичный ключ YA = gXA mod p
* Секретный ключ KK1 = YBXAmod p.
2. Сторона B использует следующие ключи:
* Закрытый ключ ХB = a + b + c;
* Публичный ключ YB = gXB mod p
* Секретный ключ K1 = YAXBmod p.
3. Значения p и g получены при помощи способа, представленного выше; a, b, c выбираются случайно из того же изображения так, что их значения лежат между 0 и p−1.
Безопасность полученного алгоритма
Расширенный алгоритм Диффи-Хеллмана, предложенный в работе, имеет преимущества перед оригинальным алгоритмом в защите от атак неавторизованных субъектов. Переменные, использующиеся в математических вычислениях, получены из небольших изображений, что дает дополнительную защиту.
Главным недостатком алгоритма Диффи-Хеллмана является уязвимость к атаке "человек-по-середине", при которой злоумышленник находится между отправителем и получателем и способен перехватывать все сообщения. Он может сгенерировать свои ключи и иметь доступ к зашифрованной информации. Но, передавая значения p и g через изображения, взлом значительно усложняется. Более того, второй шаг шифрования - использование разных математических уравнений - также является дополнительной защитой.
Приложение полученного алгоритма
В качестве практического приложения описанного в работе алгоритма был реализован программный продукт (рис. 1), позволяющий генерировать ключи для сторон А и В из произвольного изображения.
Рисунок 1. Пример работы программы
Список литературы:
- Ишмухаметов Ш.Т, Рубцова Р.Г. Математические основы защиты информации: учеб. пособие. Казань, 2012. — 138 с.
- Diffie W., Hellman M. E., «New directions in cryptography» IEEE Trans. Inform. Theory, vol. IT-22, pp. 644–654, Nov. 1976.
дипломов
Оставить комментарий