- •ЛЕКЦИЯ 13. АСИММЕТРИЧНАЯ
- •Содержание лекции
- •Протокол Диффи-Хеллмана
- •Протокол Диффи-Хеллмана
- •Протокол Диффи-Хеллмана
- •Криптосистема Эль-
- •Гамаля
- •Гамаля
- •Криптосистема на основе
- •Криптосистема на основе
- •криптосистеме на основе
- •криптосистеме на основе
- •Криптосистема на основе
- •Угрозы безопасности
- •Электронная цифровая
- •Алгоритм получения ЭЦП под
- •Алгоритм проверки ЭЦП S
- •Механизм ЭЦП
- •Системы ЭЦП
- •нарушителем ложного
- •открытого ключа (стандарт
- •Элементы инфраструктуры
- •ЭЦП и функции
- •Хеширование
- •Требования к функциям
- •Применение хеширования
- •ЭЦП и функции
- •Способы построения
- •Функции хеширования
- •Протокол Secure Socket Layer
- •Стандартная реализация
- •Составные части протокола
- •Протокол записи SSL
- •Аутентификация и передача
- •Протокол квитирования SSL
- •Аутентификация и передача
- •Завершение квитирования
ЛЕКЦИЯ 13. АСИММЕТРИЧНАЯ
КРИПТОГРАФИЯ И ЕЕ ПРИМЕНЕНИЕ
Содержание лекции
1.Криптографические системы Диффи-Хеллмана, Эль-Гамаля и эллиптических кривых.
2.Электронная цифровая подпись и ее применение. Функции хеширования.
3.Протокол SSL.
Протокол Диффи-Хеллмана
Предназначен для генерации сеансового ключа симметричного шифрования, который затем будет использован субъектами A и B для защищенного обмена сообщениями по открытой сети:
1.A: выбирает xa и вычисляет ya=axa {mod p} (p – простое число или степень простого числа, 1<a<p-1).
2.B: выбирает xb и вычисляет yb=axb {mod p}.
3.A->B: ya.
4.B->A: yb.
Протокол Диффи-Хеллмана
5.A: вычисляет ka=(yb)xa {mod p}.
6.B: вычисляет kb=(ya)xb {mod p}.
7.Конец (ka=(yb)xa {mod p}=(axb)xa {mod p}=axb∙xa {mod p}=axa∙xb {mod p}=kb и созданный ключ может теперь использоваться для защищенного обмена сообщениями между A и B).
•Открытый ключ: a, p, ya (yb).
•Закрытый ключ: xa (xb).
Протокол Диффи-Хеллмана
•Основан на вычислительной сложности задачи дискретного логарифмирования: вычисление y=ax {mod p} (p – простое число или степень простого числа, 1<x<p-1, 1<a<p-1) выполняется просто, но вычисление x=logay {mod p} выполняется весьма сложно.
•Значения a и p в системе Диффи-Хеллмана не являются секретными, поскольку, даже зная их, нарушитель не сможет решить задачу дискретного логарифмирования и найти значения xa и xb, чтобы вычислить сгенерированный ключ симметричного шифрования (однако необходимо получение A и B этих параметров из надежного источника).
Криптосистема Эль-
Гамаля
• Является модификацией криптосистемы Диффи-Хеллмана. Значение a вместе со значениями p и y составляет открытый ключ, а закрытым ключом является значение x (y=ax {mod p}). Шифрование открытого текста P в криптосистеме Эль-Гамаля:
1.Выбор случайного целого числа k (1<k<p-1 и НОД(k, p-1)=1).
2.C1=ak {mod p}.
3.C2=P•yk {mod p}.
4.Конец (шифротекстом являются значения C1 и C2).
Гамаля
• Расшифрование производится путем составления сравнения P•C1x=C2
{mod p} и решения его относительно P. Действительно P• C1x {mod p}=P•(ak)x {mod p}=P•(ax)k
{mod p}=P•yk {mod p}=C2 {mod p}.
• Если P≥p, то открытый текст должен быть разбит на блоки, длина которых равна длине числа p.
Гамаля
• В пункте 3 алгоритма шифрования вместо операции умножения может использоваться операция сложения по модулю 2 (C2=P yk {mod p}). Тогда при расшифровании восстановление открытого текста выполняется так:
P=(C1x {mod p}) C2 (так как C1x {mod p}=yk {mod p}).
•Недостатком этого варианта является то, что открытый текст должен разбиваться на блоки заранее неизвестной длины yk {mod p}.
Криптосистема на основе
эллиптических кривых
•Используются алгебраические структуры, определенные на множестве точек на эллиптической кривой:
{(x, y) | y2=x3+ax+b} U {( , )}.
•Для точек на эллиптической кривой вводится операция сложения (добавления новой точки по двум известным), которая допускает простую реализацию и играет ту же роль, что и операция дискретного возведения в степень в криптосистемах Диффи- Хеллмана и Эль-Гамаля.
Криптосистема на основе
эллиптических кривых
•Определив, таким образом, операцию сложения, можно ввести и операцию умножения точки эллиптической кривой G на целое число x:
G+G+…+G(x раз)=x•G.
Если g•G=0, то g называется порядком точки G.
•В реальных криптосистемах вычисление y2=x3+ax+b производится по простому модулю p. Если Y и G – две точки на эллиптической кривой, связанные соотношением Y=x•G, то значение x будет являться закрытым ключом, а значение Y вместе со значениями G, a, b и p составит открытый ключ.