Моделирование и анализ аппаратных реализаций криптографических алгоритмов на основе эллиптических кривых Домаев Роман Михайлович Научный руководитель:

Презентация:



Advertisements
Похожие презентации
ОПРЕДЕЛЕНИЕ ПОРЯДКА ГРУППЫ ДИВИЗОРОВ ГИПЕРЭЛЛИПТИЧЕСКОЙ КРИВОЙ Авторы: Долгов В.И., Неласая А.В., Зайцев С.А. Докладчик: Неласая Анна Викторовна Кафедра.
Advertisements

Диссертационная работа на тему: ПРОТОКОЛЫ КОЛЛЕКТИВНОЙ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ НАД ЭЛЛИПТИЧЕСКИМИ КРИВЫМИ Цели: анализ и разработка механизмов противодействия.
Криптосистемы с открытым ключем
Разработка и исследование алгоритмов алгебраического криптоанализа Маро Е.А. Руководитель: д.т.н., профессор Бабенко Л.К. Факультет Информационной Безопасности.
Модуль 2. Математичні основи криптографії 1. Лекция 6 Криптография с использованием эллиптических кривых 1. Основные понятия 2. Способы использования.
ОЦЕНКА КРИПТОСТОЙКОСТИ ШИФРОВ, ИХ ПРОГРАММНО- АППАРАТНЫХ РЕАЛИЗАЦИЙ И ТЕХНИКО-ЭКОНОМИЧЕСКИХ ПОКАЗАТЕЛЕЙ Борисов В.А. КАСК – филиал ФГБОУ ВПО РАНХ и ГС.
Устройство для вычисления скалярного произведения векторов с коррекцией ошибок на базе системы остаточных классов Авторы: Соловьев Р.А. (докладчик) Д.В.
Алгоритмы шифрования Развитие и перспективы 15 июня 2008 г. 4 курс Технологии программирования.
Анализ слепых цифровых подписей на основе дискретного логарифмирования Фаль Алексей Михайлович, ведущий научный сотрудник Институт кибернетики им. В.М.
Спектральный анализ идентификации изображений в мультимедиа-контенте Выполнил Шебашов А. Ю.
Криптографические свойства блочных шифров регистрового типа, построенных на основе обобщения раундовой функции Фейстеля Исполнитель: студентка гр. Б10-04.
ЕДИНЫЙ ПОДХОД К УСОВЕРШЕНСТВОВАНИЮ ИЗВЕСТНЫХ ФУНКЦИЙ ХЭШИРОВАНИЯ Хасанов П.Ф., Ахмедова О.П.
Асимметричная криптография. Проблемы и идеи. Проблемы, связанные с использованием симметричных шифров Симметричные алгоритмы обеспечивают эффективное.
АЛГОРИТМ RSA Шифрование с открытым ключом. Содержание Симметричный шифр Ассиметричный шифр Виды ассиметричных шифров Алгоритм RSA Алгоритм RSA Теоретические.
Использование модулярной арифметики в алгоритме гомоморфного шифрования Выполнила: Чечулина Дарья Научный руководитель: Кренделев С. Ф. Лаборатория современных.
Применение теории кодирования в криптографии Лось Антон Васильевич.
ХАРАКТЕР И ИСТОРИЯ КРИПТОГРАФИЧЕСКОЙ ДЕЯТЕЛЬНОСТИ. КОМПОЗИЦИИ, МОДЕЛИ И СИНТЕЗ ШИФРОВ. Борисов В.А. КАСК – филиал ФГБОУ ВПО РАНХ и ГС Красноармейск 2011.
Выполнил: Скрябин Иван, 513 Научный руководитель: Сахин Ю.Х. Операции поддержки алгоритмов шифрования с открытым ключом и их реализация в микропроцессоре.
Криптография: алгоритм RSA
Моделирование поведения взаимодействующих агентов в среде с ограничениями Юданов А.А., студент 525 гр. Научный руководитель: к.ф.-м.н. Бордаченкова Е.А.
Транксрипт:

