SlideShare a Scribd company logo
1 of 17
ЛЕКЦИЯ
АСИММЕТРИЧНЫЕ АЛГОРИТМЫАСИММЕТРИЧНЫЕ АЛГОРИТМЫ
ШИФРОВАНИЯШИФРОВАНИЯ
УЧЕБНЫЕ ВОПРОСЫ
1
ЛИТЕРАТУРА
2
1. А.А. ВАРФОЛОМЕЕВ ОСНОВЫ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ
Учебное пособие. Российский университет дружбы народов. – М.: 2008 С.
3
1. ОБОБЩЕННАЯ СХЕМА АСИММЕТРИЧНЫХ АЛГОРИТМОВ ШИФРОВАНИЯ
Криптографическая система с открытым ключом – система шифрования
и/или электронной цифровой подписи (ЭЦП), при которой для проверки ЭЦП и для
шифрования сообщения используется открытый ключ, передаваемый по
незащищенному каналу, а для генерации ЭЦП и для расшифровки сообщения
используется секретный ключ. Открытый и закрытый ключи различны и не могут
быть получены один из другого.
Криптографические системы с открытым ключом широко применяются в
различных сетевых протоколах:
• TLS и его предшественнике SSL (лежащих в основе HTTPS),
• SSH, PGP, S/MIME.
3
1. ОБОБЩЕННАЯ СХЕМА АСИММЕТРИЧНЫХ АЛГОРИТМОВ ШИФРОВАНИЯ
Односторонние функции
- такие f(x), что по известному x просто найти значение f(x), тогда как вычислить x
из f(x) очень сложно. Т.е. ею можно зашифровать сообщение, но расшифровать
нельзя!
Криптография с открытым ключом использует односторонние функции с
«лазейкой». Лазейка (y) — это некий секрет, который помогает расшифровать. То
есть существует такой y, что зная f(x) и y, можно вычислить x.
Пример использования односторонних функций с «лазейкой»
1.Для шифрования текста можно взять телефонный справочник (по нему очень легко найти номер
любого жителя города, но очень сложно по известному номеру найти абонента).
2.Для каждой буквы из шифруемого сообщения выбирается имя, начинающееся на ту же букву.
3.Таким образом букве ставится в соответствие номер телефона абонента.
Сообщение Выбранное имя Криптотекст
П Попов 5643452
О Орехов 3572651
Б Богданова 4673956
Е Ефимов 3517289
Д Дмитриев 7755628
А Арсеньева 8492746
Чтобы расшифровать текст, надо иметь
справочник, составленный согласно
возрастанию номеров.
Этот справочник является лазейкой
(секретом, который помогает получить
начальный текст), известной только легальным
пользователям.
3
1. ОБОБЩЕННАЯ СХЕМА АСИММЕТРИЧНЫХ АЛГОРИТМОВ ШИФРОВАНИЯ
Односторонние функции
Пример односторонней функции – целочисленное умножение.
Прямая задача – вычисление произведения двух очень больших чисел P и Q
(N=P*Q) – относительно несложная задача,
Обратная задача – разложение на множители целого числа N является
практически неразрешимой при достаточно больших N.
Два типа задач теории чисел, используемых в ассиметр. шифровании:
1.Факторизация целого числа:
f = x·y, найти x и y, зная f.
На настоящий момент неизвестны алгоритмы факторизации чисел, хотя и не
доказано, что таких алгоритмов не существует.
2. Задача дискретного логарифмирования
Для заданных g и a решение x уравнения gx
= a называется дискретным
логарифмом элемента a по основанию g.
Задача дискретного логарифмирования состоит в нахождении некоторого
целого неотрицательного числа x, удовлетворяющего уравнению
gx
=a.
3
1. ОБОБЩЕННАЯ СХЕМА АСИММЕТРИЧНЫХ АЛГОРИТМОВ ШИФРОВАНИЯ
Схема обмена информацией при шифровании данных
1.Получатель A вычисляет открытый в и секретный d ключи, секретный ключ
хранит в тайне, открытый же делает доступным (сообщает отправителю, группе
пользователей сети, публикует);
2.Отправитель B, используя открытый ключ получателя в, зашифровывает
сообщение m c помощью ключа в, и пересылается зашифрованное сообщение С
получателю A;
3.Получатель A получает сообщение С и расшифровывает его, используя свой
секретный ключ d.
3
1. АЛГОРИТМ ДИФФИ — ХЕЛЛМАНА
ОПИСАНИЕ АЛГОРИТМА
Предположим, существует два абонента: А и Б. Обоим абонентам известны
некоторые два числа g и p, которые не являются секретными. Для того, чтобы
создать неизвестный более никому секретный ключ, оба абонента генерируют
большие случайные числа: А — число a, Б — число b. Затем А вычисляет
значение A
A = ga
mod p (1)
и пересылает его Б, а Б вычисляет:
B = gb
mod p (1)
и передаёт А. Предполагается, что злоумышленник может получить оба этих
значения, но не модифицировать их (то есть у него нет возможности вмешаться в
процесс передачи).
На втором этапе А на основе имеющегося у нее a и полученного по сети B
вычисляет значение:
Ba
mod p = gab
mod p. (3)
Б на основе имеющегося у него b и полученного по сети A вычисляет значение
Ab
mod p = gab
mod p. (4)
Его они и могут использовать в качестве секретного ключа, поскольку здесь
злоумышленник встретится с практически неразрешимой (за разумное время)
проблемой вычисления (3) или (4) по перехваченным ga
mod p и gb
mod p, если числа
p, a, b выбраны достаточно большими.
3
1. КРИПТОСИСТЕМА RSA
Криптоалгоритм RSA разработан в 1978 году тремя
авторами – Р.Ривестом, А.Шамиром и А.Адлеманом.
•В RSA каждый ключ состоит из пары целых чисел.
•Каждый участник создает свои открытый и закрытый
ключи самостоятельно.
•Закрытый ключ каждый из них держит в секрете, а
открытые ключи можно сообщать кому угодно или даже
публиковать их.
•Открытый и закрытый ключи каждого участника обмена
сообщениями образуют «согласованную пару» в том
смысле, что они являются взаимно обратными.
Создание открытого и секретного ключей при
использовании алгоритма RSA
1. выбор простых чисел p и q;
2. вычисление n=p·q;
3. вычисление числа m=(p-1)(q-1);
4. выбор открытой экспоненты e , такой, что 1<e<m и
является взаимно простым числом (не имеет общих
делителей, кроме 1, с m;
5. выбор секретной экспоненты d такой, что
d·e=1 +к· m;
3
1. КРИПТОСИСТЕМА RSA
ПРИМЕР Зашифровать и расшифровать сообщение "САВ" по алгоритму RSA.
РЕШЕНИЕ
Для простоты возьмем небольшие числа - это сократит наши расчеты.
1. Выберем p=3 and q=11.
2. Определим n= 3*11=33.
3. Hайдем (p-1)*(q-1)=20. Следовательно, d будет равно, например, 3: (d=3).
4. Выберем число е по следующей формуле: (e*3) mod 20=1. Значит е будет равно,
например, 7: (e=7).
5. Представим шифруемое сообщение как последовательность чисел в диапазоне
от 0 до 32 (не забывайте, что кончается на n-1). Буква А =1, В=2, С=3.
Теперь зашифруем сообщение, используя открытый ключ {7,33}
C1 = (3^7) mod 33 = 2187 mod 33 = 9; C2 = (1^7) mod 33 = 1 mod 33 = 1;
C3 = (2^7) mod 33 = 128 mod 33 = 29;
Теперь расшифруем данные, используя закрытый ключ {3,33}.
M1=(9^3) mod 33 =729 mod 33 = 3(С); M2=(1^3) mod 33 =1 mod 33 = 1(А);
M3=(29^3) mod 33 = 24389 mod 33 = 2(В);
2. СХЕМА ЭЛЬ-ГАМАЛЯ
Схема Эль-Гамаля (Elgamal)  — криптосистема с  открытым  ключом, 
основанная  на  трудности  вычисления дискретных логарифмов в конечном поле. 
Криптосистема  включает  в  себя  алгоритм  шифрования  и  алгоритм  цифровой 
подписи.  Схема  Эль-Гамаля  лежит  в  основе  бывших  стандартов 
электронной цифровой подписи в США(DSA) и России (ГОСТ Р 34.10-94).
Схема  была  предложена Тахером Эль-Гамалем в 1984 году.[1]
 Эль-Гамаль 
разработал  один  из  вариантов алгоритма Диффи-Хеллмана.  Он 
усовершенствовал  систему  Диффи-Хеллмана  и  получил  два  алгоритма,  которые 
использовались для шифрования и для обеспечения аутентификации. В отличие 
от  RSA  алгоритм  Эль-Гамаля  не  был  запатентован  и,  поэтому,  стал  более 
дешевой  альтернативой,  так  как  не  требовалась  оплата  взносов  за  лицензию. 
Считается, что алгоритм попадает под действие патента Диффи-Хеллмана. 
Генерация ключей
1.Генерируется случайное простое число p длины n битов.
2.Выбирается случайный примитивный элемент g поля Zp
.
3.Выбирается случайное целое число x такое, что 1<x<p-1.
4.Вычисляется y = gx
mod p.
5.Открытым ключом является тройка  (p,g,y), закрытым ключом 
— число x.
2. СХЕМА ЭЛЬ-ГАМАЛЯ
Работа в режиме шифрования
Шифросистема  Эль-Гамаля  является  фактически  одним  из  способов 
выработки  открытых  ключей Диффи  —  Хеллмана.  Шифрование  по  схеме  Эль-
Гамаля не следует путать с алгоритмом цифровой подписи по схеме Эль-Гамаля.
Шифрование
Сообщение   шифруется следующим образом:
Выбирается сессионный ключ — случайное целое число   k такое, что  
1<k<p-1
Вычисляются числа    a = gk
mod p и  b = yk
mod p.
Пара чисел   (a,b) является шифротекстом.
Нетрудно  видеть,  что  длина  шифротекста  в  схеме  Эль-Гамаля  длиннее 
исходного сообщения   вдвое.
Расшифрование
Зная  закрытый  ключ x,  исходное  сообщение  можно  вычислить  из 
шифротекста (a,b) по формуле:                            M = b(ax
)-1
 mod p.
При этом нетрудно проверить, что      (ax
)-1
 ≡ g – kx
 (mod p)
и поэтому     b(ax
)-1
 ≡ (yk
 M)g – kx
 ≡ (g  kx
 M) g – kx
 ≡ M(mod p).
 Для практических вычислений больше подходит следующая формула:
 
M = b(ax
)-1
mod p = ba(p-1-x)
mod p.
2. СХЕМА ЭЛЬ-ГАМАЛЯ
2. СХЕМА ЭЛЬ-ГАМАЛЯ
Пример
Шифрование
Допустим что нужно зашифровать сообщение M = 5.
1.Произведем генерацию ключей: пусть p = 11, g = 2.
Выберем x = 8 - случайное целое число x такое, что 1<x<p-1.
Вычислим y = g^x mod p = 2^8 mod 11 = 3.
Итак, открытым является тройка (p,g,y) = (11,2,3), а закрытым ключом 
является число x = 8.
2.Выбираем случайное целое число k такое, что 1 < k < (p − 1). Пусть k = 9.
3.Вычисляем число A = gk
 mod p = 29
 mod 11 = 512 mod 11 = 6.
4.Вычисляем число  B = yk
M mod p = 39
*5 mod 11 = 19683*5 mod 11 = 9
Полученная пара (a,b) = (6,9) является шифротекстом.
Расшифрование
Необходимо получить сообщение M = 5 по известному шифротексту 
(a,b) = (6,9)  и закрытому ключу x = 8.
Вычисляем M по формуле
M = b(ax
)-1
 mod p = 9*(68
)-1
 mod 11 = 5. 
Получили исходное сообщение M = 5.
2. СХЕМА ЭЛЬ-ГАМАЛЯ
Так  как  в  схему  Эль-Гамаля  вводится  случайная  величина k,то  шифр  Эль-
Гамаля можно назвать шифром многозначной замены. Из-за случайности выбора 
числа k  такую  схему  еще  называют  схемой  вероятностного  шифрования. 
Вероятностный  характер  шифрования  является  преимуществом  для  схемы  Эль-
Гамаля,  так  как  у  схем  вероятностного  шифрования  наблюдается  большая 
стойкость  по  сравнению  со  схемами  с  определенным  процессом  шифрования. 
Недостатком  схемы  шифрования  Эль-Гамаля  является  удвоение  длины 
зашифрованного текста по сравнению с начальным текстом. 
Для  схемы  вероятностного  шифрования  само  сообщение  M и  ключ  не 
определяют  шифротекст  однозначно.  В  схеме  Эль-Гамаля  необходимо 
использовать  различные значения случайной величины k для  шифровки 
различных сообщений M1 и M2. 
Если  использовать  одинаковые k,  то  для  соответствующих  шифротекстов  
(a1,b1) и (a2, b2)  выполняется соотношение 
b1*(b2)-1
 = M1*(M2)-1
.
 Из этого выражения можно легко вычислить M2, если известно M1.
2. СХЕМА ЭЛЬ-ГАМАЛЯ
Главным преимуществом схемы цифровой подписи Эль-Гамаля является
возможность вырабатывать цифровые подписи для большого числа сообщений с
использованием только одного секретного ключа. Чтобы злоумышленнику
подделать подпись, ему нужно решить сложные математические задачи с
нахождением логарифма в поле Zp. Следует сделать несколько комментариев:
Случайное число k должно сразу после вычисления подписи уничтожаться, так
как если злоумышленник знает случайное число k и саму подпись, то он легко
может найти секретный ключ по формуле: x = (m-ks)r-1
mod(p-1) и полностью
подделать подпись.
Число k должно быть случайным и не должно дублироваться для различных
подписей, полученных при одинаковом значении секретного ключа.
Использование свертки m = h(M) объясняется тем, что это защищает подпись
от перебора сообщений по известным злоумышленнику значениям подписи.
Пример: если выбрать случайные числа i,j,удовлетворяющие условиям 0<i<p-
1, 0<j<p-1, НОД(j,p-1)=1 и предположить, что
r = gi
y-1
mod p;
s = r j-1
mod (p-1);
m = r I j-1
mod (p-1),
то легко удостовериться в том, что пара (r,s) является верной цифровой
подписью для сообщения x = M.
2. СХЕМА ЭЛЬ-ГАМАЛЯ
Цифровая подпись Эль-Гамаля стала примером построения других подписей,
схожих по своим свойствам. В их основе лежит выполнение сравнения: yA
rB
= gC
mod p, в котором тройка (A,B,C) принимает значения одной из перестановок ±r, ±s
и ±m при каком-то выборе знаков. Например, исходная схема Эль-Гамаля
получается при A = r, B = s, C = m.На таком принципе построения подписи сделаны
стандарты цифровой подписи США и России. В американском стандарте DSS
(Digital Signature Standard), используется значения A = r, B = - s, C = m, а в
Российском стандарте: A = - x, B = - m, C = s.
Еще одним из преимуществ является возможность уменьшения длины
подписи с помощью замены пары чисел (s,m) на пару чисел (s mod q,m mod q),
где q является каким-то простым делителем числа (p-1). При этом сравнение для
проверки подписи по модулю p нужно заменить на новое сравнение по
модулю q: (yA
rB
) mod p = gC
mod q. Так сделано в американском стандарте DSS
(Digital Signature Standard).

More Related Content

What's hot

Михаил Рыбалкин. Перестановочные многочлены.
Михаил Рыбалкин. Перестановочные многочлены.Михаил Рыбалкин. Перестановочные многочлены.
Михаил Рыбалкин. Перестановочные многочлены.LiloSEA
 
Лекция 3 Сегментация
Лекция 3 СегментацияЛекция 3 Сегментация
Лекция 3 СегментацияVictor Kulikov
 
Nikolay Shilov. CSEDays 2
Nikolay Shilov. CSEDays 2Nikolay Shilov. CSEDays 2
Nikolay Shilov. CSEDays 2LiloSEA
 
криптографический стандарт Rsa
криптографический стандарт Rsaкриптографический стандарт Rsa
криптографический стандарт Rsahmyrhik nikita
 
Лекция 8 Основы 3D обработки
Лекция 8 Основы 3D обработкиЛекция 8 Основы 3D обработки
Лекция 8 Основы 3D обработкиVictor Kulikov
 
криптографические методы как часть общей защиты информации
криптографические методы как часть общей защиты информациикриптографические методы как часть общей защиты информации
криптографические методы как часть общей защиты информацииtrenders
 
Лекция 4 Обработка бинарных изображений
Лекция 4 Обработка бинарных изображенийЛекция 4 Обработка бинарных изображений
Лекция 4 Обработка бинарных изображенийVictor Kulikov
 
гейн 10 11 2013
гейн 10 11 2013гейн 10 11 2013
гейн 10 11 2013DrofaUral
 
дидактическое пособие
дидактическое пособиедидактическое пособие
дидактическое пособиеLZolotko
 
Методы удаления артефактов в видео
Методы удаления артефактов в видеоМетоды удаления артефактов в видео
Методы удаления артефактов в видеоMSU GML VideoGroup
 
Методы построения и анализа алгоритмов
Методы построения и анализа алгоритмовМетоды построения и анализа алгоритмов
Методы построения и анализа алгоритмовNick535
 
основы алгоритмизации
основы алгоритмизацииосновы алгоритмизации
основы алгоритмизацииRania Fazliachmetova
 

What's hot (17)

Михаил Рыбалкин. Перестановочные многочлены.
Михаил Рыбалкин. Перестановочные многочлены.Михаил Рыбалкин. Перестановочные многочлены.
Михаил Рыбалкин. Перестановочные многочлены.
 
лекция 16
лекция 16лекция 16
лекция 16
 
Лекция 3 Сегментация
Лекция 3 СегментацияЛекция 3 Сегментация
Лекция 3 Сегментация
 
лекция 14
лекция 14лекция 14
лекция 14
 
Nikolay Shilov. CSEDays 2
Nikolay Shilov. CSEDays 2Nikolay Shilov. CSEDays 2
Nikolay Shilov. CSEDays 2
 
криптографический стандарт Rsa
криптографический стандарт Rsaкриптографический стандарт Rsa
криптографический стандарт Rsa
 
Лекция 8 Основы 3D обработки
Лекция 8 Основы 3D обработкиЛекция 8 Основы 3D обработки
Лекция 8 Основы 3D обработки
 
криптографические методы как часть общей защиты информации
криптографические методы как часть общей защиты информациикриптографические методы как часть общей защиты информации
криптографические методы как часть общей защиты информации
 
L06 detection
L06 detectionL06 detection
L06 detection
 
Лекция 2
Лекция 2Лекция 2
Лекция 2
 
Лекция 4 Обработка бинарных изображений
Лекция 4 Обработка бинарных изображенийЛекция 4 Обработка бинарных изображений
Лекция 4 Обработка бинарных изображений
 
гейн 10 11 2013
гейн 10 11 2013гейн 10 11 2013
гейн 10 11 2013
 
дидактическое пособие
дидактическое пособиедидактическое пособие
дидактическое пособие
 
Методы удаления артефактов в видео
Методы удаления артефактов в видеоМетоды удаления артефактов в видео
Методы удаления артефактов в видео
 
Методы построения и анализа алгоритмов
Методы построения и анализа алгоритмовМетоды построения и анализа алгоритмов
Методы построения и анализа алгоритмов
 
555
555555
555
 
основы алгоритмизации
основы алгоритмизацииосновы алгоритмизации
основы алгоритмизации
 

Similar to асимметричные алгоритмы шифрования

виды крипторафических алгоритмов
виды крипторафических алгоритмоввиды крипторафических алгоритмов
виды крипторафических алгоритмовAFedyaev
 
Криптография
КриптографияКриптография
КриптографияArtem Lukanin
 
генераторы псевдослучайных последовательностей и шифрование методом гаммирования
генераторы псевдослучайных последовательностей и шифрование методом гаммированиягенераторы псевдослучайных последовательностей и шифрование методом гаммирования
генераторы псевдослучайных последовательностей и шифрование методом гаммированияhmyrhik nikita
 
CSEDays. Александр Семенов
CSEDays. Александр СеменовCSEDays. Александр Семенов
CSEDays. Александр СеменовLiloSEA
 
Лекция 13 Теоретико-числовые алгоритмы Часть 2
Лекция 13 Теоретико-числовые алгоритмы Часть 2Лекция 13 Теоретико-числовые алгоритмы Часть 2
Лекция 13 Теоретико-числовые алгоритмы Часть 2simple_people
 
Владимир Иванов - Криптография и шифрование
Владимир Иванов - Криптография и шифрованиеВладимир Иванов - Криптография и шифрование
Владимир Иванов - Криптография и шифрованиеYandex
 
Обеспечение информационной безопасности. Основные понятия
Обеспечение информационной безопасности. Основные понятияОбеспечение информационной безопасности. Основные понятия
Обеспечение информационной безопасности. Основные понятияNataliya Sobaka
 

Similar to асимметричные алгоритмы шифрования (11)

виды крипторафических алгоритмов
виды крипторафических алгоритмоввиды крипторафических алгоритмов
виды крипторафических алгоритмов
 
Криптография
КриптографияКриптография
Криптография
 
лекция 14
лекция 14лекция 14
лекция 14
 
лекция 3.docx
лекция 3.docxлекция 3.docx
лекция 3.docx
 
генераторы псевдослучайных последовательностей и шифрование методом гаммирования
генераторы псевдослучайных последовательностей и шифрование методом гаммированиягенераторы псевдослучайных последовательностей и шифрование методом гаммирования
генераторы псевдослучайных последовательностей и шифрование методом гаммирования
 
CSEDays. Александр Семенов
CSEDays. Александр СеменовCSEDays. Александр Семенов
CSEDays. Александр Семенов
 
4 algoritm
4 algoritm4 algoritm
4 algoritm
 
Алгоритм
АлгоритмАлгоритм
Алгоритм
 
Лекция 13 Теоретико-числовые алгоритмы Часть 2
Лекция 13 Теоретико-числовые алгоритмы Часть 2Лекция 13 Теоретико-числовые алгоритмы Часть 2
Лекция 13 Теоретико-числовые алгоритмы Часть 2
 
Владимир Иванов - Криптография и шифрование
Владимир Иванов - Криптография и шифрованиеВладимир Иванов - Криптография и шифрование
Владимир Иванов - Криптография и шифрование
 
Обеспечение информационной безопасности. Основные понятия
Обеспечение информационной безопасности. Основные понятияОбеспечение информационной безопасности. Основные понятия
Обеспечение информационной безопасности. Основные понятия
 

More from hmyrhik nikita

обеспечение безопасности программного продукта на различных стадиях жизненног...
обеспечение безопасности программного продукта на различных стадиях жизненног...обеспечение безопасности программного продукта на различных стадиях жизненног...
обеспечение безопасности программного продукта на различных стадиях жизненног...hmyrhik nikita
 
система эль гамаля
система эль гамалясистема эль гамаля
система эль гамаляhmyrhik nikita
 
обеспечение безопасности программного продукта на различных стадиях жизненног...
обеспечение безопасности программного продукта на различных стадиях жизненног...обеспечение безопасности программного продукта на различных стадиях жизненног...
обеспечение безопасности программного продукта на различных стадиях жизненног...hmyrhik nikita
 
криптография. способы защиты информации.
криптография. способы защиты  информации.криптография. способы защиты  информации.
криптография. способы защиты информации.hmyrhik nikita
 
криптовалюта
криптовалютакриптовалюта
криптовалютаhmyrhik nikita
 
асимметричные алгоритмы шифрования
асимметричные алгоритмы шифрованияасимметричные алгоритмы шифрования
асимметричные алгоритмы шифрованияhmyrhik nikita
 

More from hmyrhik nikita (9)

обеспечение безопасности программного продукта на различных стадиях жизненног...
обеспечение безопасности программного продукта на различных стадиях жизненног...обеспечение безопасности программного продукта на различных стадиях жизненног...
обеспечение безопасности программного продукта на различных стадиях жизненног...
 
система эль гамаля
система эль гамалясистема эль гамаля
система эль гамаля
 
обеспечение безопасности программного продукта на различных стадиях жизненног...
обеспечение безопасности программного продукта на различных стадиях жизненног...обеспечение безопасности программного продукта на различных стадиях жизненног...
обеспечение безопасности программного продукта на различных стадиях жизненног...
 
криптография. способы защиты информации.
криптография. способы защиты  информации.криптография. способы защиты  информации.
криптография. способы защиты информации.
 
криптовалюта
криптовалютакриптовалюта
криптовалюта
 
Prez3
Prez3Prez3
Prez3
 
Prez2
Prez2Prez2
Prez2
 
Prez1
Prez1Prez1
Prez1
 
асимметричные алгоритмы шифрования
асимметричные алгоритмы шифрованияасимметричные алгоритмы шифрования
асимметричные алгоритмы шифрования
 

асимметричные алгоритмы шифрования

  • 3. ЛИТЕРАТУРА 2 1. А.А. ВАРФОЛОМЕЕВ ОСНОВЫ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ Учебное пособие. Российский университет дружбы народов. – М.: 2008 С.
  • 4. 3 1. ОБОБЩЕННАЯ СХЕМА АСИММЕТРИЧНЫХ АЛГОРИТМОВ ШИФРОВАНИЯ Криптографическая система с открытым ключом – система шифрования и/или электронной цифровой подписи (ЭЦП), при которой для проверки ЭЦП и для шифрования сообщения используется открытый ключ, передаваемый по незащищенному каналу, а для генерации ЭЦП и для расшифровки сообщения используется секретный ключ. Открытый и закрытый ключи различны и не могут быть получены один из другого. Криптографические системы с открытым ключом широко применяются в различных сетевых протоколах: • TLS и его предшественнике SSL (лежащих в основе HTTPS), • SSH, PGP, S/MIME.
  • 5. 3 1. ОБОБЩЕННАЯ СХЕМА АСИММЕТРИЧНЫХ АЛГОРИТМОВ ШИФРОВАНИЯ Односторонние функции - такие f(x), что по известному x просто найти значение f(x), тогда как вычислить x из f(x) очень сложно. Т.е. ею можно зашифровать сообщение, но расшифровать нельзя! Криптография с открытым ключом использует односторонние функции с «лазейкой». Лазейка (y) — это некий секрет, который помогает расшифровать. То есть существует такой y, что зная f(x) и y, можно вычислить x. Пример использования односторонних функций с «лазейкой» 1.Для шифрования текста можно взять телефонный справочник (по нему очень легко найти номер любого жителя города, но очень сложно по известному номеру найти абонента). 2.Для каждой буквы из шифруемого сообщения выбирается имя, начинающееся на ту же букву. 3.Таким образом букве ставится в соответствие номер телефона абонента. Сообщение Выбранное имя Криптотекст П Попов 5643452 О Орехов 3572651 Б Богданова 4673956 Е Ефимов 3517289 Д Дмитриев 7755628 А Арсеньева 8492746 Чтобы расшифровать текст, надо иметь справочник, составленный согласно возрастанию номеров. Этот справочник является лазейкой (секретом, который помогает получить начальный текст), известной только легальным пользователям.
  • 6. 3 1. ОБОБЩЕННАЯ СХЕМА АСИММЕТРИЧНЫХ АЛГОРИТМОВ ШИФРОВАНИЯ Односторонние функции Пример односторонней функции – целочисленное умножение. Прямая задача – вычисление произведения двух очень больших чисел P и Q (N=P*Q) – относительно несложная задача, Обратная задача – разложение на множители целого числа N является практически неразрешимой при достаточно больших N. Два типа задач теории чисел, используемых в ассиметр. шифровании: 1.Факторизация целого числа: f = x·y, найти x и y, зная f. На настоящий момент неизвестны алгоритмы факторизации чисел, хотя и не доказано, что таких алгоритмов не существует. 2. Задача дискретного логарифмирования Для заданных g и a решение x уравнения gx = a называется дискретным логарифмом элемента a по основанию g. Задача дискретного логарифмирования состоит в нахождении некоторого целого неотрицательного числа x, удовлетворяющего уравнению gx =a.
  • 7. 3 1. ОБОБЩЕННАЯ СХЕМА АСИММЕТРИЧНЫХ АЛГОРИТМОВ ШИФРОВАНИЯ Схема обмена информацией при шифровании данных 1.Получатель A вычисляет открытый в и секретный d ключи, секретный ключ хранит в тайне, открытый же делает доступным (сообщает отправителю, группе пользователей сети, публикует); 2.Отправитель B, используя открытый ключ получателя в, зашифровывает сообщение m c помощью ключа в, и пересылается зашифрованное сообщение С получателю A; 3.Получатель A получает сообщение С и расшифровывает его, используя свой секретный ключ d.
  • 8. 3 1. АЛГОРИТМ ДИФФИ — ХЕЛЛМАНА ОПИСАНИЕ АЛГОРИТМА Предположим, существует два абонента: А и Б. Обоим абонентам известны некоторые два числа g и p, которые не являются секретными. Для того, чтобы создать неизвестный более никому секретный ключ, оба абонента генерируют большие случайные числа: А — число a, Б — число b. Затем А вычисляет значение A A = ga mod p (1) и пересылает его Б, а Б вычисляет: B = gb mod p (1) и передаёт А. Предполагается, что злоумышленник может получить оба этих значения, но не модифицировать их (то есть у него нет возможности вмешаться в процесс передачи). На втором этапе А на основе имеющегося у нее a и полученного по сети B вычисляет значение: Ba mod p = gab mod p. (3) Б на основе имеющегося у него b и полученного по сети A вычисляет значение Ab mod p = gab mod p. (4) Его они и могут использовать в качестве секретного ключа, поскольку здесь злоумышленник встретится с практически неразрешимой (за разумное время) проблемой вычисления (3) или (4) по перехваченным ga mod p и gb mod p, если числа p, a, b выбраны достаточно большими.
  • 9. 3 1. КРИПТОСИСТЕМА RSA Криптоалгоритм RSA разработан в 1978 году тремя авторами – Р.Ривестом, А.Шамиром и А.Адлеманом. •В RSA каждый ключ состоит из пары целых чисел. •Каждый участник создает свои открытый и закрытый ключи самостоятельно. •Закрытый ключ каждый из них держит в секрете, а открытые ключи можно сообщать кому угодно или даже публиковать их. •Открытый и закрытый ключи каждого участника обмена сообщениями образуют «согласованную пару» в том смысле, что они являются взаимно обратными. Создание открытого и секретного ключей при использовании алгоритма RSA 1. выбор простых чисел p и q; 2. вычисление n=p·q; 3. вычисление числа m=(p-1)(q-1); 4. выбор открытой экспоненты e , такой, что 1<e<m и является взаимно простым числом (не имеет общих делителей, кроме 1, с m; 5. выбор секретной экспоненты d такой, что d·e=1 +к· m;
  • 10. 3 1. КРИПТОСИСТЕМА RSA ПРИМЕР Зашифровать и расшифровать сообщение "САВ" по алгоритму RSA. РЕШЕНИЕ Для простоты возьмем небольшие числа - это сократит наши расчеты. 1. Выберем p=3 and q=11. 2. Определим n= 3*11=33. 3. Hайдем (p-1)*(q-1)=20. Следовательно, d будет равно, например, 3: (d=3). 4. Выберем число е по следующей формуле: (e*3) mod 20=1. Значит е будет равно, например, 7: (e=7). 5. Представим шифруемое сообщение как последовательность чисел в диапазоне от 0 до 32 (не забывайте, что кончается на n-1). Буква А =1, В=2, С=3. Теперь зашифруем сообщение, используя открытый ключ {7,33} C1 = (3^7) mod 33 = 2187 mod 33 = 9; C2 = (1^7) mod 33 = 1 mod 33 = 1; C3 = (2^7) mod 33 = 128 mod 33 = 29; Теперь расшифруем данные, используя закрытый ключ {3,33}. M1=(9^3) mod 33 =729 mod 33 = 3(С); M2=(1^3) mod 33 =1 mod 33 = 1(А); M3=(29^3) mod 33 = 24389 mod 33 = 2(В);
  • 11. 2. СХЕМА ЭЛЬ-ГАМАЛЯ Схема Эль-Гамаля (Elgamal)  — криптосистема с  открытым  ключом,  основанная  на  трудности  вычисления дискретных логарифмов в конечном поле.  Криптосистема  включает  в  себя  алгоритм  шифрования  и  алгоритм  цифровой  подписи.  Схема  Эль-Гамаля  лежит  в  основе  бывших  стандартов  электронной цифровой подписи в США(DSA) и России (ГОСТ Р 34.10-94). Схема  была  предложена Тахером Эль-Гамалем в 1984 году.[1]  Эль-Гамаль  разработал  один  из  вариантов алгоритма Диффи-Хеллмана.  Он  усовершенствовал  систему  Диффи-Хеллмана  и  получил  два  алгоритма,  которые  использовались для шифрования и для обеспечения аутентификации. В отличие  от  RSA  алгоритм  Эль-Гамаля  не  был  запатентован  и,  поэтому,  стал  более  дешевой  альтернативой,  так  как  не  требовалась  оплата  взносов  за  лицензию.  Считается, что алгоритм попадает под действие патента Диффи-Хеллмана.  Генерация ключей 1.Генерируется случайное простое число p длины n битов. 2.Выбирается случайный примитивный элемент g поля Zp . 3.Выбирается случайное целое число x такое, что 1<x<p-1. 4.Вычисляется y = gx mod p. 5.Открытым ключом является тройка  (p,g,y), закрытым ключом  — число x.
  • 12. 2. СХЕМА ЭЛЬ-ГАМАЛЯ Работа в режиме шифрования Шифросистема  Эль-Гамаля  является  фактически  одним  из  способов  выработки  открытых  ключей Диффи  —  Хеллмана.  Шифрование  по  схеме  Эль- Гамаля не следует путать с алгоритмом цифровой подписи по схеме Эль-Гамаля. Шифрование Сообщение   шифруется следующим образом: Выбирается сессионный ключ — случайное целое число   k такое, что   1<k<p-1 Вычисляются числа    a = gk mod p и  b = yk mod p. Пара чисел   (a,b) является шифротекстом. Нетрудно  видеть,  что  длина  шифротекста  в  схеме  Эль-Гамаля  длиннее  исходного сообщения   вдвое. Расшифрование Зная  закрытый  ключ x,  исходное  сообщение  можно  вычислить  из  шифротекста (a,b) по формуле:                            M = b(ax )-1  mod p. При этом нетрудно проверить, что      (ax )-1  ≡ g – kx  (mod p) и поэтому     b(ax )-1  ≡ (yk  M)g – kx  ≡ (g  kx  M) g – kx  ≡ M(mod p).  Для практических вычислений больше подходит следующая формула:   M = b(ax )-1 mod p = ba(p-1-x) mod p.
  • 14. 2. СХЕМА ЭЛЬ-ГАМАЛЯ Пример Шифрование Допустим что нужно зашифровать сообщение M = 5. 1.Произведем генерацию ключей: пусть p = 11, g = 2. Выберем x = 8 - случайное целое число x такое, что 1<x<p-1. Вычислим y = g^x mod p = 2^8 mod 11 = 3. Итак, открытым является тройка (p,g,y) = (11,2,3), а закрытым ключом  является число x = 8. 2.Выбираем случайное целое число k такое, что 1 < k < (p − 1). Пусть k = 9. 3.Вычисляем число A = gk  mod p = 29  mod 11 = 512 mod 11 = 6. 4.Вычисляем число  B = yk M mod p = 39 *5 mod 11 = 19683*5 mod 11 = 9 Полученная пара (a,b) = (6,9) является шифротекстом. Расшифрование Необходимо получить сообщение M = 5 по известному шифротексту  (a,b) = (6,9)  и закрытому ключу x = 8. Вычисляем M по формуле M = b(ax )-1  mod p = 9*(68 )-1  mod 11 = 5.  Получили исходное сообщение M = 5.
  • 15. 2. СХЕМА ЭЛЬ-ГАМАЛЯ Так  как  в  схему  Эль-Гамаля  вводится  случайная  величина k,то  шифр  Эль- Гамаля можно назвать шифром многозначной замены. Из-за случайности выбора  числа k  такую  схему  еще  называют  схемой  вероятностного  шифрования.  Вероятностный  характер  шифрования  является  преимуществом  для  схемы  Эль- Гамаля,  так  как  у  схем  вероятностного  шифрования  наблюдается  большая  стойкость  по  сравнению  со  схемами  с  определенным  процессом  шифрования.  Недостатком  схемы  шифрования  Эль-Гамаля  является  удвоение  длины  зашифрованного текста по сравнению с начальным текстом.  Для  схемы  вероятностного  шифрования  само  сообщение  M и  ключ  не  определяют  шифротекст  однозначно.  В  схеме  Эль-Гамаля  необходимо  использовать  различные значения случайной величины k для  шифровки  различных сообщений M1 и M2.  Если  использовать  одинаковые k,  то  для  соответствующих  шифротекстов   (a1,b1) и (a2, b2)  выполняется соотношение  b1*(b2)-1  = M1*(M2)-1 .  Из этого выражения можно легко вычислить M2, если известно M1.
  • 16. 2. СХЕМА ЭЛЬ-ГАМАЛЯ Главным преимуществом схемы цифровой подписи Эль-Гамаля является возможность вырабатывать цифровые подписи для большого числа сообщений с использованием только одного секретного ключа. Чтобы злоумышленнику подделать подпись, ему нужно решить сложные математические задачи с нахождением логарифма в поле Zp. Следует сделать несколько комментариев: Случайное число k должно сразу после вычисления подписи уничтожаться, так как если злоумышленник знает случайное число k и саму подпись, то он легко может найти секретный ключ по формуле: x = (m-ks)r-1 mod(p-1) и полностью подделать подпись. Число k должно быть случайным и не должно дублироваться для различных подписей, полученных при одинаковом значении секретного ключа. Использование свертки m = h(M) объясняется тем, что это защищает подпись от перебора сообщений по известным злоумышленнику значениям подписи. Пример: если выбрать случайные числа i,j,удовлетворяющие условиям 0<i<p- 1, 0<j<p-1, НОД(j,p-1)=1 и предположить, что r = gi y-1 mod p; s = r j-1 mod (p-1); m = r I j-1 mod (p-1), то легко удостовериться в том, что пара (r,s) является верной цифровой подписью для сообщения x = M.
  • 17. 2. СХЕМА ЭЛЬ-ГАМАЛЯ Цифровая подпись Эль-Гамаля стала примером построения других подписей, схожих по своим свойствам. В их основе лежит выполнение сравнения: yA rB = gC mod p, в котором тройка (A,B,C) принимает значения одной из перестановок ±r, ±s и ±m при каком-то выборе знаков. Например, исходная схема Эль-Гамаля получается при A = r, B = s, C = m.На таком принципе построения подписи сделаны стандарты цифровой подписи США и России. В американском стандарте DSS (Digital Signature Standard), используется значения A = r, B = - s, C = m, а в Российском стандарте: A = - x, B = - m, C = s. Еще одним из преимуществ является возможность уменьшения длины подписи с помощью замены пары чисел (s,m) на пару чисел (s mod q,m mod q), где q является каким-то простым делителем числа (p-1). При этом сравнение для проверки подписи по модулю p нужно заменить на новое сравнение по модулю q: (yA rB ) mod p = gC mod q. Так сделано в американском стандарте DSS (Digital Signature Standard).