- •О. Н. Жданов в. А. Чалкин эллиптические кривые: основы теории и криптографические приложения
- •Оглавление
- •П редисловие
- •Эллиптические кривые
- •§ 1. Алгебраические кривые и эллиптические кривые
- •Список уравнений кривых с целыми коэффициентами,
- •Список уравнений кривых с целыми коэффициентами,
- •§ 2. Группа точек эллиптической кривой
- •Ранги эллиптических кривых 𝛦, задаваемых уравнениями
- •Ранги эллиптических кривых 𝛦, задаваемых уравнениями
- •Значения для 𝑥 от 0 до 22
- •Точки кривой
- •§ 3. Применение эллиптических кривых в задаче факторизации чисел
- •Контрольные задания
- •Глава 2 Криптосистемы на эллиптических кривых
- •§ 1. Кодирование и дискретное логарифмирование
- •§ 2. Ключевой обмен и шифрование с использованием группы точек эллиптической кривой
- •Вычислительные усилия, необходимые для криптоанализа при использовании эллиптических кривых и rsa
- •§ 3. Алгоритм цифровой подписи, основанный на группе точек эллиптической кривой
- •Контрольные задания
- •Глава3 . Аспекты практической реализации криптографических алгоритмов на эллиптических кривых
- •§ 1. Эффективная реализация элементарных операций
- •§ 2. Определение количества точек на кривой
- •§ 3. Использование стандартных кривых
- •§ 4. Применение эллиптических кривых в криптографии
- •Алфавит точек эллиптической кривой для выполнения индивидуальных заданий
- •Пример выполнения контрольного задания 4.Умножение точки на число.
- •Пример3.Генерация подписи
- •Пример 4.Проверка подписи
- •Контрольные задания
- •1. Шифрование
- •2. Расшифрование
- •3. Сложение точек
- •5. Генерация подписи
- •6. Проверка подписи
- •Практические задания
- •Послесловие
- •Библиографический список
- •3. Определения и обозначения
- •Эллиптические кривые: основы теории и криптографические приложения
6. Проверка подписи
Вариант 1. Подпись фальшивая.
Вариант 2. Подпись фальшивая.
Вариант 3. Подпись фальшивая.
Вариант 4. Подпись подлинная.
Вариант 5. Подпись фальшивая.
Вариант 6. Подпись подлинная.
Вариант 7. Подпись подлинная.
Вариант 8. Подпись фальшивая.
Вариант 9. Подпись подлинная.
Вариант 10. Подпись фальшивая.
Вариант 11. Подпись фальшивая.
Вариант 12. Подпись фальшивая.
Вариант 13. Подпись фальшивая.
Вариант 14. Подпись подлинная.
Вариант 15. Подпись подлинная.
Вариант 16. Подпись подлинная.
Вариант 17. Подпись подлинная.
Вариант 18. Подпись фальшивая.
Вариант 19. Подпись подлинная.
Вариант 20. Подпись подлинная.
Вариант 21. Подпись фальшивая.
Вариант 22. Подпись фальшивая.
Вариант 23. Подпись подлинная.
Вариант 24. Подпись подлинная.
Вариант 25. Подпись фальшивая.
Вариант 26. Подпись подлинная.
Вариант 27. Подпись подлинная.
Вариант 28. Подпись фальшивая.
Вариант 29. Подпись подлинная.
Вариант 30. Подпись фальшивая.
Практические задания
При выполнении практических работ рекомендуется использовать эллиптическую кривую со следующими параметрами:
Количество точек на этой кривой
В
качестве генератора можно взять точку
Точку в бесконечности О удобно представлять как точку с координатами (0, 0).
1. Напишите набор подпрограмм для вычисления суммы точек на эллиптической кривой и произведения точки на число. Приведем несколько тождеств для тестирования разработанных подпрограмм:
(51, 7858) + (91, 5500) = (7252,18353),
(7777,10935) + (16000,20400) = (12395, 26268),
(12405,28624) + (2963,16300) = (14905,2313),
(8020,1740) + (8020, 30251) = О,
2 · (0,5585) = (8,19435),
2 · (23161,17992) = (26775,10831),
2 · (110,13171) = (26948,16087),
10000 · (31122,9) = (31180,29596),
12345 · (13140,5033) = (9362,27046),
11111 · (11007,23704) = (850,6718).
2. Выполните программную реализацию шифра Эль-Гамаля на эллиптической кривой. При отладке и тестировании программы можно воспользоваться следующим примером построения шифра.
Секретный
ключ
,
открытый ключ
,
открытый текст кодируется точкой
,
случайное число
.
Полученный
шифртекст
должен расшифроваться в сообщение
при использовании секретного ключа
5103.
3.
Выполните
программную реализацию алгоритмов
генерации и проверки цифровой подписи
на эллиптической кривой по стандарту
ГОСТ 34.10–2001 (как обычно, полагаем
).
В качестве q
возьмите
n
= 32089 (число точек на кривой). Подпись
(4615, 5944) для сообщения 1000 должна
признаваться подлинной для пользователя,
имеющего открытый ключ
.
Послесловие
Изобретение концепции несимметричной криптографии (в частности, криптосистем на эллиптических кривых) повлекло за собой быструю алгебраизацию криптографии, вовлечение в практику все новых алгебраических объектов.
В настоящее время теория эллиптических кривых бурно развивается стараниями большого количества ученых и практиков. Одновременно увеличивается и количество прикладных задач, для решения которых применяются эллиптические кривые. Одним из наиболее важных является применение таких кривых для формирования электронной цифровой подписи.
Следует отметить, что даже простая реализация новых криптографических алгоритмов требует достаточно серьезной математической подготовки. Для применения таких алгоритмов надо не только уметь выполнять операции в соответствующих алгебраических структурах, но и решать другие задачи, например, находить корни уравнений над конечными полями.
Изложение вопросов теории, не затронутых в настоящем пособии, можно найти в книге С. С. Степанова «Арифметика алгебраических кривых». Студенты, желающие ознакомиться с последними достижениями алгоритмической теории чисел, могут обратиться к монографии О. Н. Василенко «Теоретико-числовые алгоритмы в криптографии», посвященной современному состоянию алгоритмической теории чисел, интенсивно развивающейся последние тридцать лет и имеющей важные приложения в криптографии. Актуальность этого направления значительно возросла в 1970-е гг. в связи с появлением криптосистем Диффи–Хеллмана и RSA. В настоящее время, по некоторым оценкам, практически весь мировой парк средств асимметричной криптографии в математическом плане основан на теоретико-числовых задачах.
