SlideShare a Scribd company logo
1 of 27
КРИПТОГРАФИЧЕСКИЕ
КЛЮЧИ. ГЕНЕРАЦИЯ,
РАСПРЕДЕЛЕНИЕ,
КОМПРОМЕТАЦИЯ.
Старший преподаватель кафедры Информационной безопасности и
теории управления Ульяновского государственного университета
Правительство Ульяновской области
ОГБУ «Электронный Ульяновск»
Заместитель директора
Клочков Андрей Евгеньевич
a.e.klochkov@ya.ru
Опеределение
• Ключ — секретная информация, используемая
криптографическим алгоритмом при
шифровании/расшифровке сообщений, постановке и
проверке цифровой подписи, вычислении кодов
аутентичности (MAC).
• При использовании одного и того же алгоритма
результат шифрования зависит от ключа.
• Для современных алгоритмов сильной криптографии
утрата ключа приводит к практической невозможности
расшифровать информацию.
Книга Керкгоффса «Военная
криптография» (издана в 1883 году).
1. Система должна быть физически, если не математически,
невскрываемой;
2. Нужно, чтобы не требовалось сохранение системы в тайне;
попадание системы в руки врага не должно причинять
неудобств;
3. Хранение и передача ключа должны быть осуществимы без
помощи бумажных записей; корреспонденты должны
располагать возможностью менять ключ по своему
усмотрению;
4. Система должна быть пригодной для сообщения через
телеграф;
5. Система должна быть легко переносимой, работа с ней не
должна требовать участия нескольких лиц одновременно;
6. Наконец, от системы требуется, учитывая возможные
обстоятельства её применения, чтобы она была проста в
использовании, не требовала значительного умственного
напряжения или соблюдения большого количества правил.
Принцип Керкгоффса
• При́нцип Керкго́ффса — правило разработки
криптографических систем, согласно которому в
засекреченном виде держится только определённый
набор параметров алгоритма, называемый ключом, а
сам алгоритм шифрования должен быть открытым.
• Другими словами, при оценке надёжности
шифрования необходимо предполагать, что противник
знает об используемой системе шифрования всё,
кроме применяемых ключей.
• Шеннон сформулировал этот принцип (вероятно,
независимо от Керкгоффса) следующим образом:
«Враг знает систему».
Длина ключа
• Количество информации в ключе, как правило, измеряется
в битах.
• Для современных симметричных алгоритмов основной
характеристикой криптостойкости является длина ключа.
Шифрование с ключами длиной 128 бит и выше считается
сильным, так как для расшифровки информации без ключа
требуются годы работы мощных суперкомпьютеров.
• Для асимметричных алгоритмов, основанных на проблемах
теории чисел (проблема факторизации — RSA, проблема
дискретного логарифма — Elgamal) в силу их особенностей
минимальная надёжная длина ключа в настоящее время —
1024 бит.
• Для асимметричных алгоритмов, основанных на
использовании теории эллиптических кривых (ECDSA,
ГОСТ Р 34.10-2001, ДСТУ 4145-2002), минимальной
надёжной длиной ключа считается 163 бит, но
рекомендуются длины от 191 бит и выше.
Классификация ключей
• Секретные (Симметричные) ключи — ключи, используемые в симметричных
алгоритмах (шифрование, выработка кодов аутентичности). Главное свойство
симметричных ключей: для выполнения как прямого, так и обратного
криптографического преобразования (шифрование/расшифровывание, вычисление
MAC/проверка MAC) необходимо использовать один и тот же ключ (либо же ключ для
обратного преобразования легко вычисляется из ключа для прямого преобразования, и
наоборот).
• Асимметричные ключи — ключи, используемые в асимметричных алгоритмах
(шифрование, ЭЦП); вообще говоря, являются ключевой парой, поскольку состоят из
двух ключей:
• Закрытый ключ (en:Private key) — ключ, известный только своему владельцу. Только сохранение
пользователем в тайне своего закрытого ключа гарантирует невозможность подделки
злоумышленником документа и цифровой подписи от имени заверяющего.
• Открытый ключ (en:Public key) — ключ, который может быть опубликован и используется для
проверки подлинности подписанного документа, а также для предупреждения мошенничества со
стороны заверяющего лица в виде отказа его от подписи документа. Открытый ключ подписи
вычисляется, как значение некоторой функции от закрытого ключа, но знание открытого ключа не
дает возможности определить закрытый ключ.
• Сеансовые (сессионные) ключи — ключи, вырабатываемые между двумя
пользователями, обычно для защиты канала связи. Обычно сеансовым ключом
является общий секрет — информация, которая вырабатывается на основе секретного
ключа одной стороны и открытого ключа другой стороны. Существует несколько
протоколов выработки сеансовых ключей и общих секретов, среди них, в частности,
алгоритм Диффи — Хеллмана.
Схема Эль-Гамаля
• Схема Эль-Гамаля (Elgamal) — криптосистема с
открытым ключом, основанная на трудности
вычисления дискретных логарифмов в конечном поле.
Криптосистема включает в себя алгоритм шифрования
и алгоритм цифровой подписи.
• Схема Эль-Гамаля лежит в основе бывших стандартов
электронной цифровой подписи в США (DSA) и России
(ГОСТ Р 34.10-94).
Схема Эль-Гамаля
• Генерируется случайное простое число p длины n
битов.
• Выбирается случайный примитивный элемент g поля
Zp.
• Выбирается случайное целое число x такое, что
• 1 < x < p-1.
• Вычисляется y = gx mod p.
• Открытым ключом является тройка (p,g,y), закрытым
ключом — число x.
Схема Эль-Гамаля
• Шифрование
• Сообщение M шифруется следующим образом:
• Выбирается сессионный ключ — случайное целое
число k такое, что 1 < k < p - 1
• Вычисляются числа a = gk mod p и b = yk M mod p.
• Пара чисел (a, b) является шифротекстом.
• Нетрудно видеть, что длина шифротекста в схеме
Эль-Гамаля длиннее исходного сообщения M вдвое.
Схема шифрования
Сравнение некоторых алгоритмов
Эллиптическая криптография
• Эллиптическая криптография — раздел криптографии,
который изучает асимметричные криптосистемы,
основанные на эллиптических кривых над конечными
полями.
• Основное преимущество эллиптической криптографии
заключается в том, что на сегодняшний день
неизвестно существование субэкспоненциальных
алгоритмов решения задачи дискретного
логарифмирования.
• Использование эллиптических кривых для создания
криптосистем было независимо предложено Нилом
Коблицем (англ. Neal Koblitz) и Виктором Миллером
(англ. Victor Miller) в 1985 году.
Определение
• Эллиптической кривой называется множество точек
(x,y), удовлетворяющих уравнению:
• y2+a1xy+a3y=x3+a2x2+a4x+a6
• Это уравнение может рассматриваться над
произвольными полями и, в частности, над конечными
полями, представляющими для криптографии особый
интерес.
• В криптографии эллиптические кривые
рассматриваются над двумя типами конечных полей:
простыми полями нечётной характеристики
• (Zp, где p > 3 — простое число) и полями
характеристики 2(GF(2m)).
Пример
• p=62771017353866807638357894232076664160839087003903249
61279;
• a=-3;
• b=24551555460089438177402939151974517847691080581611912
38065;
• xG=60204628237568865675821348058752611191669897663688468
4818 (x-координата точки G);
• yG=1740503322936220314048575522802194103640234889273866
50641 (y-координата точки G);
• n=62771017353866807638357894231760590137671947731828422
84081;
• h=1.
• О параметре p, следую рассказать поподробнее. Данное число
относится к обобщенным числам Мерсенна, это означает, что
его можно представить как сумму различных степеней двойки.
Конкретно в нашем случае, число p может быть записано как
• p=2192-264-1.
Выводы
• На основании всего вышесказанного выпишем основные достоинства и
недостатки эллиптической криптографии:
• Основные плюсы:
• Гораздо меньшая длина ключа по сравнению к «классической» асимметричной
криптографией.
• Скорость работы эллиптических алгоритмов гораздо выше, чем у классических. Это
объясняется как размерами поля, так и применением более близкой для компьютеров
структуры бинарного конечного поля.
• Из-за маленькой длины ключа и высокой скорости работы, алгоритмы асимметричной
криптографии на эллиптических кривых могут использоваться в смарт-картах и других
устройствах с ограниченными вычислительными ресурсами.
• Основные минусы:
• Все плюсы эллиптической криптографии вытекают из одного конкретного факта: для
задачи дискретного логарифмирования на эллиптических кривых не существует
субэкспоненциальных алгоритмов решения. Это позволяет уменьшить длину ключа и
увеличить производительность. Однако если такие алгоритмы появятся, то это будет
означать крах эллиптической криптографии.
• Эллиптическая криптография — это очень сложно. Но «эллиптика» — это огромное
количество тонкостей, которые необходимо учесть. Начиная с выбора эллиптической
кривой и заканчивая генерацией ключей. При массовом переходе на эллиптику скорее
всего обязательно будет большое количество ошибок и уязвимостей, которые уже
отработаны для более привычных методов.
Разделение секрета
• В криптографии под разделением секрета (англ. Secret
sharing) понимают любой метод распределения
секрета среди группы участников, каждому из которых
достается доля секрета (англ. shadow). Секрет потом
может воссоздать только коалиция участников.
Схема Шамира
• Схема интерполяционных полиномов Лагранжа, схема
разделения секрета Шамира или просто схема Шамира — это
схема разделения секрета, широко используемая на практике.
Схема Шамира позволяет создать (t, n)-пороговое разделение
секрета для любых t, n.
• Однако данная схема не защищает от мошенничества со стороны
владельцев секретов, а также не защищает от мошенников,
выдающих себя за тех, кто владеет секретом.
• Идея схемы заключается в том, что двух точек достаточно для
задания прямой, трех точек — для задания параболы, четырех
точек — для кубической параболы, и так далее. Чтобы задать
многочлен степени k требуется k+1 точек.
• Если мы хотим разделить секрет таким образом, чтобы
восстановить его могли только k человек, мы «прячем» его в
формулу (k-1)-мерного многочлена. Восстановить этот многочлен
можно по k точкам. Количество же различных точек многочлена
не ограничено (на практике оно ограничивается размером
числового поля, в котором ведутся расчёты).
Схема
Шамира
Через две точки можно
провести
неограниченное число
полиномов степени 2.
Чтобы выбрать из них
единственный —
нужна третья точка.
Данные графики
приведены только для
иллюстрации идеи — в
схеме Шамира
используется конечное
поле, полиномы над
которым сложно
представить на
графике
Пример
• Пусть нужно разделить секрет «11» между 5-ю
сторонами. При этом любые 3 стороны должны иметь
возможность восстановить этот секрет. То есть нужно
реализовать (3, 5)-пороговую схему.
• Возьмём простое число p=13. Построим многочлен
степени k-1=3-1=2:
• F(x) = ( 7x2 + 8x + 11) mod 13
• В этом многочлене 11 — это разделяемый секрет, а
остальные коэффициенты 7 и 8 — некоторые
случайные числа, которые нужно будет «забыть»
после того, как процедура разделения секрета будет
завершена.
Пример
• Теперь вычисляем 5 конкретных точек:
После этого секреты (вместе с их номером, числом и
степенью многочлена ) раздаются сторонам. Случайные
коэффициенты и сам секрет «забываются».
Пример
• Теперь любые 3 участника смогут восстановить
многочлен и все его коэффициенты, включая
последний из них — разделённый секрет. Например,
чтобы восстановить многочлен по трём долям им
нужно будет решить систему:
Очевидно, что с меньшим числом известных секретов получится
меньше уравнений и систему решить будет нельзя (даже полным
перебором решений).
Пример
• Построим интерполяционный многочлен Лагранжа:
Схема Блекли
Схема Блэкли в трех измерениях: каждая доля секрета — это плоскость, а
секрет — это одна из координат точки пересечения плоскостей. Двух
плоскостей недостаточно для определения точки пересечения.
Протоколы квантового распределения
ключей
• с использованием ЭПР
• B92 - использование двух неортогональных квантовых
состояний
• BB84 - Протокол использует 4 квантовые состояния,
образующие 2 базиса, например поляризационные
состояния света.
Эти базисы являются взаимно несмещёнными, то есть
выполняется условие
Описание
• На первом этапе Алиса посылает отдельные фотоны Бобу в произвольно выбранном базисе,
используя при выборе генератор случайных чисел. Отдельные фотоны могут посылаться все вместе
или один за другим, единственное ограничение состоит в том, чтобы Алиса и Боб смогли установить
взаимно однозначное соответствие между посланным и принятым фотоном.
• Боб измеряет принимаемые фотоны в одном из двух базисов, также выбираемых произвольно (и
независимо от выбора Алисы). На данном этапе в случае использования одинаковых базисов они
получают абсолютно коррелированные результаты. Однако в случае использования различных
базисов они получают некоррелированные результаты. В среднем Боб получает строку битов с 25 %
ошибок, называемую первичным ключом. Эта ошибка настолько велика, что использование
стандартных алгоритмов коррекции ошибок невозможно. Тем не менее, можно провести следующую
процедуру, называемую согласованием базисов: для каждого переданного состояния Боб открыто
сообщает, в каком базисе проводилось измерение кубита (но не сообщает результатов измерений).
• Алиса затем сообщает, в каких случаях её базис совпал с базисом Боба. Если базисы совпали, бит
оставляют, если же нет, его игнорируют. В таком случае примерно 50 % данных выбрасывается.
Оставшийся более короткий ключ называется «просеянным». В случае отсутствия подслушивания и
шумов в канале связи Алиса и Боб будут теперь иметь полностью коррелированную строку
случайных битов, которая будет в дальнейшем использоваться в схемах классической
симметричной криптографии. Если же подслушивание имело место, то по величине ошибки в
получившемся классическом канале связи Алиса и Боб могут оценить максимальное количество
информации, доступное Еве. Существует оценка, что если ошибка в канале меньше приблизительно
11 %, то информация, доступная Еве, заведомо не превосходит взаимной информации между
Алисой и Бобом, и секретная передача данных возможна.
• Факт использования открытого канала является частым явлением в криптографических протоколах.
Этот канал не должен быть конфиденциальным, но должен быть аутентифицированным. То есть
любой злоумышленник в принципе может получать из него информацию, но не может изменять её.
Статистические методы исследования
случайных последовательностей

