Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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

Электронная подпись RSA

Система электронной подписи RSA получается при "смене мест" ключей e и d, т.е. шифрование сообщения для получения подписи производится с помощью ключа KR = {d,n}.
Цифровой подписью сообщения является число s: S = M d mоd (n), которое передается вместе с сообщением.

Проверка подлинности подписанного сообщения [M,S]: M =Se mod (n)

Равенство чисел принятого сообщения и расшифрованной подписи доказывает, что сообщение M было подписано обладателем секретного ключа d, соответствующего ключу проверки подписи e, т.е. авторизует сообщение.

Протокол работы пары абонентов сети общей связи с алгоритмом RSA выглядит так.

1. Абоненты A (отправитель) и B (получатель) генерируют независимо друг от друга пары простых чисел: pa, qa и pb, qb

2. Вычисляют произведение больших простых чисел: Na = pa * qa и Nb = pb * qb

3. Вычисляют ключи: Ea и Da и Eb и Db

4. Числа Na, Nb и Ea, Eb помещаются в общедоступный справочник и получают статус открытых ключей; числа Da, Db сохраняются в качестве закрытых ключей;

5. Обмен зашифрованными сообщениями:

А посылает В C a = Ma Eb mоd(Nb),зашифрованное открытым ключом пользователя B.

В посылает А Cb = Mв Ea mоd(Na),зашифрованное открытым ключом пользователя A.

6. Расшифрование:пользователь А → Mв = Cb Da mоd(Na)

пользователь В → Ma = Ca Db mоd(Nb)

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

1. Абоненты подписывают и шифруют сообщения:

А → Sa = Ma Da mоd(Na)C a = Ma Eb mоd(Nb);

В → Sb = Mb Db mоd(Nb)Cb = Mb Ea mоd(Na).

2. ПередаютА → В: Sa,C a В → А: Sb,Cb.

3.РасшифровываютА: Mb = Сb Da mоd(Na), В: Ma = Сa Db mоd(Nb)

4. Проверяют подлинность подписи

В: Ma = Sa Ea mоd(Na), А: Mb = Sb Eb mоd(Nb)

В случае равенства значений принятых и расшифрованных Ma и Mb сообщения считаются переданными без искажения, а пользователи А и В аутентифицированы.

Алгоритм Эль-Гамаля может использоваться для формирования электронной подписи или для шифрования данных. Он базируется на трудности вычисления дискретного логарифма. Для генерации пары ключей сначала берется простое число p и два случайных числа g и x, каждое из которых меньше p. Затем вычисляется:

y = gx mod p

Открытым ключом являются y, g, и p. при этом числа g и p можно сделать общими для группы пользователей. Секретным ключом является x.

Схема шифрования

Модификация алгоритма позволяет шифровать сообщения. Для шифрования сообщения M, выбираем случайное секретное число k, взаимно простое с p – 1 (т.е. НОД этих чисел равен 1). После этого вычисляем:

a = gk mod p

b = yk M mod p

Пара чисел a и b является шифротекстом. Причем, длина шифротекста вдвое длинней открытого текста.

Для расшифрования a и b, вычисляем:

M = b/ax mod p

Учитывая тот факт, что:

ax ≡ gkx (mod p)

и

b/ax ≡ yk M/ax ≡ gxk M/gxk ≡ M (mod p),

то вышеприведенные формулы верны.

Схема подписи.

Для подписания сообщения M, вначале выберем случайное число k, такое, что k взаимно простое с p – 1. После чего вычисляем:

a = gk mod p

и, используя расширенный алгоритм Евклида, решаем уравнение относительно числа b:

M = (xa + kb) mod (p – 1)

Подписью является пара чисел: a и b. Случайное число k должно держаться в строгом секрете и являться уникальным для каждого подписываемого сообщения М.

Для проверки правильности подписи, проверяется следующее равенство:

ya ab mod p = gM mod p

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


<== предыдущая лекция | следующая лекция ==>
Алгоритм RSA | Требования к хэш-функциям
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 342; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.016 сек.