Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теоретико-числовые методы в криптографии и криптопротоколах. Учебное пособие.pdf
Скачиваний:
1
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
Параметры протокола голосования
1024
2n ≈
A
Sn<
A
S
( )
H ⋅
( )
Hx
В настоящем описании протокола используется алгоритм «слепой» RSA-подписи Д. Чоума. Вместо RSA-подписи также можно выбрать и другую подпись (в частности, подпись, основанную на эллиптических кривых, например, ГОСТ 34.10-2018 или ECDSA).
Обозначения:
– параметр криптосистемы RSA; e – открытый ключ избирательной комиссии (Ц); d – секретный ключ избирательной комиссии. Легитимный («законный») избиратель Алиса (А) знает откры­тый ключ e.
Все возможные варианты выбора Алисы кодируются натуральным
числом
. Например, выбор одной из возможных кандидатур можно
представить в виде двоичного вектора, в котором позиция единичного би­та соответствует списочному номеру выбранного Алисой кандидата. Этот битовый вектор является числом
В протоколе используется одна из стандартных хеш-функций
в двоичной системе счисления.
.
Ее 256- или 512-битное значение естественным образом отождествляется
с натуральным числом, т. е.
– целое число.
Согласно данному протоколу избирательная комиссия ведет два ре­естра, открытых для всеобщего просмотра: реестр зарегистрированных избирателей и реестр полученных бюллетеней.
Данный протокол предполагает, что бюллетени отправляются по не­которому подмножеству из множества интернет-адресов (узлов приема), которые ведутся независимыми частными лицами и компаниями (иначе говоря, всеми желающими). Каждый узел приема ведет свою базу данных принятых бюллетеней, и по окончании процедуры голосования все базы объединяются. Каждый владелец узла может самостоятельно проверить, что все принятые им бюллетени присутствуют в общей базе (в реестре по­лученных бюллетеней).
111
Криптопротокол голосования
A
S
0,
AA
XY n<<
( )
,
AA
N H IdA Y=
IdA
(
) (
)
, mod
e
A A AA
K HX HN S n=
Ц
A
K →
{ }
,
A
IdA K
mod
d
AA
BK n=
A
BA→
{ }
,
A
IdA K
( )
/ mod
AA A
C B HX n=
{
}
,,
AA A
NSC
{ }
,, Ц
AA A
NSC →
(
)
mod ,
e
A AA
C n HN S=
{ }
,,
AA A
NSC
A
N
,
AA
SC
1. А: Осуществляет свой выбор
рассчитывает свое секретное число
и случайных чисел
(
– идентификатор
,
Алисы) и выражение
.
2. A: Производит вход на портал избирательной комиссии и после
авторизации на портале осуществляет посылку A:
.
3. Ц: Проверяет «легальность» избирателя (имеет ли право Алиса го­лосовать и не пытается ли проголосовать повторно), после чего заносит в реестр зарегистрированных избирателей имя Алисы и ее персональный
код:
.
4. Ц: Вычисляет
5. A: Проверяет корректность своей записи
естре зарегистрированных избирателей, вычисляет
код проверки. Затем формирует кортеж чисел
и отсылает его Алисе: Ц:
в открытом ре-
– бюллетень.
.
–
6. А: Голосует, отправляя анонимным образом на некоторое число
узлов приема свой бюллетень: A:
.
7. Ц: Каждый узел приема, который получил бюллетень, проверяет равенство
.
Если равенство выполняется, то узел приема добавляет в свою базу
(которая впоследствии попадает в открытый реестр полученных бюллете-
ней) строку
кальным номером
бор
– код проверки корректности бюллетеня.
. Последнее означает, что избиратель под уни-
(известным только самому избирателю) сделал вы-
112
Замечание к п. 6. Для обеспечения анонимности пересылки можно
{ }
,,
AA A
NSC
предложить следующее: отправить данные с мобильного устройства без авторизации на соответствующий адрес через некоторое время или упако-
вать в архивный файл пересылаемый кортеж
по электронной почте на другое устройство (планшет, стационарный компьютер и т. д.) и уже с этого устройства без авторизации отправлять данные.
На основе базовых математических конструкций алгебры и теории чисел предложены эффективные алгоритмы нахождения наибольшего общего делителя, обратного элемента в кольце и возведения в степень по модулю. Данные алгоритмы позволяют более удобно производить вычис­ления для основных асимметрических криптосистем. В частности, широко известную криптосистему RSA, а также Хора – Ривеста и Эль-Гамаля.
, переслать его
113
Часть II
n
1) A = 123521,
B
= 144679;
B
B
B
B
B
B
B
B
11) A = 293597, B = 765481;
n
mod
k
an
1)
328n =, 206a =
,
37k =
;
315n =, 56a =, 194
k =
327n =
52a =
215k =
948n =, 663a =, 920k =
5)
937n =
,
276
a =
,
905k =
;
413n =, 197a =
170k =
627n =, 5a =, 583k =
449
n =, 448a
=
147k =
ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ

