27
КРИПТОГРАФИЧЕСКИЕ КЛЮЧИ. ГЕНЕРАЦИЯ, РАСПРЕДЕЛЕНИЕ, КОМПРОМЕТАЦИЯ. Старший преподаватель кафедры Информационной безопасности и теории управления Ульяновского государственного университета Правительство Ульяновской области ОГБУ «Электронный Ульяновск» Заместитель директора Клочков Андрей Евгеньевич [email protected]

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

Embed Size (px)

DESCRIPTION

 

Citation preview

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

КРИПТОГРАФИЧЕСКИЕ КЛЮЧИ. ГЕНЕРАЦИЯ,

РАСПРЕДЕЛЕНИЕ, КОМПРОМЕТАЦИЯ.

Старший преподаватель кафедры Информационной безопасности и теории управления Ульяновского государственного университета

Правительство Ульяновской области

ОГБУ «Электронный Ульяновск»

Заместитель директора

Клочков Андрей Евгеньевич

[email protected]

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

Опеределение• Ключ — секретная информация, используемая

криптографическим алгоритмом при шифровании/расшифровке сообщений, постановке и проверке цифровой подписи, вычислении кодов аутентичности (MAC).

• При использовании одного и того же алгоритма результат шифрования зависит от ключа.

• Для современных алгоритмов сильной криптографии утрата ключа приводит к практической невозможности расшифровать информацию.

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

Книга Керкгоффса «Военная криптография» (издана в 1883 году).1. Система должна быть физически, если не математически,

невскрываемой;

2. Нужно, чтобы не требовалось сохранение системы в тайне; попадание системы в руки врага не должно причинять неудобств;

3. Хранение и передача ключа должны быть осуществимы без помощи бумажных записей; корреспонденты должны располагать возможностью менять ключ по своему усмотрению;

4. Система должна быть пригодной для сообщения через телеграф;

5. Система должна быть легко переносимой, работа с ней не должна требовать участия нескольких лиц одновременно;

6. Наконец, от системы требуется, учитывая возможные обстоятельства её применения, чтобы она была проста в использовании, не требовала значительного умственного напряжения или соблюдения большого количества правил.

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

Принцип Керкгоффса• ПриZ нцип КеркгоZффса — правило разработки

криптографических систем, согласно которому в засекреченном виде держится только определённый набор параметров алгоритма, называемый ключом, а сам алгоритм шифрования должен быть открытым.

• Другими словами, при оценке надёжности шифрования необходимо предполагать, что противник знает об используемой системе шифрования всё, кроме применяемых ключей.

• Шеннон сформулировал этот принцип (вероятно, независимо от Керкгоффса) следующим образом: «Враг знает систему».

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

Длина ключа• Количество информации в ключе, как правило, измеряется в

битах.• Для современных симметричных алгоритмов основной

характеристикой криптостойкости является длина ключа. Шифрование с ключами длиной 128 бит и выше считается сильным, так как для расшифровки информации без ключа требуются годы работы мощных суперкомпьютеров.

• Для асимметричных алгоритмов, основанных на проблемах теории чисел (проблема факторизации — RSA, проблема дискретного логарифма — Elgamal) в силу их особенностей минимальная надёжная длина ключа в настоящее время — 1024 бит.

• Для асимметричных алгоритмов, основанных на использовании теории эллиптических кривых (ECDSA, ГОСТ Р 34.10-2001, ДСТУ 4145-2002), минимальной надёжной длиной ключа считается 163 бит, но рекомендуются длины от 191 бит и выше.

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

Классификация ключей• Секретные (Симметричные) ключи — ключи, используемые в симметричных алгоритмах

(шифрование, выработка кодов аутентичности). Главное свойство симметричных ключей: для выполнения как прямого, так и обратного криптографического преобразования (шифрование/расшифровывание, вычисление MAC/проверка MAC) необходимо использовать один и тот же ключ (либо же ключ для обратного преобразования легко вычисляется из ключа для прямого преобразования, и наоборот).

• Асимметричные ключи — ключи, используемые в асимметричных алгоритмах (шифрование, ЭЦП); вообще говоря, являются ключевой парой, поскольку состоят из двух ключей:

• Закрытый ключ (en:Private key) — ключ, известный только своему владельцу. Только сохранение пользователем в тайне своего закрытого ключа гарантирует невозможность подделки злоумышленником документа и цифровой подписи от имени заверяющего.