Моделирование и анализ аппаратных реализаций криптографических алгоритмов на основе эллиптических кривых Домаев Роман Михайлович Научный руководитель: старший преподаватель АСТАПЕНКО Г. Ф.

Актуальность 1. Широкое распространение получает электронный документооборот, неотъемлемой часть которого являются процессы аутентификации, несимметричного шифрования и цифровой подписи. 2. Вышедший в 2011 году пред стандарт СТБ П регламентирует процессы выработки и проверки цифровой подписи, а также транспорта ключа.

Актуальность 3. Для данного пред стандарта требуется апробация его реализации, а также оценка криптостойкости (математической и физической) по отношению к различного рода атакам. 4. Физическая криптостойкость – эта противодействие анализу реализаций алгоритмов по побочным каналам, а также внедряемым дефектам. 5. Для разработки контрмер против внедряемых дефектов необходимо исследовать и разработать модели дефектов.

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

Задачи 1. Программно реализовать алгоритм несимметричной шифрации криптосистемы на эллиптических кривых (СТБ , ГОСТ Р ) a)Реализовать арифметику в группе точек на эллиптической кривой; b)Реализовать арифметику больших чисел над конечным полем; c)Оценка быстродействия предложенных реализаций. 2. Исследовать и оценить уязвимость предложенных реализаций по отношению к атакам с внедрением дефектов 3. Предложить и разработать контрмеры, повышающие стойкость данных алгоритмов

Эллиптическая кривая

Групповой закон

Проблема дискретного логарифмирования

Использование скалярного произведения kP Несимметричное шифрование Электронная цифровая подпись (ЭЦП) Генерация сессионного ключа

Типичная схема процесса цифровой подписи Выбор параметров ЭК Генерация пары открытый-закрытый ключ Выполнение операции kP Провереки

Целевые криптосистемы СТБ П ГОСТ Р Два данных стандарта регламентируют способ формирования пары закрытый-открытый ключ выбор эллиптической кривой (над конечным полем по модулю большого простого числа размерности 256 бит) выбор функции хэш-преобразования инфраструктуру открытого ключа

Алгоритмическая часть Арифметика в группе точек Нахождение обратного элемента Сумма двух элементов Скалярное произведение Арифметика больших чисел в конечном поле сложение вычитание умножение инвертирование

Арифметика больших чисел в конечном поле Вычитание Сложение -Переносы между словами -Сохранение в начальном поле

Арифметика больших чисел в конечном поле Перемножение двух больших чисел Умножение по модулю Редукция

Перемножение двух больших чисел Реализован метод Каратсубы-Офмана Идея: (1) (2) (3)

Перемножение двух больших чисел Фактическое представление 256-битного числа

Редукция Для уменьшения вычислительной сложности при редуцировании выбрано простое число особого вида: Одно из так называемых чисел Мерсенна

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

Редукция Для используемого простого числа результат редукции B находится по формуле: где

Арифметика больших чисел в конечном поле Инвертирование Вычитание Сложение

Инвертирование Для поиска обратного элемента в поле простого числа используется расширенный алгоритм Евклида (позволяющий найти x и y, таки, что ax + by = d, где d = НОД(x,y)). При реализации, был использован улучшенный алгоритм, позволяющий избежать дорогостоящих операций деления.

Инвертирование Бинарный алгоритм Евклида

Арифметика в группе точек Сумма двух элементов Input: простое p > 3; коэффициенты a, b для эллиптической кривой E: y 2 = x 3 + ax + b modp; точки P 0 = (x 0, y 0 ) и P 1 = (x 1, y 1 ) на E. Output: точка P 2 := P 0 + P 1 1. If P 0 = O then output P 2 P 1 and stop 2. If P 1 = O then output P 2 P 0 and stop 3. If x 0 x 1 then 3.1 set (y 0 – y 1 ) / (x 0 – x 1 ) mod p 3.2 перейти к 7 4. If y 0 y 1 then output P 2 O and stop 5. If y 1 = 0 then output P 2 O and stop 6 Set (3 + a) / (2y 1 ) mod p 7. Set x 2 2 – x 0 – x 1 mod p 8. Set y 2 (x 1 – x 2 ) – y 1 mod p Output P 2 (x 2, y 2 ) Нахождение обратного элемента Input: : простое p > 3, P 0 = (x 0, y 0 ) на E. Output: точка P 1 := - P 0 Output P 1 (x 0, -y 0 )