4. АЛГЕБРАИЧЕСКИЕ ОПЕРАЦИИ В КОНЕЧНЫХ КОЛЬЦАХ И ПОЛЯХ

4.1. ВЫЧИСЛЕНИЯ В КОЛЬЦАХ

4.1.1. Вычисление наибольшего общего делителя
Даны два числа A и B. Найти наибольший общий делитель этих чи-
сел (A, B).
2) A = 193159,
3) A = 265927,
4) A = 99553,
5) A = 111649,
6) A = 70691,
7) A = 55723,
8) A = 385691,
= 354509; = 452261; = 723301; = 301981; = 24307; = 292681; = 422509;
12) A = 99647, B= 373577;
13) A = 443929, B = 472621;
14) A = 582341, B = 460763;
15) A = 288217, B = 295091;
16) A = 49187, B = 52823;
17) A = 412963, B = 468791;
18) A = 465043, B = 550727;
9) A = 206267,
10) A = 371989, B = 171901;
4.1.2. Возведение в степень в кольце
Вычислить выражение
2)
3)
,
,
4)
= 35369;
; ;
19) A = 547867, B = 372863;
20) A = 172769, B = 186559.
.
6)
7)
;
8)
114
,
;
;
,
;
9)
797n
=
,
450
a =
,
344
k =
;
10)
695n =, 625a =, 49
k
=
280n =, 229
a =
64k =
243n =, 157
a =
71k =
829n
=
59
a =
122k
=
426n =
293, 249ak= =
15)
642n =, 240a =, 447k
=
;
368n =, 168a =, 231k =
459
n
=, 423a =, 197k =
821n =
470a
=
33k =
662n =, 226a =, 588k =
780n =, 454a =
163k =
1
mod ap
−
1)
733p =
,
541a =
;
139
p
=
116a =
829p =
746a =
347p =
148
a =
599p =
325a =
503p =
388a =
359p =
249a =
661p =
253a =
577p
=
42a =
307p =
139a =
11)
877p =
,
562
a =
;
311p =
55a
=
877p =
853a =
887p =
631a =
257p =
235a =
373p =
296
a =
227p
=
209a =
229
p
=
98a =
461p =
73a =
919p =
806a =
mod
ii
a ma
=
{ }
{
}
12
,,
i
a aa=
{ }
{ }
12
,,
i
m mm=
1)
{ }
{ }
9,52
i
a =
,
{ }
{ }
17,79
i
m =
2)
{ }
{ }
8,3,0
i
a =
,
{ }
{ }
13,23,71
i
m =
;
16)
;
11)
12)
13)
14)
Вычислить обратный элемент
2)
3)
, ,
4.1.3. Вычисление обратного элемента
, ,
, ,
,
в простом конечном поле
; ;
;
;
;
;
17)
18)
19)
20)
12)
13)
;
,
.
, ,
,
,
;
;
;
; .
4)
5)
6)
7)
8)
9)
10)
Используя китайскую теорему об остатках, найти наименьшее нату-
ральное число a, т.ч.
, , , , , ,
,
4.1.4. Китайская теорема об остатках
; ; ; ; ;
;
;
14)
15)
16)
17)
18)
19)
20)
, где
,
,
,
,
, , ,
,
;
;
;
;
;
;
.
:
;
115
;
3)
{
}
{
}
16,23,34
i
a
=
,
{ }
{
}
19,59,71
i
m =
;
{ }
{ }
13,2,46
i
a =
{
}
{ }
41,71,83
i
m =
{
}
{ }
55,2,49
i
a =
{
}
{ }
67,71,83
i
m
=
{
}
{ }
1,24,81
i
a =
{ }
{
}
31,79,89
i
m =
{ }
{ }
9,48
i
a =
{ }
{ }
23,79
i
m =
{ }
{
}
1, 43, 6
i
a
=
{ }
{ }
11,67,71
i
m =
{ }
{ }
23,5,68
i
a =
{ }
{ }
47,73,83
i
m =
{ }
{ }
26,27,74
i
a =
{ }
{
}
41,89,97
i
m
=
{ }
{ }
12,7, 29
i
a
=
{ }
{ }
17,23,67
i
m =
12)
{ }
{ }
16,5,21
i
a =
,
{ }
{ }
29,31,59
i
m =
{ }
{ }
8,63,24
i
a =
{ }
{ }
11,71,79
i
m =
{ }
{ }
11,80
i
a =
{
}
{ }
59,89
i
m =
{ }
{ }
4,10,60
i
a =
{ }
{
}
17,19,61
i
m =
{ }
{ }
30,22,0
i
a =
{ }
{ }
59,67,73
i
m =
{ }
{ }
16,54,79
i
a =
{ }
{ }
29,79,97
i
m =
{ }
{ }
0,79,81
i
a =
{ }
{ }
13,89,97
i
m =
{ }
{ }
8,9,37
i
a
=
{
}
{ }
13,67,97
i
m =
{ }
{ }
10,22, 25
i
a
=
{ }
{
}
23,37,73
i
m =
mod
n
ab p=
2 278 mod 883
n
=
3 423 mod 463
n
=
3 333 mod 617
n
=
2 469 mod 661
n
=
:
p
;
4)
5)
6)
7)
8)
9)
,
;
,
;
,
;
,
;
,
;
,
13)
14)
15)
16)
17)
18)
,
;
,
;
,
;
,
;
,
;
,
;
10)
11)
4.1.5. Задача дискретного логарифмирования
Решить задачу дискретного логарифмирования в поле
, т. е. n.
1)
,
;
,
;
в простом конечном поле
;
19)
20)
3)
;
,
;
,
.
;
2)
;
116
4)
;
5)
2 96 mod 101
n
=
3 272 mod 823
n
=
2 114 mod 653
n
=
2 84 mod 173
n
=
5 446 mod 743
n
=
6 270 mod 271
n
=
13 179 mod 457
n
=
5 12 mod 863
n
=
11 4 mod 839
n
=
7 406 mod 499
n
=
7 753 mod 919
n
=
3 180 mod 607
n
=
11 408 mod 719
n
=
2 31 mod 101
n
=
3 119 mod 809
n
=
3 464 mod 881
n
=
n
a
p
 

