Криптосистемы RSA и Эль-Гамаля

Методы шифрования исходных сообщений асимметричным методом с открытым ключом RSA. Сущность и история разработки алгоритма криптозащиты Эль-Гамаля, особенности генерации ключей. Подтверждение подлинности отправителя, применение электронно-цифровой подписи.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 10.05.2017
Размер файла 63,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Содержание

  • 1. Криптосистемы RSA и Эль-Гамаля
  • 1.1 Алгоритм шифрования RSA
  • 1.1.1 Генерация ключей
  • 1.1.2 Шифрование/расшифрование
  • 1.2 Алгоритм Эль-Гамаля
  • 1.2.1 Общие сведения
  • 1.2.2 Шифрование сообщений
  • 1.2.3 Подтверждение подлинности отправителя
  • 2. Электронно-цифровая подпись
  • 2.1 Система цифровой подписи Шнорра
  • 2.2 Стандарт цифровой подписи DSA
  • 3. Практические задания
  • Список литературы

1. Криптосистемы RSA и Эль-Гамаля

1.1 Алгоритм шифрования RSA

Самым распространенным алгоритмом ассиметричного шифрования является алгоритм RSA. Он был предложен тремя исседователями-математиками Рональдом Ривестом (R. Rivest), Ади Шамиром (A. Shamir) и Леонардом Адльманом (L. Adleman) в 1977-78 годах. Разработчикам данного алгоритма удалось эффективно воплотить идею односторонних функций с секретом. Стойкость RSA базируется на сложности факторизации больших целых чисел. В 1993 году метод RSA был обнародован и принят в качестве стандарта (PKCS #1: RSAEncryptionstandart). RSA можно применять как для шифрования/расшифрования, так и для генерации/проверки электронно-цифровой подписи.

1.1.1 Генерация ключей

Первым этапом любого асимметричного алгоритма является создание пары ключей: открытого и закрытого и распространение открытого ключа "по всему миру". Для алгоритма RSA этап создания ключей состоит из следующих операций:

Выбираются два простых (!) числа p и q

Вычисляется их произведение n=(p*q)

Выбирается произвольное число e (e<n), такое, что

НОД(e,(p-1)(q-1))=1,

то есть e должно быть взаимно простым с числом (p-1)(q-1).

Методом Евклида решается в целых числах (!) уравнение

e*d+(p-1)(q-1)*y=1. Здесь неизвестными являются переменные d и y - метод Евклида как раз и находит множество пар (d,y), каждая из которых является решением уравнения в целых числах.

Два числа (e,n) - публикуются как открытый ключ.

Число d хранится в строжайшем секрете - это и есть закрытый ключ, который позволит читать все послания, зашифрованные с помощью пары чисел (e,n).

1.1.2 Шифрование/расшифрование

Как же производится собственно шифрование с помощью этих чисел:

Отправитель разбивает свое сообщение на блоки, равные k=[log2(n)] бит, где квадратные скобки обозначают взятие целой части от дробного числа.

Подобный блок, может быть интерпретирован, как число из диапазона (0;2k-1). Для каждого такого числа (назовем его mi) вычисляется выражение

ci=((mi)e)modn.

Блоки ci и есть зашифрованное сообщение, и их можно спокойно передавать по открытому каналу, поскольку операция возведения в степень по модулю простого числа, является необратимой математической задачей. Обратная ей задача носит название "логарифмирование в конечном поле" и является на несколько порядков более сложной задачей. То есть даже если злоумышленник знает числа e и n, то по ci прочесть исходные сообщения mi он не может никак, кроме как полным перебором mi.

А вот на приемной стороне процесс дешифрования все же возможен, и поможет нам в этом хранимое в секрете число d. Достаточно давно была доказана теорема Эйлера, частный случай которой утверждает, что если число n представимо в виде двух простых чисел p и q, то для любого x имеет место равенство

(x(p-1)(q-1))modn = 1.

Для дешифрования RSA-сообщений воспользуемся этой формулой.

Возведем обе ее части в степень (-y):

(x(-y)(p-1)(q-1))modn = 1(-y)= 1.

Теперь умножим обе ее части на x:

(x(-y)(p-1)(q-1)+1)modn = 1*x = x.

А теперь вспомним как мы создавали открытый и закрытый ключи. Мы подбирали с помощью алгоритма Евклида d такое, что

e*d+(p-1)(q-1)*y=1,

то есть

e*d=(-y)(p-1)(q-1)+1.

А следовательно в последнем выражении предыдущего абзаца мы можем заменить показатель степени на число (e*d). Получаем (xe*d)modn = x. То есть для того чтобы прочесть сообщение ci=((mi)e)modn достаточно возвести его в степень d по модулю m:

((ci)d)mod n = ((mi)e*d)mod n = mi.

На самом деле операции возведения в степень больших чисел достаточно трудоемки для современных процессоров, даже если они производятся по оптимизированным по времени алгоритмам. Поэтому обычно весь текст сообщения кодируется обычным блочным шифром (намного более быстрым), но с использованием ключа сеанса, а вот сам ключ сеанса шифруется как раз асимметричным алгоритмом с помощью открытого ключа получателя и помещается в начало файла.

1.2 Алгоритм Эль-Гамаля

1.2.1 Общие сведения

Криптографы со своей стороны вели поиски более эффективных систем открытого шифрования и в 1985 году Т. Эль-Гамаль (США) предложил следующую схему на основе возведения в степень по модулю большого простого числа P.

Задается большое простое число P и целое числоA, 1<A<P. Сообщения представляются целыми числами M из интервала 1<M<P.

1.2.2 Шифрование сообщений

Протокол передачи сообщения M выглядит следующим образом.

абоненты знают числа A и P;

абоненты генерируют независимо друг от друга случайные числа:

Ka, Kb удовлетворяющих условию: 1<K<P получатель вычисляет и передаёт отправителю число B, определяемое последовательностью:

В = AKbmоd(P)

отправитель шифрует сообщение M и отправляет полученную последовательность получателю

C = M * BKamоd(P)

получатель расшифровывает полученное сообщение

D = (AKa)-Kbmоd(P)

M = C * D mоd(P)

В этой системе открытого шифрования та же степень защиты, что для алгоритма RSA с модулем N из 200знаков, достигается уже при модуле P из 150 знаков. Это позволяет в 5-7раз увеличить скорость обработки информации. Однако, в таком варианте открытого шифрования нет подтверждения подлинности сообщений.

1.2.3 Подтверждение подлинности отправителя

Для того, чтобы обеспечить при открытом шифровании по модулю простого числа P также и процедуру подтверждения подлинности отправителя Т. Эль-Гамаль предложил следующий протокол передачи подписанного сообщения M:

абоненты знают числа A и P;

отправитель генерирует случайное число и хранит его в секрете:

Ka удовлетворяющее условию: 1<Ka<P вычисляет и передаёт получателю число B, определяемое последователньостью:

В = AKamоd(P)

Для сообщения M(1<M<P): выбирает случайное число L(1<L<P), удовлетворяющее условию (L, P - 1) = 1 вычисляет число

R = ALmоd(P)

решает относительно S

M=Ka*R+L*S mоd(P)

передаёт подписанное сообщение [M,R,S] получатель проверяет правильность подписи

A M = (BR) * (RS) mоd(P)

В этой системе секретным ключом для подписывания сообщений является число X, а открытым ключом для проверки достоверности подписи число B. Процедура проверки подписи служит также и для проверки правильности расшифрования, если сообщения шифруются.

2. Электронно-цифровая подпись

шифрование алгоритм криптозащита

При ведении деловой переписки, при заключении контрактов подпись ответственного лица является непременным атрибутом документа, преследующим несколько целей:

- Гарантирование истинности письма путем сличения подписи с имеющимся образцом;

- Гарантирование авторства документа (с юридической точки зрения)

Выполнение данных требований основывается на следующих свойствах подписи:

- подпись аутентична, то есть с ее помощью получателю документа можно доказать, что она принадлежит подписывающему;

- подпись неподделываемая; то есть служит доказательством, что только тот человек, чей автограф стоит на документе, мог подписать данный документ, и никто иной.

- Подпись непереносима, то есть является частью документа и поэтому перенести ее на другой документ невозможно.

- Документ с подписью является неизменяемым.

- Подпись неоспорима.

- Любое лицо, владеющее образцом подписи может удостоверится, что документ подписан владельцем подписи.

Развитие современных средств безбумажного документооборота, средств электронных платежей немыслимо без развития средств доказательства подлинности и целостности документа. Таким средством является электронно-цифровая подпись (ЭЦП), которая сохранила основные свойства обычной подписи.

2.1 Система цифровой подписи Шнорра

Система цифровой подписи Шнорра подобна системе цифровой подписи Эль-Гамаля.

Пусть p - простое число, q - простой делитель (p ?)1, а g - элемент порядка q в GF(p) (степени этого элемента по модулю p порождают q различных элементов поля), 0 < k < q - случайное число, 0 < z < q - секретный ключ, y= mod р - открытый ключ. Уравнения выработки подписи имеют вид

r = modp, e = h(X,r), s = (ze + k)mod q .

Подписью является (e,s). В этом случае получатель вычисляет modp и вычисляет хэш-функцию

e'= h (X,modp).

Если e '=e, то подпись признается корректной.

Цифровые подписи, построенные по системе Шнорра, короче, чем в системе Эль- Гамаля или RSA.

2.2 Стандарт цифровой подписи DSA

Стандарт DSS (Digital Signature Standard) принят в США в 2000 г. Согласно этому стандарту подпись может формироваться по одному из трех алгоритмов:

1. DSA (Digital Signature Algorithm), основанному на проблеме вычисления логарифма в конечном поле.

2. ANSI X9.31 (RSA DSA).

3. ANSI X9.63, основанному на проблеме вычисления логарифма в группе точек эллиптической кривой над конечным полем.

Алгоритм DSA включает следующие этапы

1. Предварительный этап - выбор параметров Выбираются следующие параметры: p - простое число в диапазоне < p< , 512 < l < 1024 - кратно 64, < q< - простой делитель p?1, g - элемент порядка q в GF(p), выбирается в виде , где б - примитивный элемент.

Выбирается секретный ключ 0 < z < q и вычисляется открытый ключ для проверки подписи y=mod р.

2. Формирование цифровой подписи

Вычисляется значение хэш-функции от сообщения h(X) . При этом используется алгоритм безопасного хэширования SHA-1 (Secure Hashing Algorithm). Значение h(X) имеет длину 160 бит. Далее отправитель выбирает случайное значение 0 < k < q и вычисляет modq. Затем вычисляется пара значений

r= (modp)(modq);

s=(h(X)+zr)(mod q).

Пара значений (r,s) является цифровой подписью под сообщением X . После выработки подписи значение k уничтожается. 3. Верификация цифровой подписи

Получатель вычисляет

и сравнивает полученное значение с r. Подпись считается корректной, если полученный результат совпадает с r.

Рассмотрим вычисляемое выражение

При любом уровне стойкости (любой паре чисел p, g от 512 до 1024 бит), числа z, q,r,s имеют длину 160 бит, что сокращает длину цифровой подписи до 320 бит.

3. Практические задания

1. Расшифруйте следующие сообщения, зашифрованные шифром Цезаря, и определите ключ n, 0<n<33, если известно, что исходные сообщения составлены из алфавита

АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ:

ЮВПЛШУХ

Метод Цезаря заключается в том, что каждая буква зашифрованного текста смещается на n количество букв по алфавиту вправо либо влево. В данной задаче ключ n=11 влево.

Ответ: УЧЕБНИК

2. Сложите по модулю 2:

- двоичные числа 10101100 и 11001010 ;

- десятичные числа 15 и 10 ;

- шестнадцатеричные числа 0В 5 и 37.

Примечание: десятичные и шестнадцатеричные числа необходимо сначала перевести в двоичный вид.

Операция сложения по модулю 2 в алгебре и логике называется "исключающее ИЛИ" XOR. При сложении двух двоичных знаков получается 0, если исходные двоичные цифры одинаковы, и 1, если цифры разные.

10101100 XOR 11001010 =01100110

Ответ: 01100110

Переведем десятичные числа в двоичные:

15=1111; 10=1010

1111 ХОR 1010 = 0101

Ответ: 0101

Переведем шестнадцатеричные числа в двоичные

0В 5=000010110101; 37=00110111

10110101 ХОR 00110111=10000010

Ответ: 10000010

Список литературы

1. Баричев С.Г., Гончаров В.В., Серов Р.Е. Основы современной криптографии - [Электронный ресурс] режим доступа: http://www.ict.edu.ru/ft/002447/crypto1-3.pdf

2. Криптография - [Электронный ресурс] режим доступа: (http://www.citforum.ru/internet/securities/crypto.shtml)

3. Криптографические алгоритмы с открытым ключом - [Электронный ресурс] режим доступа: http://argosoft.webservis.ru/Base/RSAintro.html#Криптографические алгоритмы с открытым ключом

4. "Программирование РАН", N 5 (сентябрь-октябрь), 1994, стр. 17-22 [Электронный ресурс] режим доступа: http://www1.tepkom.ru/users/ant/Articles/Pkcstand.html

5. Теоретические основы - Безопасность информационных систем - Криптографические системы - [Электронный ресурс] режим доступа: http://argosoft.webservis.ru/Base/Crypt.html#Механизмы шифрования

6. Совpеменные кpиптогpафические методы защиты инфоpмации - Системы с откpытым ключом [Электронный ресурс] режим доступа: http://ppt.newmail.ru/crypto04.htm#Heading20

Размещено на Allbest.ru

...

Подобные документы

  • Сущность и история разработки алгоритма криптозащиты Эль-Гамаля. Основы этого типа шифрования, особенности генерации ключей. Специфика реализации системы криптозащиты средствами процессора ADSP-2181 в расширенных полях Галуа. Блок-схемы программирования.

    контрольная работа [1,0 M], добавлен 13.01.2013

  • Формирование ключей для шифрования сообщения. Описание алгоритма RSA: шифрование и дешифрование. Понятие и история изобретения криптосистемы с открытым ключом. Свойства односторонней функции и сложность раскрытия шифра. Сущность цифровой подписи.

    лабораторная работа [326,0 K], добавлен 04.11.2013

  • Симметричные и асиметричные методы шифрования. Шифрование с помощью датчика псевдослучайных чисел. Алгоритм шифрования DES. Российский стандарт цифровой подписи. Описание шифрования исходного сообщения асимметричным методом с открытым ключом RSA.

    курсовая работа [101,1 K], добавлен 09.03.2009

  • Электронная цифровая подпись. Асимметричные алгоритмы шифрования. Сценарий распределения открытых ключей, обмен сертификатами. Выбор программных средств. Математическая модель. Скорости Эль-Гамаля для различных длин модулей. Программная реализация.

    дипломная работа [461,7 K], добавлен 22.09.2011

  • Традиционные симметричные криптосистемы. Основные понятия и определения. Методы шифрования. Метод перестановок на основе маршрутов Гамильтона. Асимметричная криптосистема RSA. Расширенный алгоритм Евклида. Алгоритмы электронной цифровой подписи Гамаля.

    курсовая работа [235,6 K], добавлен 06.01.2017

  • Понятие и история изобретения криптосистемы с открытым ключом. Свойства односторонней функции и сложность раскрытия шифра. Описание алгоритма RSA: шифрование и дешифрование. Возможные атаки, способы взлома, обоснование и практическая реализация RSA.

    курсовая работа [45,9 K], добавлен 24.12.2011

  • Основные способы криптографии, история ее развития. Принцип шифрования заменой символов, полиалфавитной подстановкой и методом перестановки. Симметричный алгоритм шифрования (DES). Открытое распределение ключей. Шифры Ривеста-Шамира-Алдемана и Эль Гамаля.

    реферат [39,3 K], добавлен 22.11.2013

  • Обмен информации, защищенной от фальсификаций и незаконных пользователей. Распределение секретных ключей с помощью системы с открытым ключом. Разработка модулей системы генерации ключей и обмена конфиденциальной информацией для группы пользователей.

    курсовая работа [2,0 M], добавлен 17.11.2011

  • Разъяснения по использованию систем цифровой подписи в связи с ведением закона "Об электронной цифровой подписи". Пример практического применения механизма электронно-цифровой подписи: программа контроля подлинности документов, хранимых в базе данных.

    контрольная работа [180,1 K], добавлен 29.11.2009

  • Анализ криптографических методов шифрования данных. Разработка криптосистемы, основанной на схеме Эль-Гамаля. Определение функциональных и нефункциональных требований. Выбор языка программирования и среды разработки. Тестирование программного продукта.

    дипломная работа [1,6 M], добавлен 17.07.2016

  • Основные методы криптографической защиты информации. Система шифрования Цезаря числовым ключом. Алгоритмы двойных перестановок и магические квадраты. Схема шифрования Эль Гамаля. Метод одиночной перестановки по ключу. Криптосистема шифрования данных RSA.

    лабораторная работа [24,3 K], добавлен 20.02.2014

  • Рассмотрение основных понятий криптографии: конфиденциальности, целостности, аутентификации и цифровой подписи. Описание криптографических средств защиты (криптосистемы, принципы работы криптосистемы, распространение ключей, алгоритмы шифрования).

    дипломная работа [802,2 K], добавлен 08.06.2013

  • Состав, параметры технических средств. Выработка общего ключа для шифрования/расшифровки сообщения. Структура подключения ПЛИС с персональным компьютером по Ethernet. Модули формирования электронно-цифровой подписи. Архитектура стандарта Gigabit Ethernet.

    дипломная работа [3,6 M], добавлен 13.09.2017

  • Общая схема цифровой подписи. Особенности криптографической системы с открытым ключом, этапы шифровки. Основные функции электронной цифровой подписи, ее преимущества и недостатки. Управление ключами от ЭЦП. Использование ЭЦП в России и других странах.

    курсовая работа [288,2 K], добавлен 27.02.2011

  • Симметрическое шифрование как способ шифрования, в котором применяется один и тот же криптографический ключ. Функции стандартного диалогового окна открытия и сохранения файла. Характерная схема действий при генерации подписи. Цифровая подпись файла.

    курсовая работа [641,5 K], добавлен 14.06.2011

  • История алгоритмов симметричного шифрования (шифрования с закрытым ключом). Стандарты на криптографические алгоритмы. Датчики случайных чисел, создание ключей. Сфера интересов криптоанализа. Системы электронной подписи. Обратное преобразование информации.

    краткое изложение [26,3 K], добавлен 12.06.2013

  • Основы криптографических систем. Алгоритм создания открытого и секретного ключей. Схема передачи шифрованной информации и алгоритм для цифровой подписи. Преимущества и недостатки системы RSA. Основные формулы для создания RSA-ключей шифрования.

    курсовая работа [683,6 K], добавлен 18.12.2011

  • Безопасность электронной коммерции. Шифрование сообщений с открытым и закрытым ключом. Цифровая подпись и сертификат ключа. Стандарты безопасности. Роль закона "Об электронной цифровой подписи" во всех сферах деятельности. Электронный сертификат.

    презентация [141,0 K], добавлен 16.09.2013

  • Изучение основных методов и алгоритмов криптографии с открытым ключом и их практического использования. Анализ и практическое применение алгоритмов криптографии с открытым ключом: шифрование данных, конфиденциальность, генерация и управление ключами.

    дипломная работа [1,2 M], добавлен 20.06.2011

  • Анализ характеристик средств криптографической защиты информации для создания электронной цифровой подписи. Этапы генерации ключевого контейнера и запроса при помощи Удостоверяющего центра с целью получения сертификата проверки подлинности клиента.

    реферат [604,6 K], добавлен 14.02.2016

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