33656

Метод Эль-Гамаля

Доклад

Информатика, кибернетика и программирование

1 WP1 = 1 mod P Затем генерируется секретный ключ Ха из диапазона 1 X P1. Затем вычисляется открытый ключ Y как степень: Y = WX mod P. Затем выбрав число K мы вычисляем число R по формуле : R = YK mod P. Для ее формирования используется операция побитового сложения по модулю 2: C1 = WK mod P 5.

Русский

2013-09-06

103 KB

23 чел.

21.метод Эль-Гамаля

В настоящий момент наиболее распространенными системами шифрования с открытым ключом являются системы RSA и Эль Гамаль. Их применение требует больших вычислительных мощностей, а практическая реализация требует решения таких проблем, как быстрое выполнение  вычислений с числами, состоящими из сотен десятичных разрядов.

Алгоритм Эль Гамаля был разработан в 1985 году и основывается на возведении в степень по модулю большого  простого числа. Данная система является альтернативой RSA и при равном значении ключа обеспечивает ту же криптостойкость. Это связано с тем что задача разложения на сомножители больших целых чисел и задача вычисления дискретного логарифма сопоставимы между собой по трудоемкости решения.

В отличие от RSA метод Эль-Гамаля основан на проблеме дискретного логарифма, т.е если возводить число в степень в конечном поле достаточно легко, то восстановить аргумент по значению (то есть найти логарифм) довольно трудно.

Основу системы составляют параметры Р и W - числа, первое из которых - очень большое простое целое число (несколько сотен десятичных разрядов), а второе - целое. Т.к. программная реализация алгоритмов, которые позволяли бы работать с большими числами, очень трудна, то в лабораторной работе я использую числа до 1018 чего вполне достаточно для применения ее в учебных целях.

Число W находится из условий:

0 < W < P-1         (5.1)

WP-1 = 1 mod P  

Затем генерируется секретный ключ Ха из диапазона 1 Xa P-1.

Затем вычисляется открытый ключ Ya как степень:

Ya = WXa mod P.        (5.2)

Для того чтобы зашифровать сообщение М выбирается дополнительное число К удовлетворяющее условию 1 K P-1. Сообщение М – это ничто иное, как 1 символ текста, или, точнее говоря, ASCII-код символа (от 0 до 255).

Затем, выбрав число K, мы вычисляем число R по формуле :

R = YaK mod P.        (5.3)

Криптограмма, или закодированное сообщение,  формируется из двух элементов. Для ее формирования используется операция побитового сложения по модулю 2:

C1 = WK mod P,        (5.4)

C2 = M  R.

Для восстановления по криптограмме С исходного сообщения сначала используя С1 находят R, для этого возводят С1 в степень Ха по модулю Р:

R = C1Xa mod P = WKXa mod P = (WXa)K mod P = YaK mod P. (5.5)

Если известно R то дешифрование исходного текста не представляет какой-либо трудности. Дешифрование производится по формуле:

M = C2  R.        (5.6)

Таким образом в лабораторной работе происходит циклическое считывание из исходного файла по 1 символу, который затем интерпретируется как ASCII-код и помещается в переменную М. Затем происходит сохранение результата сложения по M xor R в выходном файле, что и представляет собой криптограмму С2. В начало же выходного файла (самым первым его байтом) записывается полученное значение элемента криптограммы С1, поэтому размер закодированного файла больше исходного на 1 байт. При декодировании из закодированного файла сначала считывается первый байт С1, который будет необходим для вычисления R, а затем также циклически происходит побайтовое считывание закодированного файла.


 

А также другие работы, которые могут Вас заинтересовать

22488. Навигация и интерфейс в средах виртуальной реальности 510 KB
  Работа посвящена исследованию и сравнительному анализу сред навигации интерфейса в средах виртуальной реальности для систем компьютерной визуализации, предназначенных для представления больших и очень больших объемов информации, генерируемых при супервычислениях. В ходе работы будут предложены средства навигации и интерфейса для виртуальной среды.
22489. ЦЕНТРАЛЬНАЯ РАЙОННАЯ ПОЛИКЛИНИКА. ОБЗОР. ПРИНЦИПЫ И ТЕХНОЛОГИЯ ОРГАНИЗАЦИИ РАБОТЫ, СОСТОЯНИЕ ПРОБЛЕМЫ И ПЕРСПЕКТИВЫ РАЗВИТИЯ В РЕСПУБЛИКЕ БЕЛАРУСЬ 133 KB
  Повышение роли профилактики заболеваний и формирование здорового образа жизни. Развитие современных медицинских технологий и расширение их доступности. Улучшение финансового обеспечения государственных гарантий бесплатной медицинской помощи. Сглаживание неравенства в доступности медицинской помощи для различных групп населения. Расширение возможностей граждан влиять на систему здравоохранения.
22490. Разработка методик визуализации для представления работы параллельных программ 582 KB
  Объект исследования: система RiDE, разрабатываемая для программирования в параллельных распределённых средах. Цель работы: разработка методик визуализации для представления работы параллельных программ, написанных для системы RiDE. Разработка программы-визуализатора.
22491. Разработка специализированной среды трехмерной динамической визуализации 479.62 KB
  Трехмерная графика реального времени связана с анимацией и интерактивным взаимодействием с пользователем. Одной из первых сфер применения трехмерной графики реального времени были военные авиатренажеры...
22492. Визуальная среда обучения программированию на языке Haskell 450 KB
  Язык программирования Haskell – это «ленивый» функциональный язык программирования с полиморфизмом типов. Основное понятие в нем – это функции. Но функции есть в любом языке программирования! В языках Pascal, Java...