230
277
 

208 277
 

522
877
 

54
313
 

16
317
 

461
739
 

660
839
 

429 887
 

348 367
 

288 877
 

163
617
 

182
269
 

190
223
 

186
359
 

684 743
 

86
757
 

320
547
 

188
251
 

323
653
 

656
661
 

275 307
 

67
107

 
210
547
 

291
449
 

;
13)
;
6)
7)
8)
9)
10)
11)
12)
4.2.
;
;
;
;
;
;
;

РЕШЕНИЕ КВАДРАТНЫХ УРАВНЕНИЙ В КОЛЬЦАХ

4.2.1. Вычисление символов Лежандра
14)
15)
16)
17)
18)
19)
20)
;
;
;
;
;
;
.
Вычислить символы Лежандра
1) a)
c)
2) a)
c)
3) a)
; b)
; d)
; b)
; d)
; b)
;
;
;
;
;
:
4) a)
c)
5) a)
c)
6) a)
; b)
; d)
; b)
; d)
; b)
;
;
;
;
;
c)
; d)
;
117
c)
; d)
;
7) a)
114
251
 

607 853
 

150
401
 

140
503
 

191
 

36
313
 

41
379
 

194
647
 

587
881
 

723 739
 

617 719
 

546 929
 

90
269
 

460 599
 

437 647
 

162
709
 

353
677
 

471
631
 

946 967
 

9
101
 

303
631
 

45
353
 

495 937
 

390 677
 

309
691
 

170
479
 

114
773
 

578
953
 

317
761
 

204 419
 

263
523
 

266
283
 

582
761
 

257 647
 

255
 

105
307
 

304 863
 

171
 

489 599
 

129
281
 

94
617
 

30
 

499 907
 

627 739
 

9
997
 

175
911
 

58
313

 
190
761

 
667 877
 

65
109
 

449 823
 

30
307
 

238 557
 

190
709
 

314 677
 

48
227
 

