Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Выбор параметров математического метода






 

При реализации криптосистемы на базе эллиптических кривых в первую очередь следует уделить внимание тщательному выбору параметров этой системы. В качестве параметров системы, во-первых следует рассмотреть непосредственно эллиптическую кривую. Следует выбрать кривую, которая будет использоваться не только на одном автомобиле, а потенциально на всех транспортных средствах, которые могли бы быть защищены с помощью устройства, разрабатываемом в данном проекте. Как и многие другие решения, принятые в данном проекте, выбор эллиптической кривой мы доверим профессионалам своего дела. Положительная сторона криптографии на эллиптических кривых – это то, что параметры системы не должны быть сгенерированы каждый раз для каждого нового устройства, одну и ту же эллиптическую кривую, если она достаточно надёжна, можно использовать сколько угодно раз. Данное условие стало причиной того, что существуют широко рекомендуемые параметры для алгоритмов на эллиптических кривых. Один из таких распространённых параметров будет использован в данной работе.

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

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

Рассмотрим распространённую эллиптическую кривую под названием curve25519. Данная эллиптическая кривая используется в большом количестве готовых систем. Это эллиптическая кривая и набор параметров к ней подобранных таким образом, чтобы обеспечить более высокое быстродействие (в среднем, 20–25 %) и избавиться от некоторых проблем с безопасностью у традиционного ECDH.

Кривая curve25519 – это кривая Монтгомери над полем вычетов по модулю простого числа 2255 − 19, что и дало название схеме и с использованием базовой точки x = 9. Схема использует точки в сжатой форме, то есть при произведении вычислений используются только X координаты, позволяя таким образом использовать алгоритм «Лестница Монтгомери», который делает умножение точек за фиксированное время, избавляя нас от атак по времени.

Curve25519 используется как обмен ключами по умолчанию в OpenSSH, I2p, Tor, Tox, операционной системе IOS. Данная эллиптическая кривая очень выгодна за счёт своей простоты в реализации алгоритмов с ней и высокой скорости работы последних. Чтобы сгенерировать новую ключевую пару, алгоритм подает на вход схеме любые 32 случайных байта, которые будут закрытым ключом. Из них мы получаем 32 байта открытого ключа. Затем, как обычно, обмениваемся открытыми ключами и считаем общий. Насколько именно она быстрее классического ECDH с 256-битными кривыми, зависит от реализации. Использование данной кривой выгодно за счёт устойчивости к атакам по времени и за счёт выгодной возможности использовать любые 32байтные массивы в качестве закрытых ключей.

3.2.2 Выбор модуля конечного поля системы. Использование рекомендуемой эллиптической кривой диктует выбор остальных параметров системы согласно рекомендациям. Выбранная в предыдущем пункте эллиптическая кривая curve25519 поставляется с рекомендуемым модулем поля (2255-19). Библиотека на языке си, содержащая реализацию операций в поле эллиптической кривой скрывает эти константы от программиста. При проектировании систем на базе эллиптических кривых стоит придерживаться следующего правила. Количество бит шифруемого сообщения должен быть как минимум в два раза меньше, чем количество битовый размер поля эллиптической кривой. В данной работе используется эллиптическая кривая с размером поля в 255 бит. Следовательно, размер переменной, инициирующей процедуру аутентификации, должен быть порядка 127 бит. Что достаточно для надёжности системы.

3.2.3 Выбор библиотеки для операций над эллиптическими кривыми. Опираясь на сделанный выбор эллиптической кривой, следует выбрать библиотеку, реализующую операции над эллиптическими кривыми. В данной работе остановим свой выбор на библиотеке μ NaCl, которая является реализацией библиотеки NaCl – распространённой библиотеки с множеством криптографических функций. Библиотека μ NaCl адаптирована для использования на микропроцессорных устройствах. В частности в данной библиотеке есть модуль AvrNaCl – специально адаптированная библиотека для использования на микроконтроллерах семейства Atmel. В данной библиотеке реализованы операции над эллиптическими кривыми, необходимые в данной работе. Наиболее интересующая нас операция – это скалярное умножение в поле эллиптической кривой curve25519. Выбранная библиотека является хорошо протестированной и надёжной библиотекой, хорошо зарекомендовала себя как качественная и быстрая реализация алгоритмов криптографии на языке программирования си.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.