Арифметика в группе точек Скалярное произведение Input целое число n и точка P на эллиптической кривой. Output: точка на эллиптической кривой nP 1. If n = 0 then output O and stop. 2. Пусть hl hl–1...h1 h0 есть двоичное представление 3n, где наибольший значащий бит hl есть 1. Пусть nl nl–1... n1 n0 есть двоичное представление n. 3. S Q. 4. Для i от l – 1 до 1 выполнять 4.1 Set S 2S 4.2 If hi = 1 and ni = 0 then compute S S + Q 4.3 If hi = 0 and ni = 1 then compute S S - Q Output S

Оценка эффективности С использование библиотеки NTL Собственная реализация Собственная реализация / NTL,% Операция Длительность выполнения, мкс Операция Длительность выполнения, мкс Скалярное умножение точки 628,1 Скалярное умножение точки в аффинных координатах 18986,03022,8 Скалярное умножение в проективных координатах 10543,81678,7

Оценка эффективности Операция Длительность выполнения, мкс Собственная реализация / NTL,% С использование библиотеки NTL Собственная реализация Умножение в конечном поле 1,8832,81744,7 Сложение в конечном поле 0,631,41223,8 Вычитание в конечном поле 0,621,46235,5 Инвертирование 0,8445,35399,3

Размер объектного кода С использование библиотеки NTL Собственная реализация Размер объектного кода, КБ

Поиск уязвимостей ECC является восприимчивой к атакам дефекта (форсирование бита, переключение бита, безопасная ошибка) ECC проявляет дополнительные слабости против ошибок, которые эксплуатируют специфические свойства ECC области Изменения в базовой точке Изменения в основном поле (изменение полинома в поле) Изменения в параметрах кривой Все это позволяет атакующему извлекать (по меньшей мере часть) скалярного умножителя умножения точек

Атака с изменением знака (The Sign Change Attack) Одним из простых, но в тоже время весьма мощным способом защиты от атак с внедрением ошибок, является проверка на сохранении точки на эллиптической кривой. Однако такой проверкой невозможно обнаружить SCA.

Первая модель атаки hi = 1 and ni = 0 hi = 0 and ni = 1 S S - Q S S + Q hi = 0 and ni = 0 hi = 1 and ni = 1

Результат атаки k = 1 * * * 0 1 * * * * * * 0 * 0 * 1 *

Вторая модель атаки hi = 1 and ni = 0 hi = 0 and ni = 1 S S - Q S S + Q hi = 0 and ni = 0 hi = 1 and ni = 1

Результат атаки k =

Атака с изменением знака (The Sign Change Attack) В дальнейшем по набору ошибочных результатов (количество которых рассчитывается по формуле: где m – параметр, который в моем случае равняется 1, n – размер ключа в битах (256 бит) ). Таким образом в моем случае с = 2304 реализаций. Перебирая возможные случаи ошибок с вероятностью ½ можно восстановить ключ.

Контрмеры Двукратный пересчет Параллельный подсчет Контроль зависимостей Использование вспомогательной ЭК

Результаты Разработана реализация алгоритмов ECC на основе использования арифметики больших чисел с использование чисел Мерсенна. Предложена двухуровневая схема реализации метода Каратсубы –Офмана произведения больших чисел. Исследование уязвимости реализации по отношению к дефектам и выполнена оценка наиболее опасных из них. Предложена модель дефекта на основе атаки с изменением знака (SCA). Разработаны контрмеры против исследованных атак дефекта.

Спасибо за внимание!