More Related Content

Similar to НИТИ криптография лекция 2

виды крипторафических алгоритмов
виды крипторафических алгоритмоввиды крипторафических алгоритмов
виды крипторафических алгоритмовAFedyaev
 
асимметричные алгоритмы шифрования
асимметричные алгоритмы шифрованияасимметричные алгоритмы шифрования
асимметричные алгоритмы шифрованияhmyrhik nikita
 
1-лекц знакомст криптогр.ppt
1-лекц знакомст криптогр.ppt1-лекц знакомст криптогр.ppt
1-лекц знакомст криптогр.pptfammi1
 
Владимир Иванов - Криптография и шифрование
Владимир Иванов - Криптография и шифрованиеВладимир Иванов - Криптография и шифрование
Владимир Иванов - Криптография и шифрованиеYandex
 
Криптография.
Криптография.Криптография.
Криптография.SvetlanaFIT
 
современные средства криптографической поддержки электронного документооборота
современные средства криптографической поддержки электронного документооборотасовременные средства криптографической поддержки электронного документооборота
современные средства криптографической поддержки электронного документооборотаtrenders
 
Криптология в анализе защищённости
Криптология в анализе защищённостиКриптология в анализе защищённости
Криптология в анализе защищённостиbeched
 
Алгоритмы шифрования и их применение в .Net приложениях для защиты данных.
Алгоритмы шифрования и их применение в .Net приложениях для защиты данных.Алгоритмы шифрования и их применение в .Net приложениях для защиты данных.
Алгоритмы шифрования и их применение в .Net приложениях для защиты данных.Pavel Tsukanov
 
