Главная страница
Навигация по странице:

  • Суперсингулярные кривые.

  • Несуперсингулярные кривые.

  • Проективные координаты.

  • 2.1.3 Скалярное умножение на несуперсингулярных кривых

  • Метод Монтгомери для несуперсингулярных кривых.

  • Метод Монтгомери в проективных координатах.

  • Метод Лопеса-Дохаба использования проективных координат

  • 2.2 Протоколы на эллиптических кривых 2.2.1 Выбор точки и размещение данных

  • 2.2.2 Распределение ключей

  • Протокол Диффи-Хеллмана

  • Протокол Менезеса-Кью-Венстоуна (MQV – протокол)

  • 2.2.3 Криптосистемы Эль-Гамаля

  • 2.2.4 Протоколы цифровой подписи Электронная цифровая подпись

  • 2.2.5 Электронная подпись Эль-Гамаля с возвратом сообщения – схема Nyberg-Rueppel.

  • Глава 3. Реализация и тестирование алгоритма 3.1 Протокол Дифии-Хеллмана

  • Эллиптическая криптография. Ильичев Д.О._МОп-1601б. Д. О. Ильичев (И. О. Фамилия)


    Скачать 1.03 Mb.
    НазваниеД. О. Ильичев (И. О. Фамилия)
    АнкорЭллиптическая криптография
    Дата10.12.2021
    Размер1.03 Mb.
    Формат файлаpdf
    Имя файлаИльичев Д.О._МОп-1601б.pdf
    ТипДокументы
    #298815
    страница2 из 3
    1   2   3
    Глава 2. Эллиптические кривые в криптографии
    2.1 Алгоритмы на эллиптических кривых
    2.1.1 Эллиптические кривые над полем GF(
    )
    В основном криптография использует кривые над нечетным полем, но часто используются кривые над полем GF(
    ). Ниже на рисунке 2.1 показан алгоритм сложения и удвоения эллиптических кривых
    Рисунок 2.1 - Алгоритм сложения и удвоения точек на кривых
    Суперсингулярные кривые. Основной отличительной особенностью этих кривых в сравнении с несуперсингулярными, это легкость вычисления порядка кривой. Чтобы использовать эти кривые не обязательно использовать сложный алгоритм вычисления порядка кривой.
    Суперсингулярную кривую можно описать следующим уравнением
    (
    )
    (2.1)
    С помощью замены переменных уравнение можно привести к виду
    (
    )
    (2.2)
    Если из этого уравнения извлекается корень третьей степени, то заменив переменную
    (
    )
    уравнение переписывается следующим образом

    17
    (
    )
    (2.3)
    Несуперсингулярные кривые. Уравнение таких кривых представляется в следующем виде
    (2.4)
    С заменой переменных
    , где приводит эту кривую к виду
    (2.5)
    2.1.2 Скалярное умножение на суперсингулярных кривых
    Скалярное умножение точки - это основа в арифметике эллиптических кривых. Лучше всего использовать балансные системы счисления.
    Алгоритмической особенностью этих кривых является более быстрая работа с удвоением точки чем с умножением. Оценка сложности складывается за счет операций сложения точек. В аддитивных цепочках можно ускорить вычисления, когда точка P не задается заранее. Если же P известна заранее придется использовать другие алгоритмы, однако в них использование суперсингулярных кривых не принесет особой пользы.
    Проективные координаты. При увеличении количества умножений в четыре с половиной раза можно получить более быстрые вычисления, не смотря на то что время преобразования будет в пять раз больше. После этого можно переходить к проективным координатам.
    Подстановкой в уравнения эллиптических кривых Ep1,
    Ep2, Ep3 получим однородные уравнения относительно X, Y
    (2.6)
    (2.7)

    18
    (2.8)
    Проективные координаты (X, Y, Y) и (X, Y, Z) эквивалентны при условии что существует такое число t множества K при котором выполняется условие
    . Класс равного соотношения обозначим (X:
    Y: Z). Все классы этих трех координат и является проективными координатами.
    Эллиптическая кривая теперь является множеством проективных точек на плоскости. Точка которая лежит на прямой будет единственной нулевой точкой с координатами х = 0, y = 1, z = 0.
    Пусть
    (
    ) и
    (
    )
    . Представим, что
    . Для точки (
    ) необходимо применить формулу сложения, после применения которых, учитывая что получим
    (
    )
    (2.9)
    Где
    . Из этого следует находим
    (
    ), где
    (
    )
    (2.10)
    2.1.3 Скалярное умножение на несуперсингулярных кривых
    Заменив алгоритмы для сложения и удвоения точек можно использовать предыдущие алгоритмы на суперсингулярных кривых для несуперсингулярных.
    Метод Монтгомери для несуперсингулярных кривых. Криптографы
    Лопес и Дахаб создатели этого метода. Для рассмотрения используется кривая
    . Вычисления производятся после каждого шага где
    . По формулам сложения

    19 и удвоения точек используемые для несуперсингулярных кривых, находим обновленные координаты точек
    (
    )
    (
    )
    .(2.11)
    (
    )
    (2.12)
    При
    =0 результатом удвоения точек получается бесконечно удаленная точка.
    Метод Монтгомери в проективных координатах. Этот метод использует координаты точек представляя их
    ⁄ . Вычисление точки 2Pi происходит по формуле
    (
    )
    (
    )
    (2.13) где
    Нахождение координат точки происходит по формуле.
    (
    )
    (
    )
    (
    )
    (2.14)
    где
    (
    )(
    ),
    (
    )
    Метод Лопеса-Дохаба использования проективных координат. Чтобы уменьшить количество операций для проективных координат нашлось решение приравнивать координатным переменным (X:Y:Z) аффинную точку
    (
    ). Тогда в проективных координатах кривая представляется в виде
    (2.15)
    Смешанное проективно-аффинское сложение точек выполняется с помощью девяти умножений, девяти сложений и пяти возведений в квадрат.

    20
    Как и в суперсингулярных кривых, этот метод можно использовать с любой вариацией метода аддитивных цепочек при которых строятся линейные цепочки. P сразу вычисляется в аффинных координатах, потому что в конце придется переводить в афиинные координты, затрачивая по два деления на точку.
    При k содержащей u(k) удвоений и s(k) сложений, трудность вычислений равна
    ( ) ( ) ( ), а в алгоритме Коблица (если b=1)
    ( ) ( ) ( ).
    2.2 Протоколы на эллиптических кривых
    2.2.1 Выбор точки и размещение данных
    Криптография использует точки эллиптической кривой для особенных точек. Криптографическая задача решает выбирать случайную точку или брать точку на координатах которой находятся данные. Значение x можно получить как часть бинарного вектора, значение y координаты определяется с помощью уравнения кривой. Это связано с тем что нужно решить квадратное уравнение.
    Сперва нужно выбрать точку на эллиптической кривой. Для суперсингулярных кривых алгоритм показан на рисунке 2.2.
    Рисунок 2.2 – Алгоритм суперсингулярных кривых
    Алгоритм для несуперсингулярной кривой показан на рисунке 2.3

    21
    Рисунок 2.2 - Алгоритм несуперсингулярных кривых
    2.2.2 Распределение ключей
    Для примера используем несколько протоколов. Криптостойкость данных алгоритмов складывается за счет сложности вычисления дискретного логарифма и алгоритма Диффи-Хеллмана. Проблемы вычисления логарифма появляется когда известна группа циклов, известна определенного элемента и необходимо определить показатель x.
    Для групп точек эллиптической кривой проблема с использованием дискретного логарифма является определением числа k по известной точке P и точке Q, которая равна произведению этих чисел. Для эллиптических кривых не придумано полиномиальных алгоритмов решения, но существует решение для суперсингулярных кривых, который переводит эту проблему к
    DLP.
    Классической проблемой Диффи-Хеллмана является использование его алгоритма в мультипликативной группе поля. Суть этой проблемы в вычислении по элементам
    , и
    Протокол
    Диффи-Хеллмана.
    Вместо ключа классической криптосистемы можно взять случайную точку (x, y),
    Рассмотрим пример. E – это эллиптическая кривая и P – это точка этой кривой. Абонент А выбирает случайное число
    , вычисляет координаты точки и отправляет абоненту В. Абонент В делает тоже самое и отправляет абоненту А. Точка является общим ключом. Абонент

    22
    А вычисляет эту точку, умножая свой ключ на ключ полученный от абонента
    В, а В вычисляет, умножая свой ключ на полученный ключ абонента A.
    Благодаря тому что группа точек является абелевой, Результат не зависит от того в каком порядке буду происходить вычисления, тогда абоненты получат одинаковую точку (x,y) и могут использовать координату x как ключ одинаковой криптосистемы. Проблемой для сторонних людей будет в вычислении секретной точки, так как они не будут знать секретные ключи абонентов. В этом и заключается проблема Диффи-Хеллмана.
    Протокол Месси-Омуры. Это протокол, позволяющий передавать информацию по открытым каналам связи без передачи информации.
    Мультипликативный вариант.
    Протокол был описан к мультипликативной группе
    , где p это простое число. Абонент А прикрепляет к ящику свой ключ и отсылает его абоненту В. Абонент B получает посылку и прикрепляет к ящику свой ключ и отсылает его абоненту
    А. После этого абонент А открепляет свой ключ от ящика и снова отсылает его абоненту В. Абонент В, получив посылку открепляет свой ключ от ящика. Иногда вместо механических замков можно использовать электронные. Для этого необходимо выбрать большое простое число p.
    Абоненты А и В выбирают случайные числа и и вычисляют числа и
    , обратные по модулю
    ( ) ( -функция Эйлера)
    ( ( ))
    ( ( ))
    (2.16)
    Числа (
    ), (
    ) это секретные ключи. Для m при 0 , так как
    ( )
    ( )
    . Первый множитель равен 1 по теореме Эйлера.
    Аддитивный вариант. На эллиптической кривой находятся постоянные переменные, переменные перемножаются с точками кривой, по модулю ее порядка.
    Применив алгоритм преобразования вычислим

    23
    ( ). (2.17)
    Благодаря теореме сравнимости по модулю получаем
    Для всех точек этой кривой с порядком N выполняется свойство (
    )
    Можно вычислить Q=eP и R=dQ, используя e и d из формулы (2.17) и точку эллиптической кривой.
    В алгоритме, который использует алгебру эллиптических кривых, параметрами для системы используют уравнение кривой и поле, над которым она построена. По этому протоколу абонент А выбирает число и вычисляет по формуле (2.15) число
    . Абонент B выбирает свое число и вычисляет число
    Абонент А зашифровывает информацию в точку M и умножает на свое число и получает точку
    . Далее он отсылает ее B. Абонент В производит вычисления точки
    . Далее А расшифровывает свой замок и вычисляет точку и пересылает ее абоненту В. Абоненту B нужно снять шифровку с сообщения. Умножая точку А на свой ключ и найти
    . Сообщение m может выступать в качестве ключа симметричной криптосистемы.
    Протокол Менезеса-Кью-Венстоуна (MQV – протокол). Протоколы, которые рассматривались ранее имеют проблему, что посторонний человек сможет перехватить информацией при перехвате сообщение. Например, в протоколе Диффи-Хеллмана злоумышленник, назовем его абонентом С, сможет завладеть информацией, которую абоненту B посылает абонент А и заполучить закрытый ключ абонента B. Абонент B и абонент C владеют одинаковыми закрытыми ключами. Далее C сделает тоже самое для абонента
    А, после чего А и С имеют общий закрытый ключ. При осторожных действиях третьего абонента А и В не будут знать, что у них есть посредник.
    Для того чтобы этого не случилось необходима авторизация кратковременных ключей, для этого используются закрытые ключи. В алгоритме одноразовые ключи привязываются к многоразовым из-за этого

    24 злоумышленник не может перехватить информацию или сообщение. При использовании одноразового ключа становится невозможно использовать многоразовые ключи при передаче сообщения.
    ( ) (2.18)
    Константу k можно вычислять в модульной арифметике кольца так и Z.
    Поэтому существует два варианта решения этой задачи.
    Первый вариант реализует модульную арифметику целых чисел.
    Второй вариант реализует циклические свойства подгруппы точек эллиптической кривой.
    Если реализовывается модульная арифметика, то с числами можно выполнить некоторые математические действия, например, сложение или умножение, а если реализовывать арифметику эллиптической кривой, то числа можно умножать на точки эллиптической кривой.
    Оба варианта предопределяют что абоненты знают точку Р кривой порядка N, с которой происходят все вычисления.
    Открытые ключи абонента B известны абоненту А
    (
    )
    (
    )
    (2.19)
    Открытые ключи абонента А известны абоненту B
    (
    )
    (
    )
    (2.20)
    2.2.3 Криптосистемы Эль-Гамаля
    Протокол Диффи-Хеллмана можно рассмотреть в криптосистеме Эль -
    Гамаля на эллиптической кривой.
    Рассмотрим пример, при котором пользователь один хочет отправить сообщение пользователю два. Поэтому строим криптосистему Эль-Гамаля с математическими свойствами эллиптических кривых. Параметрами являются эллиптическая кривая и точка высшего порядка.

    25
    Пользователь А выбирает никому неизвестное число
    , вычисляет свой общедоступный ключ (E,P,Y), где
    Абонент B для передачи секретного сообщения m

    получает копию открытого ключа (E, N, P, Y);

    прикладывает сообщение в точку
    ( );

    задает случайное число
    ;

    вычисляет временный ключ
    ;

    вычисляет криптограмму;

    пересылает криптосистему абоненту А.
    Для того чтобы расшифровать сообщение пользователь А, применяет свой закрытый ключ ,вычисляя
    , далее то что получилось он прибавляет к
    , и получает точку M
    (2.21)
    Аналитик теперь знает чем является общедоступный ключ (E, P, Y) и криптосистема (
    ), чтобы найти точку М необходимо вычислить точку
    . Теперь необходимо перейти к решению алгоритма Диффи-Хеллмана, или проще говоря решить логарифмическую задачу. Использовать тот же рандомизатор не получится. При условии, что у аналитика получилось дешифровать криптосистему или вычислить значение точки M, аналитик может узнать и другие сообщения или информацию, которая была зашифрована с этим рандомизатором.
    2.2.4 Протоколы цифровой подписи
    Электронная цифровая подпись. Подпись в электронном документе – это некий цифровой код, который в зависимости от информации в сообщении, использованного ключа и задающегося рандомизатора меняется.
    Обозначим M, K, R, S – это группа сообщений, которые можно использовать, группа ключей для определенного шага, рандомизаторов и электронных подписей.

    26
    Ее можно записать в следующем виде
    ( )
    (2.22)
    При такой записи она является электронной подписью пары точек (m, h(m)), эти пары точек являются сообщением, которое готовится быть подписанным. Множество пар этих точек имеет некоторые криптографические свойства.

    Группа точек H имеет не такую большую мощностью, в сравнении с множеством
    : |
    | | | |
    |.

    Все элементы h группы точек H имеет огромное количество прообразов
    |
    | |
    ( )| |{ ( )
    }| (2.23)

    Если задать первую координату, то можно узнать элемент множества. Чтобы это сделать нужно узнать, чему равно h(m) первой координаты по вычислению числа хеш – функции. Вычислять первую координату по второй считается невозможным так как хеш-функция имеет свойство односторонности.

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

    Считается невозможным взять две группы чисел
    ( ) и (
    ), у которых координаты второго элемента совпадали бы.
    Электронная подпись сообщения h(m) с ключом подписи k осуществляет проверку возможности использования ключа проверки
    Проверяется расчеты предиката проверки
    (
    ), в нем
    - это группы ключей для проверки.
    Проверочный предикат для подписи с учетом возврата сообщения можно описать следующим образом

    27
    (
    ) {(
    ( ))
    }
    (2.24)
    В нем m’ – это информация для проведения подлинности подписи, а h’(m) хеш-функция информации. Отображение Sign (M, K, R) имеет несколько свойств, которые обеспечивают подлинность подписи.

    Отображение в одну сторону Sign(h(m), K, R) считается невозможным в плане вычисления ключа. Значение отображения s = Sign
    (h(m), k, r), такое что P (s, k’).

    Для цифровой подписи с известным заранее сообщением производим вычисления s = Sign(h(m), k, r), Р(s, k’), считается невозможным фальсифицировать сообщение m’ чтобы оно имело такое же цифровое значение. Одним словом, подделать подпись не получится.

    Считается невозможным подобрать два сообщения m и m’ с одинаковой электронной подписью т.е предикат проверки с заданным ключом будет удовлетворено k.

    При отсутствии информации о цифровой подписи нельзя узнать сообщение и ее значение под этим сообщением
    Признаки, описанные выше подкрепляются стойкой хеш-фукнцией, в которой имеются раннее упомянутые признаки и биективные преобразования.
    2.2.5 Электронная подпись Эль-Гамаля с возвратом сообщения – схема
    Nyberg-Rueppel.
    Этот алгоритм построен на проверке можно ли изъять «отпечаток» какого-то сообщения с помощью проверки подписи s, которую абонент получает при подписке документа используя ключ подписи k, рандомизатор r и главная задача проверить условие
    ( ) ( )
    (2.25) где m’ это сообщение, а h’(m) – это хеш-значение сообщения, которое берется из подписи на определенном ключе.

    28
    Рассмотрим пример. Y(F) сгруппированные точки кривой Y, P – стандартная точка общедоступного ключа, N – порядок этой точки, k – закрытый ключ того кто подписывает документ. Общедоступным ключом пользователя будет точка
    (2.26) e=h(m) – это хеш-функция h в сообщении.
    Последовательность вычислений электронной подписи такой.

    Берется случайная точка r, 0 ( )
    (2.27)

    Используем x координату точки R как целое число и вычисляем
    ( ) (2.28)
    ( ) (2.29)
    Если c равно нулю или d равно нулю, то мы возвращаемся к шагу с формулой
    2.25.
    В этом случае точки c и d являются подписью документа m, такого что h(m)=e.
    Для проверки не фальсифицирована ли хеш-функция h(m) выполняется следующее.

    Проверяется что

    Вычисляем
    (2.30)

    Используя x координату точки R’ в виде двоичной записи числа, вычисляем
    (
    )
    (2.31)

    29

    При совпадении значения точки e’ со значением хеш-функции последнее удостоверяется.

    30
    Глава 3. Реализация и тестирование алгоритма
    3.1 Протокол Дифии-Хеллмана
    Передача информации с помощью открытых каналов была большой проблемой. Для этой проблемы нашлось решение после того как появился алгоритм Диффи-Хеллмана. Этот алгоритм дал возможность пересылать сообщения без отправки каких-либо полезных сведений для расшифровки.
    Сам алгоритм позволяет пользователям обмениваться ключами без опасности перехвата информации.
    Криптографию с открытыми ключами предложили использовать
    Уитфилд Диффи и Мартин Хеллман.
    Они привнесли в криптографию понятие что можно использовать ключи шифрования и расшифрования — исключая возможность утечки информации закрытого ключа с помощью открытого ключа. Впервые этот алгоритм был представлен на Национальной компьютерной конференции
    1976 года.
    Ниже мы опишем его числовую реализацию.
    1   2   3


    написать администратору сайта