; b)
;
14) a)
; b)
;
c)
8) a)
c)
9) a)
c)
10) a)
313
; d)
; b)
; d)
; b)
; d)
; b)
;
;
;
;
;
;
c)
15) a)
c)
16) a)
c)
17) a)
281
; d)
; b)
; d)
; b)
; d)
; b)
;
;
;
;
643
;
;
673
c)
11) a)
c)
12) a)
c)
13) a)
; d)
; b)
; d)
; b)
; d)
; b)
;
;
;
;
;
;
c)
18) a)
c)
19) a)
c)
20) a)
; d)
; b)
; d)
; b)
; d)
; b)
;
;
;
;
;
;
c)
; d)
;
118
c)
; d)
.
4.2.2. Решение квадратных уравнений
p
2
4 3 2 0 mod 53xx++ =
2
9 41 14 0 mod 47xx++ =
2
2 9 13 0 mod 19xx++ =
2
28 19 13 0 mod 43xx
++ =
2
23 52 72 0 mod 97xx++ =
2
7 4 2 0 mod 17xx++ =
2
44 23 47 0 mod 41
xx++ =
2
44 37 52 0 mod 53
xx++ =
2
12 11 0 mod 13xx+ +=
2
1 20 5 0 mod 43xx++=
2
39 26 45 0 mod 53
xx++ =
2
19 15 2 0 mod 37xx++=
2
1 10 8 0 mod 11
xx++=
2
28 13 26 0 mod 29xx++ =
2
11 92 59 0 mod 97xx++ =
2
18 10 11 0 mod 23xx++ =
2
43 60 57 0 mod 79xx++ =
2
67 78 61 0 mod 83xx++ =
2
6 21 12 0 mod 29xx++ =
2
16 31 19 0 mod 37xx++ =
2
38 91 59 0 mod 97xx++ =
2
27 38 35 0 mod 41xx++ =
2
8 3 0 mod 11xx++ =
2
3 40 5 0 mod 47
xx
++=
2
20 71 22 0 mod 79xx
++ =
2
43 27 35 0 mod 47xx++ =
2
29 20 42 0 mod 43xx++ =
2
32 81 48 0 mod 97xx++ =
2
42 14 8 0 mod 43xx++=
2
19 5 13 0 mod 23
xx++ =
2
19 51 34 0 mod 67xx++ =
2
15 69 7 0 mod 89xx++=
2
14 4 13 0 mod 23xx++ =
2
17 80 62 0 mod 83xx
++ =
2
25 18 0 mod 41xx+ +=
2
34 52 48 0 mod 53
xx++ =
2
16 8 35 0 mod 47xx++ =
2
7 16 10 0 mod 23xx++ =
2
10 70 38 0 mod 89xx
++ =
2
31 42 27 0 mod 43xx++ =
в простом конечном поле
Найти все решения квадратного уравнения над простым конечным
полем
1) a)
b)
2) a)
b)
3) a)
b)
4) a)
b)
5) a)
или указать, что решений нет.
;
11) a)
;
;
12) a)
;
;
13) a)
;
;
14) a)
;
;
15) a)
b)
b)
b)
b)
;
;
;
;
;
;
;
;
;
b)
6) a)
b)
7) a)
b)
8) a)
b)
9) a)
b)
10) a)
;
;
;
;
;
;
;
;
;
;
b)
16) a)
b)
17) a)
b)
18) a)
b)
19) a)
b)
20) a)
;
;
;
;
;
;
;
;
;
;
b)
;
119
b)
.
4.2.3. Решение квадратных уравнений
pq
n
n pq=
2
78 86 47 0 mod 143xx
++ =
2
1158 25 444 0 mod 1537xx++ =
2
403 114 813 0 mod 1633xx
++ =
2
2834 353 550 0 mod 3239xx++ =
2
1264 839 729 0 mod 2449
xx++ =
2
887 1011 987 0 mod 1219xx++=
2
56 2138 253 0 mod 2537xx++=
2
3051 446 4736 0 mod 4819xx++ =
2
513 538 247 0 mod 629xx
++ =
2
4276 5438 4721 0 mod 5963xx++ =
2
267 586 1938 0 mod 2077xx++ =
2
29 536 355 0 mod 589
xx++ =
2
103 252 207 0 mod 2747xx
++ =
2
1254 1016 689 0 mod 1349xx++=
2
816 385 77 0 mod 1037
xx++=
2
702 75 495 0 mod 1159xx
++ =
2
371 382 91 0 mod 473xx++=
2
806 284 945 0 mod 1079xx++ =
2
1228 1650 1004 0 mod 2923xx++ =
2
2869 3174 120 0 mod 3599xx++=
в кольце
Найти все решения квадратного уравнения над кольцом
.
1)
2)
3)
4)
5)
6)
7)
;
;
;
;
;
;
;
, где
8)
9)
10)
11)
12)
13)
14)
15)
16)
17)
;
;
;
;
;
;
;
;
;
;
18)
19)
20)
;
;
.
120
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]