• Открытый ключ (en:Public key) — ключ, который может быть опубликован и используется для проверки подлинности подписанного документа, а также для предупреждения мошенничества со стороны заверяющего лица в виде отказа его от подписи документа. Открытый ключ подписи вычисляется, как значение некоторой функции от закрытого ключа, но знание открытого ключа не дает возможности определить закрытый ключ.

• Сеансовые (сессионные) ключи — ключи, вырабатываемые между двумя пользователями, обычно для защиты канала связи. Обычно сеансовым ключом является общий секрет — информация, которая вырабатывается на основе секретного ключа одной стороны и открытого ключа другой стороны. Существует несколько протоколов выработки сеансовых ключей и общих секретов, среди них, в частности, алгоритм Диффи — Хеллмана.

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

Схема Эль-Гамаля• Схема Эль-Гамаля (Elgamal) — криптосистема с

открытым ключом, основанная на трудности вычисления дискретных логарифмов в конечном поле. Криптосистема включает в себя алгоритм шифрования и алгоритм цифровой подписи.

• Схема Эль-Гамаля лежит в основе бывших стандартов электронной цифровой подписи в США (DSA) и России (ГОСТ Р 34.10-94).

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

Схема Эль-Гамаля• Генерируется случайное простое число p длины n

битов.• Выбирается случайный примитивный элемент g поля

Zp.

• Выбирается случайное целое число x такое, что• 1 < x < p-1.

• Вычисляется y = gx mod p.• Открытым ключом является тройка (p,g,y), закрытым

ключом — число x.

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

Схема Эль-Гамаля• Шифрование• Сообщение M шифруется следующим образом:• Выбирается сессионный ключ — случайное целое

число k такое, что 1 < k < p - 1• Вычисляются числа a = gk mod p и b = yk M mod p.• Пара чисел (a, b) является шифротекстом.• Нетрудно видеть, что длина шифротекста в схеме

Эль-Гамаля длиннее исходного сообщения M вдвое.

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

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

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

Сравнение некоторых алгоритмов

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

Эллиптическая криптография• Эллиптическая криптография — раздел криптографии,

который изучает асимметричные криптосистемы, основанные на эллиптических кривых над конечными полями.

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

• Использование эллиптических кривых для создания криптосистем было независимо предложено Нилом Коблицем (англ. Neal Koblitz) и Виктором Миллером (англ. Victor Miller) в 1985 году.

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

Определение• Эллиптической кривой называется множество точек

(x,y), удовлетворяющих уравнению:• y2+a1xy+a3y=x3+a2x2+a4x+a6

• Это уравнение может рассматриваться над произвольными полями и, в частности, над конечными полями, представляющими для криптографии особый интерес.

• В криптографии эллиптические кривые рассматриваются над двумя типами конечных полей: простыми полями нечётной характеристики

• (Zp, где p > 3 — простое число) и полями характеристики 2(GF(2m)).

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

Пример• 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
Page 16: НИТИ криптография лекция 2

Выводы• На основании всего вышесказанного выпишем основные достоинства и

недостатки эллиптической криптографии:• Основные плюсы:

• Гораздо меньшая длина ключа по сравнению к «классической» асимметричной криптографией.

• Скорость работы эллиптических алгоритмов гораздо выше, чем у классических. Это объясняется как размерами поля, так и применением более близкой для компьютеров структуры бинарного конечного поля.

• Из-за маленькой длины ключа и высокой скорости работы, алгоритмы асимметричной криптографии на эллиптических кривых могут использоваться в смарт-картах и других устройствах с ограниченными вычислительными ресурсами.

• Основные минусы:• Все плюсы эллиптической криптографии вытекают из одного конкретного факта:для задачи

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

• Эллиптическая криптография — это очень сложно. Но «эллиптика» — это огромное количество тонкостей, которые необходимо учесть. Начиная с выбора эллиптической кривой и заканчивая генерацией ключей. При массовом переходе на эллиптику скорее всего обязательно будет большое количество ошибок и уязвимостей, которые уже отработаны для более привычных методов.

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

Разделение секрета• В криптографии под разделением секрета (англ. Secret

sharing) понимают любой метод распределения секрета среди группы участников, каждому из которых достается доля секрета (англ. shadow). Секрет потом может воссоздать только коалиция участников.

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

Схема Шамира• Схема интерполяционных полиномов Лагранжа, схема разделения