Защита информации семинар №3 МФТИ
Защита информации семинар №3 МФТИЗащита информации семинар №3 МФТИ
Защита информации семинар №3 МФТИAlexander Kolybelnikov
 
Безопасность для сайта
Безопасность для сайтаБезопасность для сайта
Безопасность для сайтаMaksym Balaklytskyi
 
Ярослав Воронцов - Алгоритмы и структуры данных
Ярослав Воронцов - Алгоритмы и структуры данныхЯрослав Воронцов - Алгоритмы и структуры данных
Ярослав Воронцов - Алгоритмы и структуры данныхDataArt
 
C:\fakepath\кмсзи экз
C:\fakepath\кмсзи   экзC:\fakepath\кмсзи   экз
C:\fakepath\кмсзи экзdarina andr
 
Кашкарева Ю.О. (МК-502). Разностная атака на криптографические протоколы.
Кашкарева Ю.О. (МК-502). Разностная атака на криптографические протоколы.Кашкарева Ю.О. (МК-502). Разностная атака на криптографические протоколы.
Кашкарева Ю.О. (МК-502). Разностная атака на криптографические протоколы.Vasily Dolgushev
 
Криптография в продуктах ViPNet
Криптография в продуктах ViPNetКриптография в продуктах ViPNet
Криптография в продуктах ViPNetInfoTeCS
 
