Реализация алгоритма криптозащиты Эль-Гамаля
Сущность и история разработки алгоритма криптозащиты Эль-Гамаля. Основы этого типа шифрования, особенности генерации ключей. Специфика реализации системы криптозащиты средствами процессора ADSP-2181 в расширенных полях Галуа. Блок-схемы программирования.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 13.01.2013 |
Размер файла | 1,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
МИНИСТЕРСТВО РОССИЙСКОЙ ФЕДЕРАЦИИ
ПО СВЯЗИ И ИНФОРМАТИЗАЦИИ
Московский технический университет связи и информатики
Курсовая работа
Реализация алгоритма криптозащиты Эль-Гамаля
Москва 2012
Оглавление
- 1. Об алгоритме Эль-Гамаля
- 2. Реализация
- Список используемой литературы
1. Об алгоритме Эль-Гамаля
История
Схема была предложена Тахером Эль-Гамалем в 1984 году. Эль-Гамаль разработал один из вариантов алгоритма Диффи-Хеллмана. Он усовершенствовал систему Диффи-Хеллмана и получил два алгоритма, которые использовались для шифрования и для обеспечения аутентификации. В отличии от RSA алгоритм Эль-Гамаля не был запатентован и, поэтому, стал более дешевой альтернативой, так как не требовалась оплата взносов за лицензию. Считается, что алгоритм попадает под действие патента Диффи-Хеллмана.
Алгоритм
Алгоритм Эль-Гамаля- двухключевой алгоритм, предназначен как для шифрования/ дешифрования сообщений, так и для генерации электронной подписи. В основе секретности алгоритма лежит высокая сложность операций вычисления целочисленных логарифмов по сравнению с операцией возведения в степень в конечных полях.
При использовании алгоритма Эль-Гамаля для шифрования информации зашифрованное сообщение будет иметь вдвое больший размер по сравнению с исходным.
Генерация ключей
Для генерации пары ключей, - открытого и индивидуального, - необходимо выбрать большое простое число p и два произвольных числа g и d:
Далее следует вычислить:
Открытый ключ составляют числа Z, g, и p, причем g и p могут быть общими для группы пользователей.
Индивидуальным (закрытым) ключом является число d.
Шифрование
Для шифрования сообщения X выбирается произвольное число V, взаимно простое с (p-1), и вычисляется:
Y1 и Y2 составляют зашифрованное сообщение, его размер вдвое превышает размер шифруемого исходного сообщения X.
Дешифрование
Дешифрование производится в соответствии с выражением:
Поскольку:
т.е. восстановленное сообщение X' адекватно исходному сообщению X.
2. Реализация
Реализуем алгоритм шифрования / дешифрования Эль-Гамаля средствами процессора ADSP-2181 в расширенных полях Галуа.
В качестве учебной модели будем работать с трех регистровыми числами.
Для этого возьмём примитивный полином
Выберем числа g, d и V:
Когда открытый и закрытый ключи известны можно приступать к непосредственному написанию программы на ассемблере процессора ADSP-2181.
Таблица необходимых функций:
Имя функции |
Описание |
|
umn_AxB |
подпрограмма умножения двух 64 разрядныхчисел по модулю . Входные параметры:A[4](множитель 1), B[4](множитель 2). Выходныепараметры: result_umn[4](результат подпрограммы).Портит содержание регистров:sr1,sr0, si, ay1, ay0, ar,ax1 |
|
nakopl_bank |
подпрограмма накопления банкастепеней числа N до () степени. Входныепараметры: N[4](число возводимое в степени).Выходные параметры: rezult_bank[260](банк).Портит содержание регистров:sr1, sr0, si, ay1, ay0,ar, ax1 |
|
vozvedenie_v_stepen |
подпрограмма возведенияв степень. Входные данные: F[4](степень),N[4](число), FL[1](флаг перезаполнения банка).Выходные данные: rezult_vozvedenia[4].Портит содержание регистров: sr1, sr0, si, ay1, ay0,ar, ax1 |
Таблица массивов:
Массив |
Обозначение начального адреса |
Размер буфера |
Описание |
|
rezult_bank |
I0 |
260 |
Банк степеней |
|
A |
I1 |
4 |
Множитель A, операции умножения |
|
result_umn |
I2 |
4 |
Результат умножения |
|
B |
I3 |
4 |
Множитель В, операции умножения |
|
N |
I4 |
4 |
Число возводимое в степень |
|
X |
I5 |
4 |
Входной блок информации |
|
rezult_vozvedenia |
I6 |
4 |
Результат возведения в степень |
|
F |
I5 |
4 |
Степень |
|
Z |
- |
4 |
Открытый ключ Z |
|
Y1 |
- |
4 |
Первая часть зашифрованного сообщения |
|
Y2 |
- |
4 |
Вторая часть зашифрованного сообщения |
|
P |
- |
4 |
Число P |
|
g |
- |
4 |
Число g |
|
d |
- |
4 |
Число d |
|
V |
- |
4 |
Число V |
|
tmp |
- |
1 |
Временная переменная |
Блок-схемы
криптозащита эль гамаля шифрование
Список используемой литературы
1.Шаврин С.С. Защита информации в многоканальных телекоммуникационных системах. часть 1.
2.Шаврин С.С. Защита информации в многоканальных телекоммуникационных системах. часть 2.
Размещено на Allbest.ru
Подобные документы
Исследование системы распределения ключей на основе линейных преобразований. Описание компонентов сети конфиденциальной связи. Характеристика отечественного алгоритма шифрования данных. Обзор результатов расчетов криптостойкости алгоритма шифрования.
контрольная работа [56,5 K], добавлен 26.09.2012Разработка приложения для шифрования данных с помощью алгоритма DES5: процесс шифрования, расшифрования, получение ключей. Спецификация программы, процедуры и функции; описание интерфейса пользователя. Реализация задачи в среде программирования DELPHI.
курсовая работа [812,6 K], добавлен 27.03.2012Исследование симметричных алгоритмов блочного шифрования. Минусы и плюсы алгоритма IDEA. Разработка программы аутентификации пользователя и сообщений на основе алгоритма IDEA. Выбор языка программирования. Тестирование и реализация программного средства.
курсовая работа [314,2 K], добавлен 27.01.2015Электронная цифровая подпись. Асимметричные алгоритмы шифрования. Сценарий распределения открытых ключей, обмен сертификатами. Выбор программных средств. Математическая модель. Скорости Эль-Гамаля для различных длин модулей. Программная реализация.
дипломная работа [461,7 K], добавлен 22.09.2011Основные способы криптографии, история ее развития. Принцип шифрования заменой символов, полиалфавитной подстановкой и методом перестановки. Симметричный алгоритм шифрования (DES). Открытое распределение ключей. Шифры Ривеста-Шамира-Алдемана и Эль Гамаля.
реферат [39,3 K], добавлен 22.11.2013Процесс и основные этапы реализации алгоритма формирования ключей в процессе функционирования DES с помощью языка программирования C++. Особенности работы программного алгоритма и его пошаговая реализация. Листинг получившейся программы, пример ее работы.
лабораторная работа [383,9 K], добавлен 26.08.2009История возникновения алгоритма симметричного шифрования, условия и особенности его применения на современном этапе. Принципы и функции исследуемой технологии. Анализ главных преимуществ и недостатков использования алгоритма, оценка его уязвимости.
курсовая работа [301,9 K], добавлен 29.10.2017История развития центрального процессора. Основные проблемы создания многоядерных процессоров. Проектирование микропроцессорной системы на базе процессора Intel 8080. Разработка принципиальной схемы и блок-схемы алгоритма работы микропроцессорной системы.
курсовая работа [467,6 K], добавлен 11.05.2014Спецификация требований к разрабатываемому приложению. Разработка структурной схемы интерфейса. Описание алгоритма шифрования DES. Разработка программного кода приложения "DES". Проведение исследования основных шагов для генерации ключей и шифрования.
курсовая работа [398,4 K], добавлен 13.12.2022Анализ криптографических методов шифрования данных. Разработка криптосистемы, основанной на схеме Эль-Гамаля. Определение функциональных и нефункциональных требований. Выбор языка программирования и среды разработки. Тестирование программного продукта.
дипломная работа [1,6 M], добавлен 17.07.2016