НИТИ криптография лекция 2
DESCRIPTION
TRANSCRIPT
![Page 1: НИТИ криптография лекция 2](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c3f7ad4a7959215f8b462e/html5/thumbnails/1.jpg)
КРИПТОГРАФИЧЕСКИЕ КЛЮЧИ. ГЕНЕРАЦИЯ,
РАСПРЕДЕЛЕНИЕ, КОМПРОМЕТАЦИЯ.
Старший преподаватель кафедры Информационной безопасности и теории управления Ульяновского государственного университета
Правительство Ульяновской области
ОГБУ «Электронный Ульяновск»
Заместитель директора
Клочков Андрей Евгеньевич
![Page 2: НИТИ криптография лекция 2](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c3f7ad4a7959215f8b462e/html5/thumbnails/2.jpg)
Опеределение• Ключ — секретная информация, используемая
криптографическим алгоритмом при шифровании/расшифровке сообщений, постановке и проверке цифровой подписи, вычислении кодов аутентичности (MAC).
• При использовании одного и того же алгоритма результат шифрования зависит от ключа.
• Для современных алгоритмов сильной криптографии утрата ключа приводит к практической невозможности расшифровать информацию.
![Page 3: НИТИ криптография лекция 2](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c3f7ad4a7959215f8b462e/html5/thumbnails/3.jpg)
Книга Керкгоффса «Военная криптография» (издана в 1883 году).1. Система должна быть физически, если не математически,
невскрываемой;
2. Нужно, чтобы не требовалось сохранение системы в тайне; попадание системы в руки врага не должно причинять неудобств;
3. Хранение и передача ключа должны быть осуществимы без помощи бумажных записей; корреспонденты должны располагать возможностью менять ключ по своему усмотрению;
4. Система должна быть пригодной для сообщения через телеграф;
5. Система должна быть легко переносимой, работа с ней не должна требовать участия нескольких лиц одновременно;
6. Наконец, от системы требуется, учитывая возможные обстоятельства её применения, чтобы она была проста в использовании, не требовала значительного умственного напряжения или соблюдения большого количества правил.
![Page 4: НИТИ криптография лекция 2](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c3f7ad4a7959215f8b462e/html5/thumbnails/4.jpg)
Принцип Керкгоффса• ПриZ нцип КеркгоZффса — правило разработки
криптографических систем, согласно которому в засекреченном виде держится только определённый набор параметров алгоритма, называемый ключом, а сам алгоритм шифрования должен быть открытым.
• Другими словами, при оценке надёжности шифрования необходимо предполагать, что противник знает об используемой системе шифрования всё, кроме применяемых ключей.
• Шеннон сформулировал этот принцип (вероятно, независимо от Керкгоффса) следующим образом: «Враг знает систему».
![Page 5: НИТИ криптография лекция 2](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c3f7ad4a7959215f8b462e/html5/thumbnails/5.jpg)
Длина ключа• Количество информации в ключе, как правило, измеряется в
битах.• Для современных симметричных алгоритмов основной
характеристикой криптостойкости является длина ключа. Шифрование с ключами длиной 128 бит и выше считается сильным, так как для расшифровки информации без ключа требуются годы работы мощных суперкомпьютеров.
• Для асимметричных алгоритмов, основанных на проблемах теории чисел (проблема факторизации — RSA, проблема дискретного логарифма — Elgamal) в силу их особенностей минимальная надёжная длина ключа в настоящее время — 1024 бит.
• Для асимметричных алгоритмов, основанных на использовании теории эллиптических кривых (ECDSA, ГОСТ Р 34.10-2001, ДСТУ 4145-2002), минимальной надёжной длиной ключа считается 163 бит, но рекомендуются длины от 191 бит и выше.
![Page 6: НИТИ криптография лекция 2](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c3f7ad4a7959215f8b462e/html5/thumbnails/6.jpg)
Классификация ключей• Секретные (Симметричные) ключи — ключи, используемые в симметричных алгоритмах
(шифрование, выработка кодов аутентичности). Главное свойство симметричных ключей: для выполнения как прямого, так и обратного криптографического преобразования (шифрование/расшифровывание, вычисление MAC/проверка MAC) необходимо использовать один и тот же ключ (либо же ключ для обратного преобразования легко вычисляется из ключа для прямого преобразования, и наоборот).
• Асимметричные ключи — ключи, используемые в асимметричных алгоритмах (шифрование, ЭЦП); вообще говоря, являются ключевой парой, поскольку состоят из двух ключей:
• Закрытый ключ (en:Private key) — ключ, известный только своему владельцу. Только сохранение пользователем в тайне своего закрытого ключа гарантирует невозможность подделки злоумышленником документа и цифровой подписи от имени заверяющего.
• Открытый ключ (en:Public key) — ключ, который может быть опубликован и используется для проверки подлинности подписанного документа, а также для предупреждения мошенничества со стороны заверяющего лица в виде отказа его от подписи документа. Открытый ключ подписи вычисляется, как значение некоторой функции от закрытого ключа, но знание открытого ключа не дает возможности определить закрытый ключ.
• Сеансовые (сессионные) ключи — ключи, вырабатываемые между двумя пользователями, обычно для защиты канала связи. Обычно сеансовым ключом является общий секрет — информация, которая вырабатывается на основе секретного ключа одной стороны и открытого ключа другой стороны. Существует несколько протоколов выработки сеансовых ключей и общих секретов, среди них, в частности, алгоритм Диффи — Хеллмана.
![Page 7: НИТИ криптография лекция 2](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c3f7ad4a7959215f8b462e/html5/thumbnails/7.jpg)
Схема Эль-Гамаля• Схема Эль-Гамаля (Elgamal) — криптосистема с
открытым ключом, основанная на трудности вычисления дискретных логарифмов в конечном поле. Криптосистема включает в себя алгоритм шифрования и алгоритм цифровой подписи.
• Схема Эль-Гамаля лежит в основе бывших стандартов электронной цифровой подписи в США (DSA) и России (ГОСТ Р 34.10-94).
![Page 8: НИТИ криптография лекция 2](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c3f7ad4a7959215f8b462e/html5/thumbnails/8.jpg)
Схема Эль-Гамаля• Генерируется случайное простое число p длины n
битов.• Выбирается случайный примитивный элемент g поля
Zp.
• Выбирается случайное целое число x такое, что• 1 < x < p-1.
• Вычисляется y = gx mod p.• Открытым ключом является тройка (p,g,y), закрытым
ключом — число x.
![Page 9: НИТИ криптография лекция 2](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c3f7ad4a7959215f8b462e/html5/thumbnails/9.jpg)
Схема Эль-Гамаля• Шифрование• Сообщение M шифруется следующим образом:• Выбирается сессионный ключ — случайное целое
число k такое, что 1 < k < p - 1• Вычисляются числа a = gk mod p и b = yk M mod p.• Пара чисел (a, b) является шифротекстом.• Нетрудно видеть, что длина шифротекста в схеме
Эль-Гамаля длиннее исходного сообщения M вдвое.
![Page 10: НИТИ криптография лекция 2](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c3f7ad4a7959215f8b462e/html5/thumbnails/10.jpg)
Схема шифрования
![Page 11: НИТИ криптография лекция 2](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c3f7ad4a7959215f8b462e/html5/thumbnails/11.jpg)
Сравнение некоторых алгоритмов
![Page 12: НИТИ криптография лекция 2](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c3f7ad4a7959215f8b462e/html5/thumbnails/12.jpg)
Эллиптическая криптография• Эллиптическая криптография — раздел криптографии,
который изучает асимметричные криптосистемы, основанные на эллиптических кривых над конечными полями.
• Основное преимущество эллиптической криптографии заключается в том, что на сегодняшний день неизвестно существование субэкспоненциальных алгоритмов решения задачи дискретного логарифмирования.
• Использование эллиптических кривых для создания криптосистем было независимо предложено Нилом Коблицем (англ. Neal Koblitz) и Виктором Миллером (англ. Victor Miller) в 1985 году.
![Page 13: НИТИ криптография лекция 2](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c3f7ad4a7959215f8b462e/html5/thumbnails/13.jpg)
Определение• Эллиптической кривой называется множество точек
(x,y), удовлетворяющих уравнению:• y2+a1xy+a3y=x3+a2x2+a4x+a6
• Это уравнение может рассматриваться над произвольными полями и, в частности, над конечными полями, представляющими для криптографии особый интерес.
• В криптографии эллиптические кривые рассматриваются над двумя типами конечных полей: простыми полями нечётной характеристики
• (Zp, где p > 3 — простое число) и полями характеристики 2(GF(2m)).
![Page 14: НИТИ криптография лекция 2](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c3f7ad4a7959215f8b462e/html5/thumbnails/14.jpg)
Пример• p=6277101735386680763835789423207666416083908700390324961279;• a=-3;• b=2455155546008943817740293915197451784769108058161191238065;• xG=602046282375688656758213480587526111916698976636884684818
(x-координата точки G);• yG=174050332293622031404857552280219410364023488927386650641
(y-координата точки G);• n=6277101735386680763835789423176059013767194773182842284081;• h=1.• О параметре p, следую рассказать поподробнее. Данное число
относится к обобщенным числам Мерсенна, это означает, что его можно представить как сумму различных степеней двойки. Конкретно в нашем случае, число p может быть записано как
• p=2192-264-1.
![Page 15: НИТИ криптография лекция 2](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c3f7ad4a7959215f8b462e/html5/thumbnails/15.jpg)
![Page 16: НИТИ криптография лекция 2](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c3f7ad4a7959215f8b462e/html5/thumbnails/16.jpg)
Выводы• На основании всего вышесказанного выпишем основные достоинства и
недостатки эллиптической криптографии:• Основные плюсы:
• Гораздо меньшая длина ключа по сравнению к «классической» асимметричной криптографией.
• Скорость работы эллиптических алгоритмов гораздо выше, чем у классических. Это объясняется как размерами поля, так и применением более близкой для компьютеров структуры бинарного конечного поля.
• Из-за маленькой длины ключа и высокой скорости работы, алгоритмы асимметричной криптографии на эллиптических кривых могут использоваться в смарт-картах и других устройствах с ограниченными вычислительными ресурсами.
• Основные минусы:• Все плюсы эллиптической криптографии вытекают из одного конкретного факта:для задачи
дискретного логарифмирования на эллиптических кривых не существует субэкспоненциальных алгоритмов решения. Это позволяет уменьшить длину ключа и увеличить производительность. Однако если такие алгоритмы появятся, то это будет означать крах эллиптической криптографии.
• Эллиптическая криптография — это очень сложно. Но «эллиптика» — это огромное количество тонкостей, которые необходимо учесть. Начиная с выбора эллиптической кривой и заканчивая генерацией ключей. При массовом переходе на эллиптику скорее всего обязательно будет большое количество ошибок и уязвимостей, которые уже отработаны для более привычных методов.
![Page 17: НИТИ криптография лекция 2](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c3f7ad4a7959215f8b462e/html5/thumbnails/17.jpg)
Разделение секрета• В криптографии под разделением секрета (англ. Secret
sharing) понимают любой метод распределения секрета среди группы участников, каждому из которых достается доля секрета (англ. shadow). Секрет потом может воссоздать только коалиция участников.
![Page 18: НИТИ криптография лекция 2](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c3f7ad4a7959215f8b462e/html5/thumbnails/18.jpg)
Схема Шамира• Схема интерполяционных полиномов Лагранжа, схема разделения
секрета Шамира или просто схема Шамира — это схема разделения секрета, широко используемая на практике. Схема Шамира позволяет создать (t, n)-пороговое разделение секрета для любых t, n.
• Однако данная схема не защищает от мошенничества со стороны владельцев секретов, а также не защищает от мошенников, выдающих себя за тех, кто владеет секретом.
• Идея схемы заключается в том, что двух точек достаточно для задания прямой, трех точек — для задания параболы, четырех точек — для кубической параболы, и так далее. Чтобы задать многочлен степени k требуется k+1 точек.
• Если мы хотим разделить секрет таким образом, чтобы восстановить его могли только k человек, мы «прячем» его в формулу (k-1)-мерного многочлена. Восстановить этот многочлен можно по k точкам. Количество же различных точек многочлена не ограничено (на практике оно ограничивается размером числового поля, в котором ведутся расчёты).
![Page 19: НИТИ криптография лекция 2](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c3f7ad4a7959215f8b462e/html5/thumbnails/19.jpg)
Схема Шамира
Через две точки можно провести неограниченное число полиномов степени 2. Чтобы выбрать из них единственный — нужна третья точка. Данные графики приведены только для иллюстрации идеи — в схеме Шамира используется конечное поле, полиномы над которым сложно представить на графике
![Page 20: НИТИ криптография лекция 2](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c3f7ad4a7959215f8b462e/html5/thumbnails/20.jpg)
Пример• Пусть нужно разделить секрет «11» между 5-ю
сторонами. При этом любые 3 стороны должны иметь возможность восстановить этот секрет. То есть нужно реализовать (3, 5)-пороговую схему.
• Возьмём простое число p=13. Построим многочлен степени k-1=3-1=2:
• F(x) = ( 7x2 + 8x + 11) mod 13• В этом многочлене 11 — это разделяемый секрет, а
остальные коэффициенты 7 и 8 — некоторые случайные числа, которые нужно будет «забыть» после того, как процедура разделения секрета будет завершена.
![Page 21: НИТИ криптография лекция 2](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c3f7ad4a7959215f8b462e/html5/thumbnails/21.jpg)
Пример• Теперь вычисляем 5 конкретных точек:
После этого секреты (вместе с их номером, числом и степенью многочлена ) раздаются сторонам. Случайные коэффициенты и сам секрет «забываются».
![Page 22: НИТИ криптография лекция 2](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c3f7ad4a7959215f8b462e/html5/thumbnails/22.jpg)
Пример• Теперь любые 3 участника смогут восстановить
многочлен и все его коэффициенты, включая последний из них — разделённый секрет. Например, чтобы восстановить многочлен по трём долям им нужно будет решить систему:
Очевидно, что с меньшим числом известных секретов получится меньше уравнений и систему решить будет нельзя (даже полным перебором решений).
![Page 23: НИТИ криптография лекция 2](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c3f7ad4a7959215f8b462e/html5/thumbnails/23.jpg)
Пример• Построим интерполяционный многочлен Лагранжа:
![Page 24: НИТИ криптография лекция 2](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c3f7ad4a7959215f8b462e/html5/thumbnails/24.jpg)
Схема Блекли
Схема Блэкли в трех измерениях: каждая доля секрета — это плоскость, а секрет — это одна из координат точки пересечения плоскостей. Двух плоскостей недостаточно для определения точки пересечения.
![Page 25: НИТИ криптография лекция 2](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c3f7ad4a7959215f8b462e/html5/thumbnails/25.jpg)
Протоколы квантового распределения ключей
• с использованием ЭПР• B92 - использование двух неортогональных квантовых
состояний• BB84 - Протокол использует 4 квантовые состояния,
образующие 2 базиса, например поляризационные состояния света.
Эти базисы являются взаимно несмещёнными, то есть выполняется условие
![Page 26: НИТИ криптография лекция 2](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c3f7ad4a7959215f8b462e/html5/thumbnails/26.jpg)
Описание• На первом этапе Алиса посылает отдельные фотоны Бобу в произвольно выбранном базисе, используя при
выборе генератор случайных чисел. Отдельные фотоны могут посылаться все вместе или один за другим, единственное ограничение состоит в том, чтобы Алиса и Боб смогли установить взаимно однозначное соответствие между посланным и принятым фотоном.
• Боб измеряет принимаемые фотоны в одном из двух базисов, также выбираемых произвольно (и независимо от выбора Алисы). На данном этапе в случае использования одинаковых базисов они получают абсолютно коррелированные результаты. Однако в случае использования различных базисов они получают некоррелированные результаты. В среднем Боб получает строку битов с 25 % ошибок, называемую первичным ключом. Эта ошибка настолько велика, что использование стандартных алгоритмов коррекции ошибок невозможно. Тем не менее, можно провести следующую процедуру, называемую согласованием базисов: для каждого переданного состояния Боб открыто сообщает, в каком базисе проводилось измерение кубита (но не сообщает результатов измерений).
• Алиса затем сообщает, в каких случаях её базис совпал с базисом Боба. Если базисы совпали, бит оставляют, если же нет, его игнорируют. В таком случае примерно 50 % данных выбрасывается. Оставшийся более короткий ключ называется «просеянным». В случае отсутствия подслушивания и шумов в канале связи Алиса и Боб будут теперь иметь полностью коррелированную строку случайных битов, которая будет в дальнейшем использоваться в схемах классической симметричной криптографии. Если же подслушивание имело место, то по величине ошибки в получившемся классическом канале связи Алиса и Боб могут оценить максимальное количество информации, доступное Еве. Существует оценка, что если ошибка в канале меньше приблизительно 11 %, то информация, доступная Еве, заведомо не превосходит взаимной информации между Алисой и Бобом, и секретная передача данных возможна.
• Факт использования открытого канала является частым явлением в криптографических протоколах. Этот канал не должен быть конфиденциальным, но должен быть аутентифицированным. То есть любой злоумышленник в принципе может получать из него информацию, но не может изменять её.
![Page 27: НИТИ криптография лекция 2](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c3f7ad4a7959215f8b462e/html5/thumbnails/27.jpg)
Статистические методы исследования случайных последовательностей