Реализация алгоритма криптозащиты Эль-Гамаля

Сущность и история разработки алгоритма криптозащиты Эль-Гамаля. Основы этого типа шифрования, особенности генерации ключей. Специфика реализации системы криптозащиты средствами процессора 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.