- 1
- 2
МИНИСТЕРСТВО РОССИЙСКОЙ ФЕДЕРАЦИИ
ПО СВЯЗИ И ИНФОРМАТИЗАЦИИ
Московский технический университет связи и информатики Курсовая работа
Реализация алгоритма криптозащиты Эль-Гамаля
Москва 2012
Оглавление1. Об алгоритме Эль-Гамаля
. Реализация
Список используемой литературы
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 разрядных чисел по модулю . Входные параметры:[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, |
- 1
- 2
Похожие работы
Тема: Реализация алгоритма симметрического шифрования в java на примере алгоритма DES |
Предмет/Тип: Другое (Диплом) |
Тема: Реализация алгоритма обработки данных |
Предмет/Тип: Информатика, ВТ, телекоммуникации (Реферат) |
Тема: Реализация алгоритма обработки данных |
Предмет/Тип: Информатика, ВТ, телекоммуникации (Реферат) |
Тема: Реализация алгоритма на ЭВМ |
Предмет/Тип: Информатика, ВТ, телекоммуникации (Реферат) |
Тема: Реализация алгоритма на ЭВМ |
Предмет/Тип: Информатика, ВТ, телекоммуникации (Реферат) |
Интересная статья: Основы написания курсовой работы