- •Министерство образования и науки Российской Федерации
- •В.И. Аверченков, м.Ю. Рытов, с.А. Шпичак
- •Брянск Издательство бгту
- •Isbn 978-5-89838-596-5
- •Редактор издательства т.И. Королева
- •Темплан 2011г., п. 57
- •1. Введение в криптографию 10
- •2. Стойкость криптографических систем 34
- •3. Принципы построения симметричных криптографических алгоритмов 61
- •4. Принципы построения асимметричных криптографических алгоритмов 98
- •5. Криптографические хэш-функции и электронно-цифровая подпись 133
- •6. Организация сетей засекреченной связи 160
- •7.Криптоанализ и перспективные направления в криптографии 183
- •Предисловие
- •1. Введение в криптографию
- •1.1. Краткая история развития криптографических методов.
- •1.2. Основные понятия криптографии
- •1.2.1. Термины и определения
- •1.2.2. Классификация шифров
- •1.2.3. Характер криптографической деятельности
- •Контрольные вопросы
- •2. Стойкость криптографических систем
- •2.1. Модели шифров и открытых текстов
- •2.1.1. Алгебраические модели шифров.
- •2.1.2. Вероятностные модели шифров.
- •2.1.3. Математические модели открытых сообщений.
- •2.2. Криптографическая стойкость шифров
- •2.2.1. Теоретико-информационный подход к оценке криптостойкости шифров
- •2.2.2. Практическая стойкость шифров.
- •2.3. Имитостойкость и помехоустойчивость шифров
- •2.3.1. Имитостойкость шифров. Имитация и подмена сообщения
- •2.3.2. Способы обеспечения имитостойкости
- •2.3.3. Помехостойкость шифров
- •2.3.4. Практические вопросы повышения надежности.
- •Контрольные вопросы
- •3. Принципы построения симметричных криптографических алгоритмов
- •3.1. Виды симметричных шифров. Особенности программной и аппаратной реализации.
- •3.2. Принципы построения блочных шифров
- •3.2.1. Базовые шифрующие преобразования
- •3.2.2. Сеть Файстеля
- •3.3. Современные блочные криптоалгоритмы
- •3.3.1. Основные параметры блочных криптоалгоритмов.
- •3.3.2. Алгоритм des
- •3.3.3. Блочный шифр tea
- •Var key:tLong2x2;
- •Var y,z,sum:longint; a:byte;
- •Inc(sum,Delta);
- •3.3.4. Международный алгоритм idea
- •3.3.5. Алгоритм aes (Rijndael)
- •InverseSubBytes(s);
- •InverseShiftRows(s);
- •InverseSubBytes(s) End;
- •3.4. Принципы построения поточных шифров
- •3.4.1. Синхронизация поточных шифрсистем
- •3.4.2. Структура поточных шифрсистем
- •3.4.3.Регистры сдвига с обратной связью
- •3.4.4. Алгоритм Берленкемпа-Месси
- •3.4.5. Усложнение линейных рекуррентных последовательностей
- •3.5. Современные поточные криптоалгоритмы
- •3.5.1. Алгоритм Гиффорда
- •3.5.2. Алгоритм a5
- •3.6. Режимы использования шифров
- •Контрольные вопросы
- •4. Принципы построения асимметричных криптографических алгоритмов
- •4.1. Математические основы асимметричной криптографии
- •4.1.1. Свойства операций
- •4.1.2. Функция Эйлера. Поле. Теоремы Эйлера - Лагранжа и Ферма
- •4.1.3. Конечные поля
- •4.1.4. Основные алгоритмы
- •Алгоритм разложения чисел на простые множители.
- •4.1.5. Алгоритмы нахождения нод и мультипликативного обратного по модулю
- •4.1.6. Китайская теорема об остатках
- •4.1.7. Символы Лежандра и Якоби. Извлечение корней
- •4.2. Примеры современных асимметричных шифров
- •4.2.1. Криптосистема rsa
- •4.2.2. Взаимосвязь компонентов rsa
- •Слабые моменты реализации rsa
- •4.2.3. Криптосистема Эль-Гамаля
- •4.2.4. Криптосистема Рабина
- •4.2.5. Рюкзачные криптосистемы
- •4.2.6. Шифрсистема Мак-Элиса
- •Контрольные вопросы
- •5. Криптографические хэш-функции и электронно-цифровая подпись
- •5.1. Криптографические хэш-функции
- •5.1.1. Блочно-итерационные и шаговые функции
- •5.1.2. Ключевые функции хэширования
- •5.1.3 Бесключевые функции хэширования
- •5.1.4. Схемы использования ключевых и бесключевых функций
- •5.2. Электронно-цифровая подпись
- •5.2.1. Задачи и особенности электронно-цифровой подписи
- •5.2.2. Асимметричные алгоритмы цифровой подписи на основе rsa
- •5.2.3. Алгоритм цифровой подписи Фиата – Фейге – Шамира
- •5.2.4. Алгоритм цифровой подписи Эль-Гамаля
- •5.2.5. Алгоритм цифровой подписи Шнорра
- •5.2.6. Алгоритм цифровой подписи Ниберга-Руппеля
- •5.2.7. Алгоритм цифровой подписи dsa
- •5.2.8. Симметричные (одноразовые) цифровые подписи
- •Контрольные вопросы
- •6. Организация сетей засекреченной связи
- •6.1. Протоколы распределения ключей
- •6.1.1. Передача ключей с использованием симметричного шифрования
- •6.1.2. Передача ключей с использованием асимметричного шифрования
- •6.1.3. Открытое распределение ключей
- •6.1.4. Предварительное распределение ключей
- •6.1.5. Схемы разделения секрета
- •6.1.6. Способы установления ключей для конференц-связи
- •6.2. Особенности использования вычислительной техники в криптографии
- •6.2.1. Методы применения шифрования данных в локальных вычислительных сетях
- •6.2.2. Обеспечение секретности данных при долгосрочном хранении.
- •6.2.4. Обеспечение секретности ключей при долгосрочном хранении
- •6.2.5. Защита от атак с использованием побочных каналов
- •7.1.2. Атаки на хэш-функции и коды аутентичности
- •7.1.3. Атаки на асимметричные криптосистемы
- •7.2. Перспективные направления в криптографии
- •7.2.1. Эллиптические кривые
- •7.2.2. Эллиптические кривые над конечными полями
- •7.2.3. Алгоритм цифровой подписи ec-dsa
- •7.2.4. Квантовая криптография
- •Контрольные вопросы
- •Приложение
- •Заключение
- •Список использованной и рекомендуемой литературы
- •Учебное издание
- •Аверченков Владимир Иванович Рытов Михаил Юрьевич Шпичак Сергей Александрович
7.2.2. Эллиптические кривые над конечными полями
Количество Fq-рациональных точек над эллиптической кривой конечно. Обозначим его #E(Fq). Ожидаемое число точек кривой близко к q + 1 и можно положить
#E(Fq) + q + 1 – t,
где «дефект» t называется следом отображения Фробениуса в q.
Теорема Хассе. След отображения Фробениуса удовлетворяет неравенству
Есть два частных случая криптографически непригодных эллиптических кривых:
- Кривая E(Fq) называется аномальной, если ее след Фробениуса равен 1, тот есть
#E(Fq) = q. Эта кривая особенно неудобна, когда q – простое число.
- Кривая E(Fq) называется суперсингулярной, если характеристика p поля Fp делит след отображения Фробениуса t. Таких кривых также следует избегать в криптографии.
Выбирая кривую для шифрования, нужно стремиться к тому, чтобы число ее точек делилось на достаточно большое простое число. В связи с этим необходимо научиться вычислять порядок группы. Порядок произвольной группы E(Fq) над любым полем вычисляется за полиномиальное время.
Информация о порядке группы также существенна для оценки стойкости протокола, основанного на соответствующей кривой.
Одним из достоинств эллиптических кривых является то, что они доставляют большое число возможных групп. Можно менять как основное поле, так и коэффициенты уравнения кривой. Отыскать эллиптическую кривую с хорошими криптографическими свойствами для создания безопасного протокола достаточно легко.
Как правило реализация криптографичеких систем, основанных на эллиптической кривой, базируется на поле , чья характеристика равна 2, или на поле Fp с большим простым числом p.
Проективные координаты
Одна из проблем, возникающих при использовании формул группового закона как при большой, так и при четной характеристике поля, связана с необходимостью деления. Деление в конечном поле считается дорогой операцией, так как включает в себя некий вариант расширенного алгоритма Евклида, который хотя и имеет приблизительно ту же сложность, что и умножение, однако обычно не может быть реализован достаточно эффективно.
Во избежание операции деления применяют проективные координаты. При этом уравнение кривой записывается через три координаты (X, Y, Z) вместо двух (X, Y). Однако вместо стандартного варианта уравнения кривой используется уравнение вида
E: Y2 + a1XYZ + a3YZ4 = X3 + a2X2Z2 + a4XZ4 + a6Z6.
Точка на бесконечности здесь также имеет координаты (0, 1, 0), но переход от аффинных координат к проективным осуществляется по правилу
.
выбор таких координат обусловлен стремлением сделать арифметические операции более эффективными.
Сжатие точек
Во многих криптографических протоколах возникает необходимость хранить в памяти или передавать по сети отдельные точки эллиптической кривой. В аффинных координатах это можно сделать при помощи двух элементов поля: координат x и y. Однако экономнее применять так называемую технику сжатия точек.
Метод сжатия точек работает благодаря тому, что уравнение кривой в аффинных координатах при фиксированном значении x превращается в квадратно уравнение относительно координаты y. Значит, вместо двух координат для идентификации точки кривой можно хранить в памяти компьютера только координату x и еще некий двоичный параметр b, сообщающий о том, какое именно значение координаты y нужно брать.
Кривые над полем характеристики p > 3.
Пусть основное поле K = Fq с q = pn, где p > 3 – простое число и .
Уравнение кривой над таким полем можно представить в виде короткой формы Вейерштрасса
E: Y2 = X3 + aX + b.
Ее дискриминант равен Δ = – 16(4a3 + 27b2), а j-инвариант – j(E) = – 1728(4a)3/ Δ.
Формулы группового закона: – P1 = (x1, y1) и, если P3(x3, y3) = P1 + P2 O, то координаты x3, y3 вычисляются так:
где при x1 x2
а при x1 = x2, y1 0
В проективных координатах формулы сложения точек эллиптической кривой, заданной уравнением
E: Y2 = X3 + aXZ2 + bZ6,
над полем характеристики p > 3 выглядят как
где тройка координат вычисляется последовательно по правилу:
здесь нет ни одной операции деления, кроме деления на 2, которое легко заменяется умножением на заранее вычисленное число 2–1(mod p).
Удвоение точек упрощается с помощью формул
Сжатие точек эллиптической кривой над полем характеристики p > 3.
Если p > 2, то квадратные корни β из элемента α Fp представляются натуральными числами разной четности из промежутка 1, …, p – 1, поскольку
– β = p – β (mod p).
Таким образом в качестве параметра b можно выбрать четность y координаты соответствующей точки. Полная информация о координатах точки по паре (x, b) осуществляется следующим образом. Сначала вычисляется
а затем переменной y присваивают значение β, если четность β совпадает с четностью b, и p – β, когда четности разные. Если же оказывается, что β = 0, то, не обращая внимания на параметр b, можно положить y = 0.
Не путать параметр четности b с коэффициентом кривой b.
Эллиптические группы
Эллиптическая группа по модулю p определяется следующим образом. Выбираются два неотрицательных числа a и b, которые меньше p и удовлетворяют условию
4a3 + 27b2 (mod p) 0 (кривая не аномальная и не суперсингулярная).
Тогда Ep(a, b) обозначает эллиптическую группу по модулю p, элементами которой (x, y) являются пары неотрицательных целых чисел, которые меньше p и удовлетворяют условию
y2 ≡ x3 + ax + b (mod p)
вместе с точкой в бесконечности O.
Пример.
p = 23. Рассмотрим эллиптическую кривую y2 = x3 + x + 1. В этом случае a = b = 1 и мы имеем 4 13 + 27 12 (mod 23) = 8 0, что удовлетворяет условиям эллиптической группы по модулю 23.
Для эллиптической группы рассматриваются только целые значения от (0, 0) до (p, p) в квадранте неотрицательных чисел, удовлетворяющих уравнению по модулю p.
В общем случае список таких точек (см. табл.) составляется по следующим правилам.
1. Для каждого такого значения x, что , вычисляется x3 + ax + b (mod p).
2. Для каждого из полученных на предыдущем шаге значений выясняется, имеет ли это значение квадратный корень по модулю p (вычисляется символ Лежандра). Если нет, то в Ep(a, b) нет точек с этим значением x. Если же корень существует, имеется два значения y, соответствующих операции извлечения квадратного корня (исключением является случай, когда единственным таким значением оказывается y = 0). Эти значения (x, y) и будут точками Ep(a, b).
Таблица 15. Точки на эллиптической кривой E23(1, 1)
(0, 1) |
(1, 7) |
(3, 10) |
(4, 0) |
(5, 4) |
(6, 4) |
(7, 11) |
(0, 22) |
(1, 16) |
(3, 13) |
O |
(5, 19) |
(6, 19) |
(7, 12) |
(9, 7) |
(11, 3) |
(12, 4) |
(13, 7) |
(17, 3) |
(18, 3) |
(19, 5) |
(9, 16) |
(11, 20) |
(12, 19) |
(13, 16) |
(17, 20) |
(18, 20) |
(19, 18) |
Пример. Сложение и удвоение точек данной группы. P = (3, 10), Q = (9, 7).
Сложение:
Удвоение:
Умножение определяется как повторное применение операции сложения
[4]P = P + P + P + P.
Кривые над полем характеристики 2
Пусть основное поле K = Fq с q = 2n при . В этом случае j-инвариант кривой вычисляется по формуле Условие j(E) = 0, то есть a1 = 0, в характеристике 2 равносильно суперсингулярности кривой E, а такие кривые в криптографии не используются поэтому полагаем что j(E) 0.
В этих предположениях представитель любого класса изоморфизма эллиптических кривых над Fq записывается уравнением
E: Y2 + XY = X3 + a2X2 + a6,
где и Здесь γ – фиксированный элемент поля Fq, удовлетворяющий соотношению: .
Формулы группового закона: – P1 = (x1, y1 – x1) если P3(x3, y3) = P1 + P2 O, то
где при x1 x2
а при x1 = x2 0
В проективных координатах формулы сложения точек эллиптической кривой, заданной уравнением
E: Y2 + XYZ = X3 + a2X2Z4 + a6Z6,
над полем характеристики p = 2 выглядят как
где тройка координат вычисляется последовательно по правилу:
Координаты удвоенной точки определяются по правилу:
Сжатие точек эллиптической кривой над полем характеристики 2.
Дана точка P(x, y) на эллиптической кривой. Если y = 0, то можно положить b = 0. В противном случае вычисляют z = y / x и присваивают переменной b самый младший двоичный разряд числа z. Для восстановления y по данной паре (x, b) в случае x 0 вычисляют
и обозначают через β одно из решений уравнения z2 + z = α.
Если наименьший двоичный разряд числа β совпадает с b, то y = xβ. В противном случае y = x(β – 1).