
- •Содержание
- •2.Краткое описание алгоритма шифра Эль-Гамаля.
- •3.Реализация шифрования дешифрования методом Эль-Гаммеля
- •3.1.Описание основных функций и переменных
- •3.2Результаты выполнения программы.
- •4.Краткое описание алгоритма электронной подписи Диффи-Хеллмана.
- •История
- •Описание алгоритма
- •5. Реализация алгоритма подписи сообщения c помощью системы Диффи-Хеллмана.
- •5.1. Описание основных функций и переменных.
- •5.2Результат выполнения программы.
- •6. Краткое описание алгоритма rc4.
- •7. Реализация алгоритма rc4.
- •7.1. Описание основных функций и переменных.
- •7.2. Результаты выполнения программы.
Федеральное агентство связи РФ
ГОУ ВПО “CибГУТИ”
Кафедра ВТИТ
Курсовая работа
По «Информатике»
Выполнил: студент курса ф. МРМ Сычёв В.В.
Проверил: Рягин Б.А.
Новосибирск 2012
Содержание
1.Текст задания, с указанием номера студента в журнале и соответствующих вариантов задания.
2.Краткое описание алгоритма шифра Эль-Гамаля.
3.Реализация шифрования/дешифрования методом Эль-Гамаля.
3.1. Описание основных функций и переменных.
3.2.Результаты выполнения программы.
4. Краткое описание алгоритма электронной подписи Диффи-Хеллмана.
5. Реализация алгоритма подписи сообщения c помощью системы Диффи-Хеллмана.
5.1. Описание основных функций и переменных.
5.2. Результаты выполнения программы.
6. Краткое описание алгоритма RC4.
7. Реализация алгоритма RC4.
7.1. Описание основных функций и переменных.
7.2. Результаты выполнения программы.
1.Текст задания, с указанием номера студента в журнале и соответствующих вариантов задания
. Программно реализовать на языке C++ алгоритм шифрования и дешифрования сообщения c помощью метода в соответствии с вариантом. Номер варианта k определяется по формуле: k=N mod 4, где N=11 – номер студента в журнале.
K=5 mod 4=1;
K=1
Метод шифрования «Шифр Эль-Гамаля» Программно реализовать на языке C++ алгоритм электронной подписи сообщения и проверки его подлинности c помощью метода в соответствии с вариантом. Номер варианта k определяется по формуле: k=N mod 3, где N – номер студента в журнале.
K=5 mod 3=2
K=2
Система Диффи-Хелмана
Программно реализовать на языке C++ алгоритм шифрования и дешифрования сообщения c помощью потокового шифра RC4.
2.Краткое описание алгоритма шифра Эль-Гамаля.
Схема Эль-Гамаля (Elgamal) — криптосистема с открытым ключом, основанная на трудности вычисления дискретных логарифмов в конечном поле. Криптосистема включает в себя алгоритм шифрования и алгоритм цифровой подписи.
Схема была предложена Тахером Эль-Гамалем в 1984 году. Эль-Гамаль разработал один из вариантов алгоритма Диффи-Хеллмана. Он усовершенствовал систему Диффи-Хеллмана и получил два алгоритма, которые использовались для шифрования и для обеспечения аутентификации. В отличие от RSA алгоритм Эль-Гамаля не был запатентован и, поэтому, стал более дешевой альтернативой, так как не требовалась оплата взносов за лицензию. Считается, что алгоритм попадает под действие патента Диффи-Хеллмана.
Генерация ключей
Генерируется случайное простое число
длины
битов.
Выбирается случайное целое число
такое, что
.
Выбирается случайное целое число
такое, что
.
Вычисляется
.
Открытым ключом является тройка
, закрытым ключом — число .
Работа в режиме шифрования
Шифрсистема Эль-Гамаля является фактически одним из способов выработки открытых ключей Диффи — Хеллмана. Шифрование по схеме Эль-Гамаля не следует путать с алгоритмом цифровой подписи по схеме Эль-Гамаля.
Шифрование
Сообщение
шифруется
следующим образом:
Выбирается сессионный ключ — случайное целое число
такое, что
Вычисляются числа
и
.
Пара чисел
является шифротекстом.
Нетрудно видеть, что длина шифротекста в схеме Эль-Гамаля длиннее исходного сообщения вдвое.
Расшифрование
Зная закрытый ключ , исходное сообщение можно вычислить из шифротекста по формуле:
При этом нетрудно проверить, что
и поэтому
.
Для практических вычислений больше подходит следующая формула:
Пример
Шифрование
Допустим что нужно зашифровать сообщение
.
Произведем генерацию ключей :
пусть
. Выберем
- случайное целое число такое,что .
Вычислим
.
Итак , открытым является тройка
,а закрытым ключом является число .
Выбираем случайное целое число такое, что 1 < k < (p − 1). Пусть
.
Вычисляем число
.
Вычисляем число
.
Полученная пара
является шифротекстом.
Расшифрование
Необходимо получить сообщение по известному шифротексту и закрытому ключу .
Вычисляем M по формуле :
Получили исходное сообщение .
Так
как в схему Эль-Гамаля вводится случайная
величина
,то
шифр Эль-Гамаля можно назвать шифром
многозначной замены. Из-за случайности
выбора числа
такую
схему еще называют схемой вероятностного
шифрования. Вероятностный характер
шифрования является преимуществом для
схемы Эль-Гамаля, так как у схем
вероятностного шифрования наблюдается
большая стойкость по сравнению со
схемами с определенным процессом
шифрования. Недостатком схемы шифрования
Эль-Гамаля является удвоение длины
зашифрованного текста по сравнению с
начальным текстом. Для схемы вероятностного
шифрования само сообщение
и
ключ не определяют шифротекст однозначно.
В схеме Эль-Гамаля необходимо использовать
различные значения случайной величины
для
шифровки различных сообщений
и
.
Если использовать одинаковые
,
то для соответствующих
шифротекстов
и
выполняется
соотношение
.
Из этого выражения можно легко вычислить
,
если известно
.