4.1 Материалы модуля
4.2 k-перестановки из n элементов
4.3 Урновые схемы и схемы раскладки по ящикам.
4.4 Подсчет отображений конечных множеств
4.5 Рекуррентные соотношения
4.1 Материалы модуля
4.2 k-перестановки из n элементов
4.3 Урновые схемы и схемы раскладки по ящикам.
4.4 Подсчет отображений конечных множеств
4.5 Рекуррентные соотношения
ПРОВЕРОЧНЫЕ РАБОТЫ по АЛГЕБРЕ
ДИДАКТИЧЕСКИЕ
МАТЕРИАЛЫ
http://matematika.advandcash.biz/proverochnie-raboti-po-algebre/
ПО АЛГЕБРЕ
И
НАЧАЛАМ АНАЛИЗА для 10 класса
стр. 138-150
Циклические коды. Проверочный и порождающий многочлены, критерий существования кода с заданным порождающим многочленом. Вид порождающей и проверочной матриц. Систематическое кодирование.
Граница Боуза—Чоудхури—Хоквингема.
Линейные коды. Определения. Порождающая и проверочная матрицы. Связь кодового расстояния с проверочной матрицей. Граница Варшамова—Гилберта. Систематическое кодирование. Декодирование по синдрому. Коды Хемминга.
Остаточный код. Граница Грайсмера—Соломона—Штиффлера.
Матрицы Адамара. Конструкции Сильвестра и Пэли. Коды на основе матриц Адамара.
Каскадные коды. Коды Форни: конструкция и простой алгоритм декодирования.
Similar to Use of eliptic curves for generating digital signature (20)
2. План доклада
• Эллиптические кривые: что это? (10 мин)
• Алгоритмы шифрования на эллиптических
кривых (краткий экскурс + пример
дешифровки) (10 мин)
• Эллиптические кривые с подобранными
параметрами (10 мин)
• Формирование ЭЦП (10 мин)
3. Эллиптические кривые
Эллиптическая кривая над полем K – это множество точек (x,y),
удовлетворяющих уравнению
𝑦2
+ 𝑎1 𝑥𝑦 + 𝑎3 𝑦 = 𝑥3
+ 𝑎2 𝑥2
+ 𝑎4 𝑥 + 𝑎6
вместе с точкой на бесконечности.
Эллиптическую кривую над полем вещественных чисел без особых
точек будем обозначать E(a,b).
Откуда a и b? Как узнать, есть ли особые точки?
4. Характеристикой поля K называется наименьшее ненулевое
натуральное число n, такое, что 𝑛 ∙ 1 = 0, если же такого n не
существует, то характеристика равна 0.
Если характеристика равна 2, то эллиптическая кривая с помощью
замены координат может быть приведена к виду 𝑦2 + 𝑦 = 𝑥3 + 𝑎𝑥 + 𝑏
Если характеристика равна 3, то эллиптическая кривая приводится к
виду 𝑦2
= 𝑥3
+ 𝑎2 𝑥2
+ 𝑎4 𝑥 + 𝑎6
Если характеристика поля не равна 2 или 3, то уравнение с помощью
замены координат приводится к канонической форме:
𝑦2 = 𝑥3 + 𝑎𝑥 + 𝑏 (*)
5. Задача: нужно иметь возможность найти касательную к точкам
эллиптической кривой, поэтому будем рассматривать только кривые без
особых точек.
Алгебраически это значит, что дискриминант Δ = −16(4𝑎3
+ 27𝑏2
) не
должен быть равен нулю.
Если кривая не имеет особых точек, то ее график имеет две части, если
дискриминант положителен, и одну – если отрицателен.
Пример:
Δ = 1728 Δ = −368
8. Группа точек эллиптической кривой
Пусть 𝐸 𝑎, 𝑏 эллиптическая кривая, заданная уравнением 𝑦2
= 𝑥3
+ 𝑎𝑥 + 𝑏,
над полем вещественных чисел. Выберем две произвольные точки на этой
кривой 𝑃 = 𝑥 𝑃, 𝑦 𝑃 , Q = 𝑥 𝑄, 𝑦 𝑄 ∈ 𝐸(𝑎, 𝑏). Рассмотрим множество точек
кривой 𝐸 𝑎, 𝑏 и точку 𝑂 – точку, удаленную на бесконечности. Потребуем,
чтобы сумма точек эллиптической кривой, лежащих на одной прямой являлась
нулем:
𝑃 + 𝑄 + 𝑅 = 𝑂
Определим точку 𝑂 как тождественный элемент по сложению («нулевой
элемент») группы точек.
Порядком точки P на эллиптической кривой 𝐸 𝑎, 𝑏 называется такое
минимальное число 𝑛 ∈ 𝑁, что:
𝑛𝑃 = 𝑃 + 𝑃 + … + 𝑃 = 𝑂
n
(**)
В случае, если такого n не существует, говорят о точке бесконечного порядка.
9. P и –P имеют одинаковые x-координаты, а их y координаты различаются
только знаком, т.е.:
− 𝑥, 𝑦 = (𝑥, −𝑦)
Из уравнения элиптической кривой (*) сразу следует, что (𝑥, −𝑦) – также
точка на 𝐸 𝑎, 𝑏 . Из (**) следует, что P + Q = -R. Найдем координаты –R.
Пусть дана 𝐸 𝑎, 𝑏 над полем K (чья характеристика не равна ни 2, ни 3) и
точки 𝑃 = 𝑥 𝑃, 𝑦 𝑃 , Q = 𝑥 𝑄, 𝑦 𝑄 ∈ 𝐸(𝑎, 𝑏). Допустим, что 𝑥 𝑃 ≠ 𝑥 𝑄. Тогда
координаты точки –R = P + Q выражаются следующим образом:
𝜆 =
𝑦 𝑃 − 𝑦 𝑄
𝑥 𝑃 − 𝑥 𝑄
𝑥−𝑅 = 𝜆2 − 𝑥 𝑃 − 𝑥 𝑄
𝑦−𝑅 = −𝑦 𝑃 + 𝜆(𝑥 𝑃 − 𝑥 𝑅)
10. Если 𝑥 𝑃 = 𝑥 𝑄, то возможны три варианта:
• Если 𝑦 𝑃 = −𝑦 𝑄, то сумма определена как 𝑂.
• Если 𝑥 𝑃 = 𝑥 𝑄 и 𝑦 𝑃 = 𝑦 𝑄 = 0, то R = P + P = 0
• Если 𝑥 𝑃 = 𝑥 𝑄 и 𝑦 𝑃 = 𝑦 𝑄 ≠ 0, то R = P + P = 2P = 𝑥 𝑅, 𝑦 𝑅 определяется как:
𝜆 =
3𝑥 𝑃
2
+𝑎
2𝑦 𝑃
𝑥−𝑅 = 𝜆2 − 2𝑥 𝑃
𝑦−𝑅 = −𝑦 𝑃 + 𝜆(𝑥 𝑃 − 𝑥 𝑅)
Для множества точек эллиптической кривой выполняются все аксиомы
группы: замкнутость, ассоциативность, существование нейтрального
элемента, существование обратного элемента.
Группа точек эллиптической кривой абелева.
12. Пример:
Найти порядок точки 𝑷 = (𝟐, 𝟑) на эллиптической кривой 𝑬 𝟎, 𝟏
Решение:
Кривая 𝐸 0,1 описывается уравнением 𝑦2 = 𝑥3 + 1.
1) Проверим, что точка P принадлежит этой кривой, для этого надо
проверить справедливость равенства 32
= 23
+ 1. Равенство выполняется,
следовательно 𝑃 ∈ 𝐸 0,1 .
2) Найдем точку 2P = P + P = (0,1)
3) Найдем точку 4P = 2(2P) = 2P + 2P = (0,-1)
4P = -2P, а следовательно 6P = 0. Поэтому порядок точки P может быть
равен 2, 3 или 6. Но 2P = (0,1) ≠ 𝑂, а если бы P имела порядок 3 , то 4P = P,
что неверно. Следовательно, P имеет порядок 6.
13. Эллиптические кривые над конечным полем.
Ранее были рассмотрены эллиптические кривые, определенные над
бесконечным полем вещественных чисел. Перенесем эти определения в
конечное поле ℤ 𝑝. Эллиптическую кривую над полем ℤ 𝑝 будем
обозначать как 𝐸 𝑝 𝑎, 𝑏 . Ее уравнение аналогично уравнению кривой над
полем действительных чисел:
𝑦2 ≡ 𝑥3 + 𝑎𝑥 + 𝑏 (𝑚𝑜𝑑 𝑝)
Параметрами кривой 𝐸 𝑝 𝑎, 𝑏 являются дискриминант Δ = 4𝑎3
+ 27𝑏2
,
который должен быть не сравним с p и инвариант
𝐽 𝐸 ≡ 1728
4𝑎3
4𝑎3 + 27𝑏2
(𝑚𝑜𝑑 𝑝)
Если 𝐽 𝐸 ∉ 0, 1728 , то параметры кривой a, b определяются по
формулам:
𝑎 ≡ 3𝑘 𝑚𝑜𝑑 𝑝 , 𝑏 ≡ 2𝑘 𝑚𝑜𝑑 𝑝 , где 𝑘 ≡
𝐽 𝐸
1728 − 𝐽 𝐸
(𝑚𝑜𝑑 𝑝)
14. Пример:
Эллиптическая кривая 𝒚 𝟐 = 𝒙 𝟑 − 𝟐𝒙 + 𝟓 над полем ℤ 𝟏𝟏
∗
.
Элементами этого поля являются числа от 0 до 10, все
операции выполняются по модулю 11. В качестве x мы
можем рассматривать все значения от 0 до 10, после
чего для каждого значения необходимо вычислить 𝑥3 −
2𝑥 + 5 mod 11 и, если это число квадратичный вычет,
вычислить квадратичный корень по модулю 11, пары
(𝑥, 𝑥3 − 2𝑥 + 5 𝑚𝑜𝑑 𝑛) и (𝑥, 𝑛 − 𝑥3 − 2𝑥 + 5 𝑚𝑜𝑑 𝑛)
будут являться точками на эллиптической кривой
𝐸11 −2,5 . Список всех точек приведен в таблице. Группа
включает в себя 14 точек, что соответствует теореме
Хассе.
Номер X Y
1 0 4
2 0 7
3 1 2
4 1 9
5 2 3
6 2 8
7 3 2
8 3 9
9 6 0
10 7 2
11 7 9
12 9 1
13 9 10
14 ⋈ ⋈
15. Пример:
Определим порядок точки G = (7,2) на кривой 𝐸11 −2,5 .
Для этого вычислим nG. Результаты вычислений представлены в
таблице ниже.
Порядок точки G равен 7.
Степени точки (7,2) 𝑛
на кривой 𝐸11 −2,5
n 1 2 3 4 5 6 7
X 7 0 9 9 0 7 ⋈
Y 2 7 1 10 4 9 ⋈
Примечание (теорема Хассе для оценки порядка группы точек
эллиптической кривой):
Пусть N – число точек эллиптической кривой, определенной над
конечным полем 𝐹𝑞, тогда 𝑁 − 𝑞 − 1 ≤ 2 𝑞
18. Вспомним:
Асимметричные криптосистемы
• http://tpl-it.wikispaces.com/Асимметричные%20криптосистемы
Алгоритм обмена ключами Диффи-Хеллмана:
• https://www.youtube.com/watch?v=vFjq9pID4-E
• http://www.securitylab.ru/analytics/478912.php
С помощью эллиптических кривых могут быть реализованы многие известные
протоколы с открытым ключом. Любая криптосистема, основанная на дискретном
логарифмировании, легко может быть перенесена на эллиптические кривые.
Например, можно заменить математические операции вида 𝑦 =
𝑔 𝑥
𝑚𝑜𝑑 𝑝 на операции математического аппарата эллиптических кривых
(операции вычисления композиции точек) в алгоритмах формирования ключа Диффи-
Хеллмана или вычисления цифровой подписи Эль-Гамаля. В результате получатся те же
алгоритмы, но с другими математическими операциями.
19. Алгоритм обмена ключами Диффи-Хеллмана на основе
эллиптической кривой
Отправитель Получатель
Выбираем случайное большое
простое p и параметры
эллиптической кривой a и b.
Выбираем 𝐺 = (𝑥 𝐺, 𝑦 𝐺) ∈ 𝐸 𝑝(𝑎, 𝑏)
так, чтобы порядок G – большое
простое число
p, a, b, 𝑥 𝐺, 𝑦 𝐺
Подготовка, выбор параметров
Генерация и обмен ключами
Выбираем большое случайное
число 𝑛 𝐴. Вычисляем 𝑃𝐴 = 𝑛 𝐴 𝐺
Выбираем большое случайное
число 𝑛 𝐵. Вычисляем 𝑃𝐵 = 𝑛 𝐵 𝐺
𝑃𝐴
𝑃𝐵
Вычисляем общий секретный ключ
𝐾 = 𝑛 𝐴 ⋅ 𝑃𝐵 = 𝑛 𝐴 ⋅ 𝑛 𝐵 𝐺
Вычисляем общий секретный ключ
𝐾 = 𝑛 𝐵 ⋅ 𝑃𝐴 = 𝑛 𝐵 ⋅ 𝑛 𝐴 𝐺
20. Пример:
Рассмотрим эллиптическую кривую 𝐸11 −2,5 , т.е. кривая описывается
соотношением 𝑦2 ≡ 𝑥3 − 2𝑥 + 5 𝑚𝑜𝑑 11 .
Пусть выбрана точка G = (7,2) , которая лежит на кривой 𝐸11 −2,5 , т.к.
22 ≡ 49 ⋅ 7 − 14 + 5 𝑚𝑜𝑑 11 . Порядок точки G равен 7.
Личный ключ участника A равен 𝑛 𝐴 = 3 и ему соответствует точка 𝑃𝐴 =
3𝐺 = 9,1 .
Личным ключом пользователя B является число 𝑛 𝐵 = 5 и ему соответствует
точка 𝑃𝐵 = 5𝐺 = 10,4 .
Общий ключ будет иметь вид 𝑛 𝐴 ⋅ 𝑃𝐵 = 𝑛 𝐴 ⋅ 𝑛 𝐵 𝐺 = 𝑛 𝐵 ⋅ 𝑛 𝐴 𝐺 = 𝑛 𝐵 ⋅ 𝑃𝐴 = 3 ⋅
5 ⋅ G = (2,1)
Как провести криптоатаку, если порядок G – маленькое простое число?
23. Вспомним:
Алгоритм Эль-Гамаля – криптосистема с открытым ключом,
основанная на трудности вычисления дискретных логарифмов в
конечном поле. Криптосистема включает в себя алгоритм
шифрования и алгоритм цифровой подписи. Был предложен Т. Эль-
Гамалем в 1984 году.
24. Алгоритм шифрования на основе эллиптических кривых
Отправитель Получатель
Выбираем случайное большое простое p
и параметры эллиптической кривой a и b.
Выбираем 𝐺 = (𝑥 𝐺, 𝑦 𝐺) ∈ 𝐸 𝑝(𝑎, 𝑏) так,
чтобы порядок G – большое простое число
p, a, b, 𝑥 𝐺, 𝑦 𝐺
Подготовка, выбор параметров
Генерация и обмен ключами
Выбираем большое случайное
число 𝑛 𝐴. Вычисляем 𝑃𝐴 = 𝑛 𝐴 𝐺
Выбираем большое случайное
число 𝑛 𝐵. Вычисляем 𝑃𝐵 = 𝑛 𝐵 𝐺
𝑃𝐴
𝑃𝐵Вычисляем общий секретный ключ
𝐾 = 𝑛 𝐴 ⋅ 𝑃𝐵 = 𝑛 𝐴 ⋅ 𝑛 𝐵 𝐺
Вычисляем общий секретный ключ
𝐾 = 𝑛 𝐵 ⋅ 𝑃𝐴 = 𝑛 𝐵 ⋅ 𝑛 𝐴 𝐺
Шифрование
Выбираем случайное целое k.
Вычисляем Q = kG и 𝑅 = 𝑃𝑚 + 𝑘𝑃𝐵 Q, R
Дешифрование
𝑃𝑚 + 𝑘𝑃𝐵 − 𝑛 𝐵 𝑘𝐺 = 𝑃𝑚 + 𝑘𝑛 𝐵 𝐺 − 𝑛 𝐵 𝑘𝐺 = 𝑹 − 𝒏 𝑩 𝑸
25. Пример:
Рассмотрим эллиптическую кривую 𝐸11 −2,5 , т.е. кривая описывается соотношением
𝑦2 ≡ 𝑥3 − 2𝑥 + 5 𝑚𝑜𝑑 11 .
Пусть выбрана точка G = (7,2).
Личный ключ участника A равен 𝑛 𝐴 = 2 и ему соответствует точка 𝑃𝐴 = 2𝐺 = 0,7 .
Личным ключом пользователя B является число 𝑛 𝐵 = 6 и ему соответствует точка 𝑃𝐵 =
6𝐺 = 7,9 .
Для шифрования сообщения будем использовать следующий алфавит: точка (0,7) будет
соответствовать нулевому биту, а точка (1,2) – единичному.
Мы хотим передать текст, состоящий из последовательности бит: «0, 1».
Для шифрования первого бита выберем случайное целое число k=4 и сформируем
шифротекст: 𝐶1 = 4𝐺, 0,7 + 4 7,9 = 9,10 , 0,4 , аналогично выберем случайное
k = 2 для шифрования второго бита и сформируем шифротекст 𝐶2 = 2𝐺, 1,2 +
26. Пример 2:
Эллиптическая кривая E_89(56, 36)
G=(88, 54)
Pb=(65, 40)
Алфавит:
(72, 57) З П Ч Я
А (87, 70) И Р Ш
Б (64, 30) Й С Щ
В (70, 37) К Т Ъ
Г (60, 10) Л У Ы
Д М Ф Ь
Е Н Х Э
Ж О Ц Ю
30. Криптографически «слабые» кривые
(которых следует избегать)
• Кривые над 𝐹2 𝑚, где m − не простое число. Шифрование на
этих кривых подвержено атакам Вейля.
• Кривые с |𝐸(𝐹𝑞)| = 𝑞 уязвимы для атаки, которая отображает
точки данной кривой в аддитивную группу поля 𝐹𝑞.
32. Быстрая редукция (NIST-кривые)
Деление по модулю p (которое необходимо для операций
сложения и умножения может выполняться быстрее, если в
качестве p выбрать простое число, близкое к степени числа 2. В
частности, в роли p может выступать простое число Мерсенна.
Например, хорошим выбором являются 𝑝 = 2251 − 1 или 𝑝 =
2256 − 232 − 29 − 28 − 27 − 26 − 24 − 1.
Национальный институт стандартов и технологий (NIST)
рекомендует использовать подобные простые числа в качестве p.
Еще одним преимуществом кривых, рекомендованных NIST,
является выбор значения a = -3, что ускоряет операцию сложения в
координатах Якоби.
33. Эллиптические кривые, рекомендованные NIST
NIST рекомендует 15 эллиптических кривых, многие из которых были
получены Jerry Solinas (NSA) на базе наработок Neal Koblitz. В частности,
FIPS 186-3 рекомендует 10 конечных полей. Некоторые из них:
• поля 𝐹𝑝, где простое p имеет длину 192, 224, 256, 384 или 521 бит,
• поля 𝐹2 𝑚, где m = 163, 233, 283, 409 или 571.
Причём для каждого конечного поля рекомендуется одна эллиптическая
кривая. Эти конечные поля и эллиптические кривые выбраны, как часто
ошибочно считается, из-за высокого уровня безопасности. По заявлениям
NIST, их выбор был обоснован эффективностью программной реализации.
Имеются сомнения в безопасности по крайней мере нескольких из них.
34. Размер ключа
• Самым быстрым алгоритмам, решающим задачу дискретного
логарифмирования на эллиптических кривых, таким как
алгоритм Шенкса и ρ-метод Полларда, необходимо 𝑂( 𝑛) операций.
Поэтому размер поля должен как минимум в два раза превосходить
размер ключа. Например, для 128-битного ключа рекомендуется
использовать эллиптическую кривую над полем 𝐹𝑝, где p имеет длину
256 бит.
• Самые сложные схемы на эллиптических кривых, публично взломанные
к настоящему времени, содержали 112-битный ключ для конечного
простого поля и 109-битный ключ для конечного поля характеристики 2.
В июле 2009 года кластер из более чем двухсот Sony Playstation 3 за 3,5
месяца нашел 109-битный ключ. Ключ над полем характеристики 2 был
найден в апреле 2004 года, с использованием 2600 компьютеров, в
течение 17 месяцев
35. Безопасность криптографии с использованием эллиптических
кривых
• Безопасность, обеспечиваемая криптографическим подходом на основе
эллиптических кривых, зависит от того, насколько трудной для решения
оказывается задача определения k по данным kP и P. Эту задачу обычно
называют проблемой логарифмирования на эллиптической кривой.
Наиболее быстрым из известных на сегодня методов логарифмирования на
эллиптической кривой является так называемый p-метод Полларда.
• К тому же, при равных длинах ключей вычислительные усилия, требуемые
при использовании RSA и криптографии на основе эллиптических кривых,
не сильно различаются. Таким образом, в сравнении с RSA при равных
уровнях защиты явное вычислительное преимущество принадлежит
криптографии на основе эллиптических кривых с более короткой длиной
ключа
36. В таблице сравнивается эффективность этого метода и метод разложения на простые
множители с помощью решета в поле чисел общего вида. Из нее видно, что по
сравнению с RSA в случае применения методов криптографии на эллиптических кривых
примерно тот же уровень защиты достигается со значительно меньшими значениями
длины ключей.
Вычислительные усилия, необходимые для криптоанализа при использовании эллиптических кривых и RSA
37. Варианты атак
• Алгоритм Полига-Хеллмана. Алгоритм решения дискретного
логарифма. Предположим, что n — количество точек эллиптической
кривой. Пусть число n раскладывается на простые числа 𝑝1, 𝑝2, … , 𝑝 𝑛.
Суть метода сводится к тому, чтобы найти дискретные логарифмы по
модулю числе 𝑝𝑖, а затем получить общее решение с помощью
китайской теоремы об остатках. Атака позволяет свести проблему
дискретного логарифма в большом поле n к той же задаче, но с
гораздо меньшим полем p. Для того, чтобы противостоять атаке
необходимо просто выбирать кривые, количество точек которых
делится на очень большое простое число q≈n.
• Алгоритм Шенкса, более известный как шаги младенца/шаги гиганта.
Типичный пример time memory trade off. Для группы размером n
вычисляется таблиц размером n1/2, затем по этой таблице происходит
поиск нужного элемента. Сложность алгоритма 𝑂 𝑞 , где q —
количество точек эллиптической кривой.
38. Приложения
Большинство криптосистем современной криптографии естественным образом можно
«переложить» на эллиптические кривые. Основная идея заключается в том, что известный
алгоритм, используемый для конкретных конечных групп, переписывается для использования
групп рациональных точек эллиптических кривых:
• алгоритм ECDSA основывающийся на ЭЦП,
• алгоритм ECDH, основывающийся на алгоритме Диффи — Хеллмана,
• алгоритм ECMQV, основывающийся на MQV, протоколе распределения ключей Менезеса-
Кью-Венстоуна,
• ГОСТ Р 34.10-2012,
• факторизация Ленстры с помощью эллиптических кривых,
• dual EC DRBG.
Необходимо отметить, что безопасность таких систем цифровой подписи опирается не только
на криптостойкость алгоритмов шифрования, но и на криптостойкость
используемых криптографических хэш-функций и генераторов случайных чисел.
По обзору 2013 года чаще всего используются кривые nistp256, nistp384, nistp521, secp256k1,
secp384r1, secp521r1
43. К выбранным параметрам предъявляются
следующие ограничения:
• Должно выполняться сравнение 𝑝 𝑡 ≠ 1(𝑚𝑜𝑑 𝑞) для 𝑡 = 1, 𝐵, где 𝐵 =
31, если 2254 < 𝑝 < 2256, и 𝐵 = 131, если 2508 < 𝑝 < 2512.
• Порядок группы точек 𝐸 𝑝(𝑎, 𝑏) не должен совпадать с p (q < p)
• Инвариант кривой должен удовлетворять соотношению 𝐽 𝐸 ≠
0,1728
44. Пример:
Рассмотрим эллиптическую кривую 𝐸11 −2,5 , т.е. кривая описывается
соотношением 𝑦2
≡ 𝑥3
− 2𝑥 + 5 𝑚𝑜𝑑 11 .
Пусть выбрана точка G = (7,2), тогда порядок подгруппы q=7
И пусть секретный ключ d=2, тогда Q=(0,7).
Предположим, что хэш сообщения выражается как e=5.
Выберем случайно k = 3.
Вычисляем точку на эллиптической кривой C=kG=(9,1).
Найдем r = 9 mod 7 = 2.
Вычислим s = (rd + ke) mod q = (2*2+3*5) mod 7 = 5
Цифровая подпись готова – это пара чисел (2,5)
45. Выводы:
Основные плюсы:
- Гораздо меньшая длина ключа по сравнению к «классической» асимметричной криптографией.
- Скорость работы эллиптических алгоритмов гораздо выше, чем у классических. Это объясняется как
размерами поля, так и применением более близкой для компьютеров структуры бинарного конечного
поля.
- Из-за маленькой длины ключа и высокой скорости работы, алгоритмы асимметричной криптографии
на эллиптических кривых могут использоваться в смарт-картах и других устройствах с ограниченными
вычислительными ресурсами.
Основные минусы эллиптической криптографии:
- Все плюсы эллиптической криптографии вытекают из одного конкретного факта:
для задачи дискретного логарифмирования на эллиптических кривых не существует
субэкспоненциальных алгоритмов решения. Это позволяет уменьшить длину ключа и увеличить
производительность. Однако если такие алгоритмы появятся, то это будет означать крах эллиптической
криптографии.
- Эллиптическая криптография — это очень сложно. Не то чтобы я считал обычную асимметричную
криптографию совсем уж простой штукой. Но «эллиптика» — это огромное количество тонкостей,
которые необходимо учесть. Начиная с выбора эллиптической кривой и заканчивая генерацией ключей.
При массовом переходе на эллиптику скорее всего обязательно будет большое количество ошибок и
уязвимостей, которые уже отработаны для более привычных методов.