- •О. Н. Жданов в. А. Чалкин эллиптические кривые: основы теории и криптографические приложения
- •Оглавление
- •П редисловие
- •Эллиптические кривые
- •§ 1. Алгебраические кривые и эллиптические кривые
- •Список уравнений кривых с целыми коэффициентами,
- •Список уравнений кривых с целыми коэффициентами,
- •§ 2. Группа точек эллиптической кривой
- •Ранги эллиптических кривых 𝛦, задаваемых уравнениями
- •Ранги эллиптических кривых 𝛦, задаваемых уравнениями
- •Значения для 𝑥 от 0 до 22
- •Точки кривой
- •§ 3. Применение эллиптических кривых в задаче факторизации чисел
- •Контрольные задания
- •Глава 2 Криптосистемы на эллиптических кривых
- •§ 1. Кодирование и дискретное логарифмирование
- •§ 2. Ключевой обмен и шифрование с использованием группы точек эллиптической кривой
- •Вычислительные усилия, необходимые для криптоанализа при использовании эллиптических кривых и rsa
- •§ 3. Алгоритм цифровой подписи, основанный на группе точек эллиптической кривой
- •Контрольные задания
- •Глава3 . Аспекты практической реализации криптографических алгоритмов на эллиптических кривых
- •§ 1. Эффективная реализация элементарных операций
- •§ 2. Определение количества точек на кривой
- •§ 3. Использование стандартных кривых
- •§ 4. Применение эллиптических кривых в криптографии
- •Алфавит точек эллиптической кривой для выполнения индивидуальных заданий
- •Пример выполнения контрольного задания 4.Умножение точки на число.
- •Пример3.Генерация подписи
- •Пример 4.Проверка подписи
- •Контрольные задания
- •1. Шифрование
- •2. Расшифрование
- •3. Сложение точек
- •5. Генерация подписи
- •6. Проверка подписи
- •Практические задания
- •Послесловие
- •Библиографический список
- •3. Определения и обозначения
- •Эллиптические кривые: основы теории и криптографические приложения
Пример выполнения контрольного задания 4.Умножение точки на число.
Найти точку 𝑛𝑃
Кривая:
𝑛 = 122
𝑃 = (49, 568)
Расчет
𝑛𝑃 =
122 ⋅ (49, 568) = 2 ⋅ (49, 568) +
⋅ (49,
568) +
⋅ (49,
568) +
+
⋅
(49,
568) +
⋅ (49,
568) = (173, 132) + (327, 108) +
+ (519, 713) + (425, 663) + (377, 456) = (417, 614)
Примеры генерации и проверки подписи.
Пример
1. Пусть
используется эллиптическая кривая
и генерирующая точка G
= (384, 475) порядка n
= 13 (13 – наибольший из делителей порядка
кривой N
= 728). Предположим, абонент подписывает
личным секретным ключом d
= 12 сообщение, хеш-свертка которого равна
e
= 12.
Пусть
абонент, подписывающий сообщение, выбрал
случайное k
= 3. Тогда он вычисляет kG
=
=
= (596, 318) и затем
.
Используя расширенный алгоритм Евклида,
определяем
(так как
).
Наконец,
.
Таким образом,
– цифровая подпись данного абонента
для сообщения.
Пример
2.Пусть
теперь необходимо проверить подлинность
данной подписи. Открытый ключ абонента,
подписавшего сообщение, равен
.
Проверка
подписи начинается с проверки условий
,
– в
данном случае они соблюдаются. Затем
последовательно вычисляем
,
и
.
Находим точку
.
Наконец, сравниваем значения r
= 11 и
– они совпадают, следовательно, подпись
действительная.
Пример3.Генерация подписи
Входные данные
Кривая:
Генерирующая точка: 𝐺 = (416, 55)
Порядок генерирующей точки: 𝑛 = 13
Значение хэш - свертки: 𝑒 = 6
Секретный ключ подписи: 𝑑 = 12
Случайное число: 𝑘 = 7
Расчет подписи
𝑘𝐺 = 7 ⋅ (416, 55) = (596, 433)
𝑟 = 𝑥 𝑚𝑜𝑑 𝑚 = 596 𝑚𝑜𝑑13 = 11
𝑧 =
𝑚𝑜𝑑
𝑛 = 2
𝑠 = 𝑧(𝑒 + 𝑑𝑟)𝑚𝑜𝑑 𝑛 = 2 ⋅ (6 + 12 ⋅ 11)𝑚𝑜𝑑13 = 3
Подпись: (𝑟, 𝑠) = (11, 3)
Пример 4.Проверка подписи
Входные данные
Кривая:
Генерирующая точка: 𝐺 =(562, 89)
Порядок генерирующей точки: 𝑛 = 13
Значение хэш – свертки: 𝑒 = 8
Открытый ключ подписи: 𝑄 = (135, 82)
Подпись: (𝑟, 𝑠) = (11, 10)
Проверка
𝑟, 𝑠 удовлетворяют условию 1 ≤ 𝑟 ≤ 𝑛 – 1; 1 ≤ 𝑠 ≤ 𝑛 – 1
𝑣 =
𝑚𝑜𝑑
𝑛 = 4
=
𝑒 ⋅ 𝑣 𝑚𝑜𝑑 𝑛 = 6
=
𝑟 ⋅ 𝑣 𝑚𝑜𝑑 𝑛 = 5
𝑋 = ⋅ 𝐺 + ⋅ 𝑄 = 6 ⋅ (562, 89) + 5 ⋅ (135, 82) = (596, 433)
596 𝑚𝑜𝑑 13 = 11 = 𝑟 ⟶ Подпись подлинная.
* * *
Для дальнейшего изучения описанных алгоритмов рекомендуются источники [1; 3; 6; 16; 19].
Контрольные задания
1. Шифрование. Зашифруйте открытый текст с помощью алфавита, приведенного в табл. 9 (используется кривая и генерирующая точка G = (0, 1)):
№ варианта |
Открытый текст |
Открытый ключ B |
Значения случайных чисел k для букв открытого текста |
1 |
передряга |
(489, 468) |
18, 15, 14, 18, 5, 10, 19, 14, 19 |
2 |
латышский |
(179,275) |
15, 17, 12, 2, 2, 4, 8, 6, 17 |
3 |
регрессор |
(425, 663) |
6, 12, 16, 4, 9, 4, 19, 9, 18 |
4 |
симметрия |
(179, 275) |
11, 17, 18, 19, 16, 6, 12, 8, 2 |
5 |
уверовать |
(425, 663) |
6, 14, 5, 7, 12, 11, 4, 9, 19 |
6 |
терновник |
(188, 93) |
8, 14, 17, 17, 2, 10, 8, 2, 2 |
7 |
терпеливо |
(725, 195) |
17, 5, 4, 17, 13, 2, 17, 14, 19 |
8 |
ремонтный |
(188, 93) |
2, 2, 4, 18, 15, 19, 11, 2, 15 |
9 |
ренессанс |
(725, 195) |
2, 19, 4, 8, 2, 2, 16, 10, 2 |
10 |
репарация |
(435, 663) |
12, 11, 18, 7, 16, 18, 17, 2, 3 |
11 |
пролежень |
(179, 275) |
9, 5, 17, 2, 2, 2, 3, 17, 15 |
12 |
прокрутка |
(618, 206) |
10, 15, 16, 2, 3, 4, 2, 11, 16 |
13 |
прокопать |
(489, 468) |
3, 16, 17, 5, 16, 18, 3, 7, 15 |
14 |
отступить |
(188, 93) |
7, 9, 3, 8, 18, 18, 8, 11, 16 |
15 |
отставной |
(286, 136) |
5, 3, 3, 2, 4, 19, 2, 4, 10 |
16 |
отслужить |
(16, 416) |
2, 8, 4, 2, 6, 10, 3, 3, 18 |
17 |
отследить |
(188, 93) |
19, 2, 13, 5, 19, 5, 7, 8, 5 |
18 |
новенький |
(425,663) |
19, 12, 13, 2, 12, 14, 19, 18, 12 |
19 |
нищенский |
(489, 468) |
2, 2, 7, 11, 19, 4, 2, 15, 6 |
20 |
никелевый |
(568, 355) |
9, 9, 2, 3, 8, 19, 6, 18, 9 |
21 |
низменный |
(286, 136) |
12, 5, 7, 17, 18, 2, 12, 10, 11 |
22 |
неэтичный |
(489, 468) |
14, 18, 11, 11, 6, 6, 17, 2, 5 |
23 |
мысленный |
(346, 242) |
6, 17, 18, 11, 18, 2, 4, 2, 12 |
24 |
муштровка |
(618, 206) |
5, 19, 8, 2, 5, 8, 15, 19, 6 |
25 |
латентный |
(725, 195) |
9, 10, 13, 2, 2, 12, 12, 5, 7 |
26 |
купальщик |
(188, 93) |
17, 17, 9, 12, 17, 7, 15, 7, 16 |
27 |
излечимый |
(179, 275) |
10, 14, 2, 2, 10, 10, 14, 3, 7 |
28 |
звездочка |
(725, 195) |
11, 17, 10, 10, 5, 2, 10, 19, 4 |
29 |
аберрация |
(56, 419) |
16, 2, 17, 19, 8, 4, 3, 2, 8 |
30 |
белиберда |
(286, 136) |
2, 9, 18, 2, 19, 4, 5, 11, 9 |
2.
Расшифрование. Дан
шифртекст. С помощью алфавита, приведенного
в табл. 9 (используется кривая
и генерирующая точка G
= (–1, 1)), и зная секретный ключ
найдите открытый текст:
№ варианта |
Секретный ключ |
Шифртекст |
1 |
29 |
{(440, 539), (128, 672)}; {(489, 468), (282, 341)}; {(489, 468), (45, 720)}; {(72, 254), (227, 299)}; {(188, 93), (251, 506)}; {(72, 254), (319, 518)}; {(745, 210), (129, 659)}; {(286, 136), (515, 684)}; {(568, 355), (395, 414)} |
2 |
25 |
{(72, 254), (397, 184)}; {(188, 93), (526, 412)}; {(188, 93), (328, 290)}; {(135, 82), (433, 47)}; {(179, 275), (711, 341)}; {(568, 355), (546, 670)}; {(16, 416), (734, 170)}; {(568, 355), (371, 14)}; {(596, 433), (604, 610)}; {(16, 416), (734, 170)} |
3 |
40 |
{(188, 93), (573, 583)}; {(188, 93), (128, 79)}; {(425, 663), (703, 125)}; {(489, 468), (109, 200)}; {(568, 355), (348, 27)}; {(377, 456), (323, 657)}; {(72, 254), (399, 65)}; {(16, 416), (660, 275)}; {(179, 275), (267, 670)}; {(568, 355), (642, 53)} |
4 |
34 |
{(618, 206), (426, 662)}; {(72, 254), (67, 667)}; {(286, 136), (739, 574)}; {(16, 416), (143, 602)}; {(618, 206), (313, 203)}; {(618, 206), (114, 607)}; {(618, 206), (438, 711)}; {(188, 93), (573, 168)} |
5 |
41 |
{(283, 493), (314, 127)}; {(425, 663), (561, 140)}; {(568, 355), (75, 433)}; {(440, 539), (602, 627)}; {(188, 93), (395, 414)}; {(179, 275), (25, 604)}; {(72, 254), (47, 349)}; {(72, 254), (417, 137)}; {(188, 93), (298, 225)}; {(56, 419), (79, 111)} |
6 |
44 |
{(377, 456), (367, 360)}; {(425, 663), (715, 398)}; {(188, 93), (279, 353)}; {(179, 275), (128, 79)}; {(568, 355), (515, 67)}; {(568, 355), (482, 230)}; {(377, 456), (206, 645)}; {(188, 93), (300, 455)}; {(489, 468), (362, 446)}; {(16, 416), (69, 510)}; {(425, 663), (218, 601)} |
7 |
12 |
{(16, 416), (128, 672)}; {(56, 419), (59, 386)}; {(425, 663), (106, 24)}; {(568, 355), (145, 608)}; {(188, 93), (279, 398)}; {(425, 663), (99, 295)}; {(179, 275), (269, 187)}; {(188, 93), (395, 337)}; {(188, 93), (311, 68)}; {(135, 82), (556, 484)}; {(56, 419), (106, 727)}; {(16, 416), (307, 693)} |
8 |
45 |
{(745, 210), (259, 401)}; {(568, 355), (606, 147)}; {(188, 93), (407, 82)}; {(56, 419), (739, 574)}; {(286, 136), (329, 447)}; {(425, 663), (520, 749)}; {(72, 254), (374, 315)}; {(188, 93), (149, 97)}; {(745, 210), (13, 134)}; {(440, 539), (235, 19)}; {(425, 663), (128, 79)} |
Продолжение таблицы
№ варианта |
Секретный ключ |
Шифртекст |
9 |
32 |
{(188, 93), (623, 166)}; {(725, 195), (513, 414)}; {(346, 242), (461, 4)}; {(489, 468), (739, 574)}; {(725, 195), (663, 476)}; {(745, 210), (724, 522)}; {(725, 195), (663, 476)}; {(618, 206), (438, 40)}; {(286, 136), (546, 670)}; {(179, 275), (73, 72)} |
10 |
18 |
{(179, 275), (269, 564)}; {(179, 275), (73, 72)}; {(440, 539), (189, 454)}; {(618, 206), (628, 458)}; {(568, 355), (660, 275)}; {(72, 254), (709, 595)}; {(745, 210), (12, 314)}; {(188, 93), (36, 664)}; {(618, 206), (530, 22)}; {(286, 136), (532, 50)}; {(425, 663), (660, 275)}; {(725, 195), (482, 230)} |
11 |
27 |
{(745, 210), (185, 105)}; {(188, 93), (681, 385)}; {(377, 456), (576, 465)}; {(440, 539), (138, 298)}; {(745, 210), (520, 2)}; {(188, 93), (681, 385)}; {(286, 136), (282, 410)}; {(72, 254), (200, 721)}; {(72, 254), (643, 94)}; {(745, 210), (476, 315)}; {(440, 539), (724, 229)} |
12 |
25 |
{(425, 663), (651, 191)}; {(188, 93), (177, 562)}; {(286, 136), (603, 562)}; {(440, 539), (588, 707)}; {(72, 254), (269, 187)}; {(56, 419), (49, 568)}; {(16, 416), (426, 662)}; {(425, 663), (557, 28)}; {(188, 93), (149, 97)}; {(179, 275), (711, 341)} |
13 |
48 |
{(179, 275), (712, 186)}; {(725, 195), (395, 414)}; {(72, 254), (434, 136)}; {(425, 663), (251, 506)}; {(16, 416), (383, 340)}; {(745, 210), (102, 484)}; {(346, 242), (78, 271)}; {(179, 275), (712, 186)}; {(725, 195), (739, 574)}; {(346, 242), (78, 271)} |
14 |
51 |
{(425, 663), (273, 481)}; {(188, 93), (85, 716)}; {(16, 416), (422, 162)}; {(283, 493), (36, 87)}; {(179, 275), (100, 364)}; {(188, 93), (298, 225)}; {(56, 419), (555, 303)}; {(745, 210), (100, 387)}; {(377, 456), (526, 412)}; {(286, 136), (316, 228)}; {(745, 210), (49, 183)}; {(179, 275), (428, 247)} |
15 |
27 |
{(618, 206), (99, 456)}; {(425, 663), (31, 136)}; {(377, 456), (688, 741)}; {(425, 663), (636, 747)}; {(16, 416), (298, 526)}; {(188, 93), (356, 175)}; {(489, 468), (147, 390)}; {(346, 242), (546, 670)}; {(72, 254), (114, 144)}; {(377, 456), (25, 147)} |
16 |
48 |
{(16, 416), (724, 522)}; {(489, 468), (719, 538)}; {(56, 419), (205, 372)}; {(72, 254), (628, 293)}; {(188, 93), (594, 337)}; {(440, 539), (588, 707)}; {(568, 355), (707, 556)}; {(489, 468), (719, 538)}; {(16, 416), (590, 376)}; {(56, 419), (612, 329)}; {(188, 93), (594, 337)} |
Продолжение таблицы
№ варианта |
Секретный ключ |
Шифртекст |
17 |
51 |
{(56, 419), (739, 177)}; {(16, 416), (282, 410)}; {(425, 663), (221, 138)}; {(188, 93), (329, 447)}; {(286, 136), (235, 19)}; {(725, 195), (496, 31)}; {(56, 419), (236, 712)}; {(440, 539), (514, 662)}; {(377, 456), (323, 94)}; {(179, 275), (203, 324)}; {(568, 355), (197, 606)} |
18 |
16 |
{(745, 210), (268, 597)}; {(725, 195), (310, 582)}; {(618, 206), (59, 365)}; {(440, 539), (371, 14)}; {(188, 93), (348, 27)}; {(72, 254), (434, 136)}; {(16, 416), (623, 166)}; {(188, 93), (235, 19)}; {(440, 539), (660, 275)}; {(188, 93), (434, 615)}; {(725, 195), (73, 679)}; {(188, 93), (642, 53)} |
19 |
34 |
{(725, 195), (538, 325)}; {(725, 195), (176, 413)}; {(425, 663), (689, 670)}; {(346, 242), (652, 315)}; {(283, 493), (463, 736)}; {(16, 416), (744, 133)}; {(179, 275), (542, 351)}; {(56, 419), (298, 225)}; {(286, 136), (719, 538)}; {(568, 355), (319, 518)}; {(16, 416), (704, 46)} |
20 |
25 |
{(725, 195), (329, 304)}; {(440, 539), (59, 386)}; {(618, 206), (543, 357)}; {(188, 93), (520, 749)}; {(489, 468), (585, 211)}; {(179, 275), (707, 556)}; {(596, 433), (419, 38)}; {(377, 456), (643, 94)}; {(188, 93), (385, 749)}; {(725, 195), (150, 355)}; {(725, 195), (197, 606)} |
21 |
58 |
{(16, 416), (93, 484)}; {(489, 468), (531, 397)}; {(188, 93), (654, 102)}; {(489, 468), (218, 150)}; {(16, 416), (530, 729)}; {(425, 663), (295, 219)}; {(725, 195), (742, 299)}; {(188, 93), (367, 360)}; {(188, 93), (235, 732)}; {(618, 206), (251, 245)}; {(425, 663), (688, 10)} |
22 |
50 |
{(179, 275), (326, 675)}; {(725, 195), (83, 378)}; {(440, 539), (340, 78)}; {(425, 663), (67, 84)}; {(425, 663), (620, 71)}; {(72, 254), (251, 245)}; {(568, 355), (75, 318)}; {(725, 195), (228, 271)}; {(188, 93), (734, 170)}; {(188, 93), (704, 705)}; {(286, 136), (235, 732)} |
23 |
19 |
{(618, 206), (294, 595)}; {(188, 93), (13, 617)}; {(188, 93), (206, 106)}; {(188, 93), (67, 667)}; {(56, 419), (350, 184)}; {(440, 539), (275, 456)}; {(745, 210), (301, 17)}; {(346, 242), (588, 707)}; {(188, 93), (256, 121)}; {(425, 663), (209, 82)}; {(16, 416), (687, 660)} |
Окончание таблицы
№ варианта |
Секретный ключ |
Шифртекст |
24 |
54 |
{(188, 93), (295, 219)}; {(618, 206), (646, 706)}; {(440, 539), (573, 583)}; {(16, 416), (694, 581)}; {(179, 275), (585, 540)}; {(377, 456), (701, 570)}; {(618, 206), (67, 667)}; {(286, 136), (36, 664)}; {(72, 254), (727, 65)}; {(568, 355), (438, 40)} |
25 |
55 |
{(725, 195), (9, 150)}; {(745, 210), (138, 453)}; {(56, 419), (36, 87)}; {(283, 493), (39, 580)}; {(377, 456), (515, 684)}; {(346, 242), (458, 261)}; {(283, 493), (105, 369)}; {(568, 355), (326, 675)}; {(425, 663), (529, 358)}; {(283, 493), (668, 409)} |
26 |
24 |
{(16, 416), (150, 355)}; {(188, 93), (394, 20)}; {(725, 195), (13, 134)}; {(377, 456), (209, 669)}; {(56, 419), (514, 662)}; {(56, 419), (243, 87)}; {(618, 206), (719, 538)}; {(618, 206), (159, 13)}; {(618, 206), (326, 76)}; {(188, 93), (557, 28)} |
27 |
43 |
{(440, 539), (279, 398)}; {(568, 355), (295, 219)}; {(16, 416), (724, 229)}; {(346, 242), (730, 240)}; {(72, 254), (334, 226)}; {(188, 93), (310, 169)}; {(72, 254), (36, 664)}; {(179, 275), (481, 369)}; {(188, 93), (236, 39)}; {(377, 456), (438, 711)}; {(377, 456), (307, 58)} |
28 |
20 |
{(16, 416), (675, 505)}; {(72, 254), (611, 579)}; {(72, 254), (727, 686)}; {(489, 468), (39, 171)}; {(72, 254), (531, 354)}; {(568, 355), (36, 87)}; {(188, 93), (588, 44)}; {(618, 206), (70, 195)}; {(568, 355), (267, 81)}; {(56, 419), (525, 674)} |
29 |
47 |
{(725, 195), (651, 560)}; {(425, 663), (147, 361)}; {(286, 136), (109, 551)}; {(440, 539), (90, 730)}; {(618, 206), (668, 342)}; {(745, 210), (109, 200)}; {(425, 663), (147, 361)}; {(72, 254), (228, 480)}; {(346, 242), (530, 22)} |
30 |
50 |
{(16, 416), (726, 608)}; {(188, 93), (395, 337)}; {(440, 539), (163, 513)}; {(188, 93), (269, 187)}; {(725, 195), (177, 562)}; {(188, 93), (115, 509)}; {(188, 93), (734, 170)}; {(745, 210), (110, 622)}; {(179, 275), (576, 286)}; {(188, 93), (325, 297)} |
3. Сложение точек. Даны точки P, Q, R на кривой . Найдите точку 2P + 3Q – R:
№ варианта |
Координаты точек |
||
P |
Q |
R |
|
1 |
(58, 139) |
(67, 667) |
(82, 481) |
2 |
(61, 129) |
(59, 365) |
(105, 369) |
3 |
(62, 372) |
(70, 195) |
(67, 84) |
4 |
(56, 332) |
(69, 241) |
(83, 373) |
5 |
(59, 386) |
(70, 195) |
(72, 254) |
6 |
(72, 497) |
(61, 622) |
(70, 556) |
7 |
(74, 170) |
(53, 277) |
(86, 25) |
8 |
(48, 702) |
(69, 241) |
(98, 338) |
9 |
(59, 386) |
(61, 129) |
(100, 364) |
10 |
(72, 497) |
(53, 474) |
(90, 730) |
11 |
(59, 365) |
(59, 386) |
(105, 382) |
12 |
(61, 622) |
(61, 622) |
(90, 730) |
13 |
(61, 129) |
(69, 510) |
(72, 497) |
14 |
(70, 556) |
(56, 419) |
(86, 726) |
15 |
(67, 84) |
(69, 241) |
(66, 199) |
16 |
(73, 72) |
(56, 332) |
(85, 35) |
17 |
(69, 241) |
(53, 277) |
(106, 24) |
18 |
(74, 581) |
(53, 277) |
(85, 35) |
19 |
(56, 419) |
(69, 510) |
(79, 640) |
20 |
(58, 612) |
(67, 84) |
(83, 373) |
21 |
(62, 379) |
(53, 474) |
(110, 622) |
22 |
(53, 277) |
(66, 552) |
(99, 456) |
23 |
(67, 667) |
(53, 474) |
(105, 382) |
24 |
(69, 241) |
(66, 552) |
(69, 510) |
25 |
(69, 510) |
(53, 277) |
(105, 369) |
26 |
(72, 497) |
(62, 372) |
(69, 241) |
27 |
(61, 129) |
(59, 365) |
(105, 369) |
28 |
(61, 622) |
(59, 365) |
(102, 267) |
29 |
(58, 139) |
(67, 84) |
(85, 35) |
30 |
(69, 510) |
(62, 372) |
(74, 170) |
4. Умножение точки на число. Дана точка P на кривой и натуральное число n. Найдите точку nP.
№ варианта |
P |
n |
1 |
(62, 372) |
128 |
2 |
(43, 527) |
116 |
3 |
(39, 171) |
110 |
4 |
(43, 527) |
107 |
5 |
(36, 87) |
111 |
6 |
(49, 568) |
122 |
7 |
(39, 580) |
109 |
8 |
(75, 318) |
142 |
9 |
(45, 720) |
111 |
10 |
(78, 480) |
147 |
11 |
(53, 474) |
120 |
12 |
(43, 527) |
109 |
13 |
(49, 568) |
124 |
14 |
(39, 171) |
108 |
15 |
(49, 183) |
126 |
16 |
(58, 139) |
121 |
17 |
(33, 355) |
111 |
18 |
(39, 580) |
101 |
19 |
(44, 366) |
113 |
20 |
(73, 72) |
103 |
21 |
(85, 716) |
159 |
22 |
(66, 199) |
103 |
23 |
(44, 385) |
113 |
24 |
(45, 720) |
111 |
25 |
(39, 171) |
107 |
26 |
(34, 677) |
106 |
27 |
(34, 74) |
107 |
28 |
(34, 677) |
105 |
29 |
(79, 640) |
149 |
30 |
(58, 139) |
124 |
5. Генерация подписи. Сгенерируйте ЭЦП для сообщения с известным значением хэш-свертки e, зная секретный ключ подписи d при данном значении выбираемого случайным образом числа k. Используйте кривую и генерирующую точку G = (416, 55) порядка n = 13:
№ варианта |
e |
d |
k |
1 |
9 |
3 |
5 |
2 |
3 |
9 |
6 |
3 |
12 |
9 |
2 |
4 |
3 |
4 |
7 |
5 |
5 |
12 |
6 |
6 |
6 |
12 |
7 |
7 |
8 |
5 |
5 |
8 |
8 |
2 |
5 |
9 |
11 |
5 |
6 |
10 |
3 |
3 |
11 |
11 |
10 |
9 |
2 |
12 |
11 |
2 |
8 |
13 |
8 |
6 |
3 |
14 |
3 |
10 |
6 |
15 |
4 |
6 |
11 |
16 |
6 |
12 |
11 |
17 |
2 |
11 |
5 |
18 |
10 |
5 |
11 |
19 |
11 |
5 |
7 |
20 |
6 |
10 |
7 |
21 |
10 |
9 |
11 |
22 |
6 |
10 |
2 |
23 |
9 |
6 |
6 |
24 |
8 |
12 |
8 |
25 |
3 |
2 |
8 |
26 |
6 |
5 |
6 |
27 |
6 |
7 |
11 |
28 |
7 |
3 |
7 |
29 |
9 |
11 |
2 |
30 |
5 |
12 |
8 |
6. Проверка подписи. Проверьте подлинность ЭЦП для сообщения с известным значением хэш-свертки e, зная открытый ключ проверки подписи Q. Используйте кривую и генерирующую точку G = (562, 89) порядка n = 13:
№ варианта |
e |
Q |
(r, s) |
1 |
4 |
(596, 318) |
(11, 4) |
2 |
5 |
(455, 368) |
(3, 7) |
3 |
6 |
(135, 669) |
(5, 7) |
4 |
6 |
(562, 662) |
(5, 7) |
5 |
2 |
(135, 669) |
(7, 6) |
6 |
8 |
(135, 82) |
(11, 10) |
7 |
4 |
(384, 475) |
(11, 9) |
8 |
7 |
(596, 433) |
(11, 1) |
9 |
7 |
(455, 368) |
(11, 11) |
10 |
7 |
(384, 475) |
(5, 5) |
11 |
5 |
(384, 475) |
(11, 1) |
12 |
10 |
(455, 383) |
(11, 10) |
13 |
8 |
(384, 276) |
(3, 1) |
14 |
3 |
(135, 669) |
(11, 10) |
15 |
6 |
(455, 383) |
(3, 1) |
16 |
2 |
(596, 433) |
(3, 10) |
17 |
10 |
(455, 368) |
(11, 6) |
18 |
5 |
(596, 433) |
(11, 12) |
19 |
9 |
(135, 82) |
(7, 7) |
20 |
2 |
(596, 433) |
(11, 4) |
21 |
6 |
(596, 318) |
(7, 5) |
22 |
5 |
(596, 318) |
(7, 4) |
23 |
12 |
(135, 669) |
(5, 11) |
24 |
12 |
(562, 89) |
(3, 2) |
25 |
6 |
(562, 662) |
(7, 10) |
26 |
12 |
(135, 82) |
(7, 8) |
27 |
7 |
(384, 276) |
(5, 2) |
28 |
8 |
(596, 318) |
(11, 6) |
29 |
10 |
(384, 276) |
(7, 6) |
30 |
9 |
(416, 696) |
(11, 11) |
Ответы