секрета Шамира или просто схема Шамира — это схема разделения секрета, широко используемая на практике. Схема Шамира позволяет создать (t, n)-пороговое разделение секрета для любых t, n.

• Однако данная схема не защищает от мошенничества со стороны владельцев секретов, а также не защищает от мошенников, выдающих себя за тех, кто владеет секретом.

• Идея схемы заключается в том, что двух точек достаточно для задания прямой, трех точек — для задания параболы, четырех точек — для кубической параболы, и так далее. Чтобы задать многочлен степени k требуется k+1 точек.

• Если мы хотим разделить секрет таким образом, чтобы восстановить его могли только k человек, мы «прячем» его в формулу (k-1)-мерного многочлена. Восстановить этот многочлен можно по k точкам. Количество же различных точек многочлена не ограничено (на практике оно ограничивается размером числового поля, в котором ведутся расчёты).

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

Схема Шамира

Через две точки можно провести неограниченное число полиномов степени 2. Чтобы выбрать из них единственный — нужна третья точка. Данные графики приведены только для иллюстрации идеи — в схеме Шамира используется конечное поле, полиномы над которым сложно представить на графике

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

Пример• Пусть нужно разделить секрет «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

Пример• Теперь вычисляем 5 конкретных точек:

После этого секреты (вместе с их номером, числом и степенью многочлена ) раздаются сторонам. Случайные коэффициенты и сам секрет «забываются».

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

Пример• Теперь любые 3 участника смогут восстановить

многочлен и все его коэффициенты, включая последний из них — разделённый секрет. Например, чтобы восстановить многочлен по трём долям им нужно будет решить систему:

Очевидно, что с меньшим числом известных секретов получится меньше уравнений и систему решить будет нельзя (даже полным перебором решений).

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

Пример• Построим интерполяционный многочлен Лагранжа:

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

Схема Блекли

Схема Блэкли в трех измерениях: каждая доля секрета — это плоскость, а секрет — это одна из координат точки пересечения плоскостей. Двух плоскостей недостаточно для определения точки пересечения.

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

Протоколы квантового распределения ключей

• с использованием ЭПР• B92 - использование двух неортогональных квантовых

состояний• BB84 - Протокол использует 4 квантовые состояния,

образующие 2 базиса, например поляризационные состояния света.

Эти базисы являются взаимно несмещёнными, то есть выполняется условие

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

Описание• На первом этапе Алиса посылает отдельные фотоны Бобу в произвольно выбранном базисе, используя при

выборе генератор случайных чисел. Отдельные фотоны могут посылаться все вместе или один за другим, единственное ограничение состоит в том, чтобы Алиса и Боб смогли установить взаимно однозначное соответствие между посланным и принятым фотоном.

• Боб измеряет принимаемые фотоны в одном из двух базисов, также выбираемых произвольно (и независимо от выбора Алисы). На данном этапе в случае использования одинаковых базисов они получают абсолютно коррелированные результаты. Однако в случае использования различных базисов они получают некоррелированные результаты. В среднем Боб получает строку битов с 25 % ошибок, называемую первичным ключом. Эта ошибка настолько велика, что использование стандартных алгоритмов коррекции ошибок невозможно. Тем не менее, можно провести следующую процедуру, называемую согласованием базисов: для каждого переданного состояния Боб открыто сообщает, в каком базисе проводилось измерение кубита (но не сообщает результатов измерений).

• Алиса затем сообщает, в каких случаях её базис совпал с базисом Боба. Если базисы совпали, бит оставляют, если же нет, его игнорируют. В таком случае примерно 50 % данных выбрасывается. Оставшийся более короткий ключ называется «просеянным». В случае отсутствия подслушивания и шумов в канале связи Алиса и Боб будут теперь иметь полностью коррелированную строку случайных битов, которая будет в дальнейшем использоваться в схемах классической симметричной криптографии. Если же подслушивание имело место, то по величине ошибки в получившемся классическом канале связи Алиса и Боб могут оценить максимальное количество информации, доступное Еве. Существует оценка, что если ошибка в канале меньше приблизительно 11 %, то информация, доступная Еве, заведомо не превосходит взаимной информации между Алисой и Бобом, и секретная передача данных возможна.

• Факт использования открытого канала является частым явлением в криптографических протоколах. Этот канал не должен быть конфиденциальным, но должен быть аутентифицированным. То есть любой злоумышленник в принципе может получать из него информацию, но не может изменять её.

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

Статистические методы исследования случайных последовательностей