лекция 3 кмсзи симметричные криптографические системы
лекция 3 кмсзи симметричные криптографические системылекция 3 кмсзи симметричные криптографические системы
лекция 3 кмсзи симметричные криптографические системыdarina andr
 
Multithreading in java past and actual
Multithreading in java past and actualMultithreading in java past and actual
Multithreading in java past and actualYevgen Levik
 

Similar to НИТИ криптография лекция 2 (20)

виды крипторафических алгоритмов
виды крипторафических алгоритмоввиды крипторафических алгоритмов
виды крипторафических алгоритмов
 
асимметричные алгоритмы шифрования
асимметричные алгоритмы шифрованияасимметричные алгоритмы шифрования
асимметричные алгоритмы шифрования
 
лекция 16
лекция 16лекция 16
лекция 16
 
1-лекц знакомст криптогр.ppt
1-лекц знакомст криптогр.ppt1-лекц знакомст криптогр.ppt
1-лекц знакомст криптогр.ppt
 
лекция 3.docx
лекция 3.docxлекция 3.docx
лекция 3.docx
 
Владимир Иванов - Криптография и шифрование
Владимир Иванов - Криптография и шифрованиеВладимир Иванов - Криптография и шифрование
Владимир Иванов - Криптография и шифрование
 
Криптография
КриптографияКриптография
Криптография
 
Криптография.
Криптография.Криптография.
Криптография.
 
современные средства криптографической поддержки электронного документооборота
современные средства криптографической поддержки электронного документооборотасовременные средства криптографической поддержки электронного документооборота
современные средства криптографической поддержки электронного документооборота
 
Криптология в анализе защищённости
Криптология в анализе защищённостиКриптология в анализе защищённости
Криптология в анализе защищённости
 
Prez1
Prez1Prez1
Prez1
 
Алгоритмы шифрования и их применение в .Net приложениях для защиты данных.
Алгоритмы шифрования и их применение в .Net приложениях для защиты данных.Алгоритмы шифрования и их применение в .Net приложениях для защиты данных.
Алгоритмы шифрования и их применение в .Net приложениях для защиты данных.
 
