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

21 чел.

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, а затем также циклически происходит побайтовое считывание закодированного файла.


 

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

26061. Асинхронные и синхронные триггеры. Способы управления триггеров 14.12 KB
  С Особенностью синхронного триггера является то что ввиду наличия в схеме управления инвертирующих элементов происходит изменение исполнительного значения управляющих сигналов по сравнению с асинхронными. Применение синхронизации не устраняет неопределённое состояние триггера возникающее при одновременной подаче единичных сигналов на все три входа. Поэтому условием нормального функционирования является следующее неравенство: SRC ≠ 1 Кроме трёх основных входов синхронные RSтриггеры снабжаются ещё входами асинхронной установки состояния...
26062. Катаболизм и анаболизм. Биологическое значение основных метаболических путей (гликолиз, цикл трикарбоновых кислот, расщепление и синтез жирных кислот) 15.72 KB
  При катаболизме происходит расщепление и окисление в результате чего извлекается энергия из расщепившихся макромолекул. На первом этапе идут 2 необратимых реакции в результате чего тратится 2 мол АТФ. В результате этого этапа образуется 2 мол НАДНН и 4 мол АТФ. Конечным продуктом является 2 мол ПВК.
26063. Липиды 14.89 KB
  Липидынизкомолекулярные оргие соедия полностью или почти полностью нерастворимые в воде. Биологические фии липидов: 1 Структурная липиды в виде комплекса с белками являются стрми элементами мембран клеток. Классификация липидов: 1Простые липиды ацилглицеролы воска. 2Сложные липиды фосфолипиды гликолипиды стероиды.
26064. Макромолекулы как основа организации биологических структур 23.39 KB
  Первичная структура – линейная. Вторичная структура. Структура полипептидной цепи спирализована неполностью. Такие параллельно расположенные участки структура конфигурация представляет собой складчатую структуру которая включает параллельные цепи связанные водородной связью.
26065. Нуклеиновые кислоты, основные типы, физ-хим 14.65 KB
  Сущт несколько форм ДНК Bформаправозакрученная длина полного витка 34 ангстрема ширина 20 А полный виток спирали10 пар нуклеотидов. Аформа: 11 пар оснований в витке угол наклона 20 Сформа9. Третичная формаукладка в прве. Исходная кольцевая форма у бактерий хлоропластов митох.
26066. Углеводы, их биологическая роль, классификация 12.82 KB
  Классификация: Простые сахарамоносахды их производные; Сложные сахараолигосахариды и полисахариды. Моносахаридыальдозы и кетозы. Олигосахаридыуглеводы молекулы которых содержат 210 моносахаридных остатков. Среди них различают гомополисахды из остатков 1 моносахда гетерополисахдыиз остатков разных моносахдов.
26067. Ферменты как биокатализаторы, их специфичность 14.05 KB
  Ферменты явлся глобулярными белками вклт простые однокомпонентные и сложные двукомпонентные. Белковая часть двукомпонентных ферментов называется апоферментом молекула в целом холоферментом небелковые компоненты легко диссоциирущие из комплекса коферменты. Ферменты внутри клетки содержатся и действуют в определенных ее органеллах. Почти все ферменты гликолиза обнаруживаются в цитоплазме ферменты окислительного фосфорилирования во внутренней мембране.