Защита информации семинар №3 МФТИ
Защита информации семинар №3 МФТИЗащита информации семинар №3 МФТИ
Защита информации семинар №3 МФТИ
 
Безопасность для сайта
Безопасность для сайтаБезопасность для сайта
Безопасность для сайта
 
Ярослав Воронцов - Алгоритмы и структуры данных
Ярослав Воронцов - Алгоритмы и структуры данныхЯрослав Воронцов - Алгоритмы и структуры данных
Ярослав Воронцов - Алгоритмы и структуры данных
 
C:\fakepath\кмсзи экз
C:\fakepath\кмсзи   экзC:\fakepath\кмсзи   экз
C:\fakepath\кмсзи экз
 
Кашкарева Ю.О. (МК-502). Разностная атака на криптографические протоколы.
Кашкарева Ю.О. (МК-502). Разностная атака на криптографические протоколы.Кашкарева Ю.О. (МК-502). Разностная атака на криптографические протоколы.
Кашкарева Ю.О. (МК-502). Разностная атака на криптографические протоколы.
 
Криптография в продуктах ViPNet
Криптография в продуктах ViPNetКриптография в продуктах ViPNet
Криптография в продуктах ViPNet
 
лекция 3 кмсзи симметричные криптографические системы
лекция 3 кмсзи симметричные криптографические системылекция 3 кмсзи симметричные криптографические системы
лекция 3 кмсзи симметричные криптографические системы
 
Multithreading in java past and actual
Multithreading in java past and actualMultithreading in java past and actual
Multithreading in java past and actual
 

More from Andrei V, Zhuravlev

Университеты северо-востока США.
Университеты северо-востока США. Университеты северо-востока США.
Университеты северо-востока США. Andrei V, Zhuravlev
 
Конференция отчет
Конференция отчетКонференция отчет
Конференция отчетAndrei V, Zhuravlev
 
практикум в сош №48 отчет
практикум в сош №48 отчетпрактикум в сош №48 отчет
практикум в сош №48 отчетAndrei V, Zhuravlev
 
Закон Всемирного Тяготения 2015 СОШ 66
Закон Всемирного Тяготения 2015 СОШ 66Закон Всемирного Тяготения 2015 СОШ 66
Закон Всемирного Тяготения 2015 СОШ 66Andrei V, Zhuravlev
 
Идеи Роджера Пенроуза
Идеи Роджера ПенроузаИдеи Роджера Пенроуза
Идеи Роджера ПенроузаAndrei V, Zhuravlev
 
Космофизический практикум
Космофизический практикумКосмофизический практикум
Космофизический практикумAndrei V, Zhuravlev
 
Телескоп: исследовательская работа
Телескоп: исследовательская  работаТелескоп: исследовательская  работа
Телескоп: исследовательская работаAndrei V, Zhuravlev
 
НЕЛОКАЛЬНОСТЬ В КВАНТОВОЙ ФИЗИКЕ
НЕЛОКАЛЬНОСТЬ В КВАНТОВОЙ ФИЗИКЕНЕЛОКАЛЬНОСТЬ В КВАНТОВОЙ ФИЗИКЕ
НЕЛОКАЛЬНОСТЬ В КВАНТОВОЙ ФИЗИКЕAndrei V, Zhuravlev
 

More from Andrei V, Zhuravlev (20)

Университеты северо-востока США.
Университеты северо-востока США. Университеты северо-востока США.
Университеты северо-востока США.
 
Асперитас
АсперитасАсперитас
Асперитас
 
Конференция отчет
Конференция отчетКонференция отчет
Конференция отчет
 
практикум в сош №48 отчет
практикум в сош №48 отчетпрактикум в сош №48 отчет
практикум в сош №48 отчет
 
Влияние космоса
Влияние космосаВлияние космоса
Влияние космоса
 
Закон Всемирного Тяготения 2015 СОШ 66
Закон Всемирного Тяготения 2015 СОШ 66Закон Всемирного Тяготения 2015 СОШ 66
Закон Всемирного Тяготения 2015 СОШ 66
 
Идеи Роджера Пенроуза
Идеи Роджера ПенроузаИдеи Роджера Пенроуза
Идеи Роджера Пенроуза
 
Космонавтика
КосмонавтикаКосмонавтика
Космонавтика
 
Космофизический практикум
Космофизический практикумКосмофизический практикум
Космофизический практикум
 
Телескоп: исследовательская работа
Телескоп: исследовательская  работаТелескоп: исследовательская  работа
Телескоп: исследовательская работа
 
ивушка самара 2014
ивушка самара 2014ивушка самара 2014
ивушка самара 2014
 
НЕЛОКАЛЬНОСТЬ В КВАНТОВОЙ ФИЗИКЕ
НЕЛОКАЛЬНОСТЬ В КВАНТОВОЙ ФИЗИКЕНЕЛОКАЛЬНОСТЬ В КВАНТОВОЙ ФИЗИКЕ
НЕЛОКАЛЬНОСТЬ В КВАНТОВОЙ ФИЗИКЕ
 
Digest 018-new
Digest 018-newDigest 018-new
Digest 018-new
 
Digest 018
Digest 018Digest 018
Digest 018
 
Digest 017
Digest 017Digest 017
Digest 017
 
Digest 016
Digest 016Digest 016
Digest 016
 
Digest 015f-new
Digest 015f-newDigest 015f-new
Digest 015f-new
 
бак церн
бак цернбак церн
бак церн
 
Digest 015f
Digest 015fDigest 015f
Digest 015f
 
Дайджест 12
Дайджест 12Дайджест 12
Дайджест 12
 

НИТИ криптография лекция 2

  • 1. КРИПТОГРАФИЧЕСКИЕ КЛЮЧИ. ГЕНЕРАЦИЯ, РАСПРЕДЕЛЕНИЕ, КОМПРОМЕТАЦИЯ. Старший преподаватель кафедры Информационной безопасности и теории управления Ульяновского государственного университета Правительство Ульяновской области ОГБУ «Электронный Ульяновск» Заместитель директора Клочков Андрей Евгеньевич a.e.klochkov@ya.ru
  • 2. Опеределение • Ключ — секретная информация, используемая криптографическим алгоритмом при шифровании/расшифровке сообщений, постановке и проверке цифровой подписи, вычислении кодов аутентичности (MAC). • При использовании одного и того же алгоритма результат шифрования зависит от ключа. • Для современных алгоритмов сильной криптографии утрата ключа приводит к практической невозможности расшифровать информацию.
  • 3. Книга Керкгоффса «Военная криптография» (издана в 1883 году). 1. Система должна быть физически, если не математически, невскрываемой; 2. Нужно, чтобы не требовалось сохранение системы в тайне; попадание системы в руки врага не должно причинять неудобств; 3. Хранение и передача ключа должны быть осуществимы без помощи бумажных записей; корреспонденты должны располагать возможностью менять ключ по своему усмотрению; 4. Система должна быть пригодной для сообщения через телеграф; 5. Система должна быть легко переносимой, работа с ней не должна требовать участия нескольких лиц одновременно; 6. Наконец, от системы требуется, учитывая возможные обстоятельства её применения, чтобы она была проста в использовании, не требовала значительного умственного напряжения или соблюдения большого количества правил.
  • 4. Принцип Керкгоффса • При́нцип Керкго́ффса — правило разработки криптографических систем, согласно которому в засекреченном виде держится только определённый набор параметров алгоритма, называемый ключом, а сам алгоритм шифрования должен быть открытым. • Другими словами, при оценке надёжности шифрования необходимо предполагать, что противник знает об используемой системе шифрования всё, кроме применяемых ключей. • Шеннон сформулировал этот принцип (вероятно, независимо от Керкгоффса) следующим образом: «Враг знает систему».
  • 5. Длина ключа • Количество информации в ключе, как правило, измеряется в битах. • Для современных симметричных алгоритмов основной характеристикой криптостойкости является длина ключа. Шифрование с ключами длиной 128 бит и выше считается сильным, так как для расшифровки информации без ключа требуются годы работы мощных суперкомпьютеров. • Для асимметричных алгоритмов, основанных на проблемах теории чисел (проблема факторизации — RSA, проблема дискретного логарифма — Elgamal) в силу их особенностей минимальная надёжная длина ключа в настоящее время — 1024 бит. • Для асимметричных алгоритмов, основанных на использовании теории эллиптических кривых (ECDSA, ГОСТ Р 34.10-2001, ДСТУ 4145-2002), минимальной надёжной длиной ключа считается 163 бит, но рекомендуются длины от 191 бит и выше.
  • 6. Классификация ключей • Секретные (Симметричные) ключи — ключи, используемые в симметричных алгоритмах (шифрование, выработка кодов аутентичности). Главное свойство симметричных ключей: для выполнения как прямого, так и обратного криптографического преобразования (шифрование/расшифровывание, вычисление MAC/проверка MAC) необходимо использовать один и тот же ключ (либо же ключ для обратного преобразования легко вычисляется из ключа для прямого преобразования, и наоборот). • Асимметричные ключи — ключи, используемые в асимметричных алгоритмах (шифрование, ЭЦП); вообще говоря, являются ключевой парой, поскольку состоят из двух ключей: • Закрытый ключ (en:Private key) — ключ, известный только своему владельцу. Только сохранение пользователем в тайне своего закрытого ключа гарантирует невозможность подделки злоумышленником документа и цифровой подписи от имени заверяющего. • Открытый ключ (en:Public key) — ключ, который может быть опубликован и используется для проверки подлинности подписанного документа, а также для предупреждения мошенничества со стороны заверяющего лица в виде отказа его от подписи документа. Открытый ключ подписи вычисляется, как значение некоторой функции от закрытого ключа, но знание открытого ключа не дает возможности определить закрытый ключ. • Сеансовые (сессионные) ключи — ключи, вырабатываемые между двумя пользователями, обычно для защиты канала связи. Обычно сеансовым ключом является общий секрет — информация, которая вырабатывается на основе секретного ключа одной стороны и открытого ключа другой стороны. Существует несколько протоколов выработки сеансовых ключей и общих секретов, среди них, в частности, алгоритм Диффи — Хеллмана.
  • 7. Схема Эль-Гамаля • Схема Эль-Гамаля (Elgamal) — криптосистема с открытым ключом, основанная на трудности вычисления дискретных логарифмов в конечном поле. Криптосистема включает в себя алгоритм шифрования и алгоритм цифровой подписи. • Схема Эль-Гамаля лежит в основе бывших стандартов электронной цифровой подписи в США (DSA) и России (ГОСТ Р 34.10-94).
  • 8. Схема Эль-Гамаля • Генерируется случайное простое число p длины n битов. • Выбирается случайный примитивный элемент g поля Zp. • Выбирается случайное целое число x такое, что • 1 < x < p-1. • Вычисляется y = gx mod p. • Открытым ключом является тройка (p,g,y), закрытым ключом — число x.
  • 9. Схема Эль-Гамаля • Шифрование • Сообщение M шифруется следующим образом: • Выбирается сессионный ключ — случайное целое число k такое, что 1 < k < p - 1 • Вычисляются числа a = gk mod p и b = yk M mod p. • Пара чисел (a, b) является шифротекстом. • Нетрудно видеть, что длина шифротекста в схеме Эль-Гамаля длиннее исходного сообщения M вдвое.
  • 12. Эллиптическая криптография • Эллиптическая криптография — раздел криптографии, который изучает асимметричные криптосистемы, основанные на эллиптических кривых над конечными полями. • Основное преимущество эллиптической криптографии заключается в том, что на сегодняшний день неизвестно существование субэкспоненциальных алгоритмов решения задачи дискретного логарифмирования. • Использование эллиптических кривых для создания криптосистем было независимо предложено Нилом Коблицем (англ. Neal Koblitz) и Виктором Миллером (англ. Victor Miller) в 1985 году.
  • 13. Определение • Эллиптической кривой называется множество точек (x,y), удовлетворяющих уравнению: • y2+a1xy+a3y=x3+a2x2+a4x+a6 • Это уравнение может рассматриваться над произвольными полями и, в частности, над конечными полями, представляющими для криптографии особый интерес. • В криптографии эллиптические кривые рассматриваются над двумя типами конечных полей: простыми полями нечётной характеристики • (Zp, где p > 3 — простое число) и полями характеристики 2(GF(2m)).
  • 14. Пример • p=62771017353866807638357894232076664160839087003903249 61279; • a=-3; • b=24551555460089438177402939151974517847691080581611912 38065; • xG=60204628237568865675821348058752611191669897663688468 4818 (x-координата точки G); • yG=1740503322936220314048575522802194103640234889273866 50641 (y-координата точки G); • n=62771017353866807638357894231760590137671947731828422 84081; • h=1. • О параметре p, следую рассказать поподробнее. Данное число относится к обобщенным числам Мерсенна, это означает, что его можно представить как сумму различных степеней двойки. Конкретно в нашем случае, число p может быть записано как • p=2192-264-1.
  • 15.
  • 16. Выводы • На основании всего вышесказанного выпишем основные достоинства и недостатки эллиптической криптографии: • Основные плюсы: • Гораздо меньшая длина ключа по сравнению к «классической» асимметричной криптографией. • Скорость работы эллиптических алгоритмов гораздо выше, чем у классических. Это объясняется как размерами поля, так и применением более близкой для компьютеров структуры бинарного конечного поля. • Из-за маленькой длины ключа и высокой скорости работы, алгоритмы асимметричной криптографии на эллиптических кривых могут использоваться в смарт-картах и других устройствах с ограниченными вычислительными ресурсами. • Основные минусы: • Все плюсы эллиптической криптографии вытекают из одного конкретного факта: для задачи дискретного логарифмирования на эллиптических кривых не существует субэкспоненциальных алгоритмов решения. Это позволяет уменьшить длину ключа и увеличить производительность. Однако если такие алгоритмы появятся, то это будет означать крах эллиптической криптографии. • Эллиптическая криптография — это очень сложно. Но «эллиптика» — это огромное количество тонкостей, которые необходимо учесть. Начиная с выбора эллиптической кривой и заканчивая генерацией ключей. При массовом переходе на эллиптику скорее всего обязательно будет большое количество ошибок и уязвимостей, которые уже отработаны для более привычных методов.
  • 17. Разделение секрета • В криптографии под разделением секрета (англ. Secret sharing) понимают любой метод распределения секрета среди группы участников, каждому из которых достается доля секрета (англ. shadow). Секрет потом может воссоздать только коалиция участников.
  • 18. Схема Шамира • Схема интерполяционных полиномов Лагранжа, схема разделения секрета Шамира или просто схема Шамира — это схема разделения секрета, широко используемая на практике. Схема Шамира позволяет создать (t, n)-пороговое разделение секрета для любых t, n. • Однако данная схема не защищает от мошенничества со стороны владельцев секретов, а также не защищает от мошенников, выдающих себя за тех, кто владеет секретом. • Идея схемы заключается в том, что двух точек достаточно для задания прямой, трех точек — для задания параболы, четырех точек — для кубической параболы, и так далее. Чтобы задать многочлен степени k требуется k+1 точек. • Если мы хотим разделить секрет таким образом, чтобы восстановить его могли только k человек, мы «прячем» его в формулу (k-1)-мерного многочлена. Восстановить этот многочлен можно по k точкам. Количество же различных точек многочлена не ограничено (на практике оно ограничивается размером числового поля, в котором ведутся расчёты).
  • 19. Схема Шамира Через две точки можно провести неограниченное число полиномов степени 2. Чтобы выбрать из них единственный — нужна третья точка. Данные графики приведены только для иллюстрации идеи — в схеме Шамира используется конечное поле, полиномы над которым сложно представить на графике
  • 20. Пример • Пусть нужно разделить секрет «11» между 5-ю сторонами. При этом любые 3 стороны должны иметь возможность восстановить этот секрет. То есть нужно реализовать (3, 5)-пороговую схему. • Возьмём простое число p=13. Построим многочлен степени k-1=3-1=2: • F(x) = ( 7x2 + 8x + 11) mod 13 • В этом многочлене 11 — это разделяемый секрет, а остальные коэффициенты 7 и 8 — некоторые случайные числа, которые нужно будет «забыть» после того, как процедура разделения секрета будет завершена.
  • 21. Пример • Теперь вычисляем 5 конкретных точек: После этого секреты (вместе с их номером, числом и степенью многочлена ) раздаются сторонам. Случайные коэффициенты и сам секрет «забываются».
  • 22. Пример • Теперь любые 3 участника смогут восстановить многочлен и все его коэффициенты, включая последний из них — разделённый секрет. Например, чтобы восстановить многочлен по трём долям им нужно будет решить систему: Очевидно, что с меньшим числом известных секретов получится меньше уравнений и систему решить будет нельзя (даже полным перебором решений).
  • 24. Схема Блекли Схема Блэкли в трех измерениях: каждая доля секрета — это плоскость, а секрет — это одна из координат точки пересечения плоскостей. Двух плоскостей недостаточно для определения точки пересечения.
  • 25. Протоколы квантового распределения ключей • с использованием ЭПР • B92 - использование двух неортогональных квантовых состояний • BB84 - Протокол использует 4 квантовые состояния, образующие 2 базиса, например поляризационные состояния света. Эти базисы являются взаимно несмещёнными, то есть выполняется условие
  • 26. Описание • На первом этапе Алиса посылает отдельные фотоны Бобу в произвольно выбранном базисе, используя при выборе генератор случайных чисел. Отдельные фотоны могут посылаться все вместе или один за другим, единственное ограничение состоит в том, чтобы Алиса и Боб смогли установить взаимно однозначное соответствие между посланным и принятым фотоном. • Боб измеряет принимаемые фотоны в одном из двух базисов, также выбираемых произвольно (и независимо от выбора Алисы). На данном этапе в случае использования одинаковых базисов они получают абсолютно коррелированные результаты. Однако в случае использования различных базисов они получают некоррелированные результаты. В среднем Боб получает строку битов с 25 % ошибок, называемую первичным ключом. Эта ошибка настолько велика, что использование стандартных алгоритмов коррекции ошибок невозможно. Тем не менее, можно провести следующую процедуру, называемую согласованием базисов: для каждого переданного состояния Боб открыто сообщает, в каком базисе проводилось измерение кубита (но не сообщает результатов измерений). • Алиса затем сообщает, в каких случаях её базис совпал с базисом Боба. Если базисы совпали, бит оставляют, если же нет, его игнорируют. В таком случае примерно 50 % данных выбрасывается. Оставшийся более короткий ключ называется «просеянным». В случае отсутствия подслушивания и шумов в канале связи Алиса и Боб будут теперь иметь полностью коррелированную строку случайных битов, которая будет в дальнейшем использоваться в схемах классической симметричной криптографии. Если же подслушивание имело место, то по величине ошибки в получившемся классическом канале связи Алиса и Боб могут оценить максимальное количество информации, доступное Еве. Существует оценка, что если ошибка в канале меньше приблизительно 11 %, то информация, доступная Еве, заведомо не превосходит взаимной информации между Алисой и Бобом, и секретная передача данных возможна. • Факт использования открытого канала является частым явлением в криптографических протоколах. Этот канал не должен быть конфиденциальным, но должен быть аутентифицированным. То есть любой злоумышленник в принципе может получать из него информацию, но не может изменять её.