Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теоретико-числовые методы в криптографии и криптопротоколах. Учебное пособие.pdf
Скачиваний:
1
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
Параметры схемы цифровой подписи
509 512
22p<<
1020 1024
22p<<
254 256
22q<<
1p −
p
p
p
a ∈
( )
1
mod
pq
ap
−
= θ
xq<
mod
x
ya p=
( )
mod m HM q
=
( )
H ⋅
0m =
:1m =
kq<
(
)
mod mod
k
ra p q
=
0r =
( )
mod s xr km q= +
0s =
{ }
,rs
( )
m HM=
0m =
:1m =
1
mod vm q
−
=
1
mod z sv q=
( )
2
mod z q rv q= −
( )
12
mod mod
zz
u ay p q=
Выбирается простое число
мент
порядка q (если θ – примитивный элемент поля
стве элемента
),
можно взять
– простой делитель числа
Выбирается случайное натуральное число
жить секретным ключом. Число
(в альтернативной версии
, a – эле-
, то в каче-
).
, которое будет слу-
является открытым ключом.
Генерация электронной подписи
1. Вычисляем значение хеш-функции сообщения и приводим по мо-
дулю
256 бит. Если
. Здесь
, то присваиваем
– хеш-функция с длиной значения
.
2. Выбираем случайное натуральное число
3. Вычисляем
. Если
предыдущий шаг.
4. Используя секретный ключ x, вычисляем
, то возвращаемся на шаг 2.
5. Подписью сообщения M является пара чисел
Проверка электронной подписи
1. Вычисляем значение хеш-функции сообщения
, то полагаем
2. Вычисляем
.
.
.
, то возвращаемся на
. Если
.
. Если
3. Вычисляем
4. Подпись действительна, если выполняется равенство u = r, и не
действительна в противном случае.
,
101
,
.
Покажем, что в случае «правильной» подписи выполняется равенство
ur
=
( )
(
)
( )
1
1
12
mod mod mod mod
q rm
zz
sm x
u ay p q a a p q
−
−
−

= = =
 
( )
( )
(
)
1
1
1
mod mod 1 mod mod
xm
xm
m s rx
qk
a a pqa pqr
−
−
−
−


= = =




=1 mod
q
ap
p
a ∈
q
mod
mod mod
z zq
a pa p=
(
)
ab p
E
255
2p >
ab
Ep≠
P
( )
( )
,
P P ab p
Px y E
∈
qP=
254 256
22q<<
qP O=
0 mod
t
pq≠
1, 2, ,tB=
31B ≥
( )
0JE≠
( )
1728JE≠
( )
3
32
4
1728 mod
4 27
a
JE p
ab
=
+
dq<
( )
ab p
Q dP E= ∈
:
.
Здесь мы использовали равенство
пени элемента
автоматически приводятся по модулю
, в силу которого сте-
.
3.3.3. Электронная подпись (ГОСТ 34.10-2018)
Параметры схемы цифровой подписи
Подпись ГОСТ 34.10-2018 [13] базируется на задаче дискретного лога­рифмирования в группе точек несингулярной эллиптической кривой
над простым конечным полем. Требуется, чтобы
,
– циклическая подгруппа, порожденная точкой
:
,
,
– большое простое число,
, (
требуется
,
,
,
;
;
Секретным ключом является натуральное число
ключом служит точка
102
.
). Кроме того,
.
, открытым
Генерация электронной подписи
( )
m HM=
( )
H ⋅
mod
em q=
0e =
:1e =
kq<
C kP=
mod
C
rx q=
0r =
( )
mod s rd ke q
= +
0s =
rsξ=

, rs

, rs
ξ
,
rs
( )
m HM=
mod em q=
0e =
:1e =
1
mod ve q
−
=
1
mod z sv q=
2
mod z rv q= −
12
D zP zQ= +
mod
D
Rx q=
Rr=
( ) ( ) ( )
11 11
12
D z P z Q e sP rQ e sP rdP e s rd P e keP
−− −−
=+= −= − = − = =
kP C= =
DC
x x Rr= ⇔=
1. Вычисляем значение хеш-функции сообщения:
– хеш-функция (ГОСТ Р 34.11-2012) с длиной значения 256 бит.
2. Вычисляем
. Если
, то полагаем
3. Выбираем случайное натуральное число
4. Находим точку
и полагаем
возвращаемся на предыдущий шаг.
5. Находим число
. Если
третий шаг.
6. Подписью является двоичный вектор
ры, являющиеся двоичной записью целых чисел
. Здесь
.
.
. Если
, то
, то возвращаемся на
. Здесь
– векто-
.
Проверка электронной подписи
1. Извлекаем из подписи
2. Вычисляем значение хеш-функции сообщения:
3. Вычисляем
4. Вычисляем
5. Вычисляем точку
6. Проверяем равенство
пись принимается, в противном случае – нет.
Покажем, что «правильная» подпись должна быть принята. Вычислим
числа
. Если
и
.
, то полагаем
,
.
.
и полагаем
. Если равенство справедливо, то под-
.
.
точку
. Таким образом,
103
.
3.3.4. Электронная подпись ECDSA
*
p
( )
p
EC
( )
2
n
EC
( )
p
EC
( )
2
n
EC
( )
EC
( )
N EC=
11
xq<<−
Q xP=
QO≠
qQ O=
Параметры схемы цифровой подписи
Протокол электронной подписи ECDSA принят как стандарт (ANSI в 1999 г., IEEE и NIST в 2000 г.). Алгоритм ECDSA копирует алгоритм электронной подписи DSA, только в нем вместо мультипликативной
группы
вой над простым конечным полем
рактеристики 2:
дискретного логарифмирования над простым конечным полем и над груп­пой точек эллиптических кривых последняя рассматривается над значи­тельно меньшими полями, что в итоге приводит к возрастанию скорости вычислений.
В качестве открытых параметров в протоколе ECDSA выбирается эл-
липтическая кривая
простого поля используется группа точек эллиптической кри-
или над конечным полем ха-
. При примерно одинаковой сложности задач
над простым конечным полем или кривая
над полем характеристики 2. В документе FIPS PUB 186-4 (Feder-
al Information Processing Standarts Publication) Digital Signature Standard (DSS) приводятся рекомендованные стандартные эллиптические кривые
, указан их порядок
большое простое число (делитель числа N).
Далее выбирается секретный ключ x – случайное число из интервала
. Открытым ключом является точка эллиптической кривой
. Каждому участнику, получившему публичный ключ Q, следует
проверить, что точка
вой, а также равенство
и принадлежит заданной эллиптической кри-
.
, базовая точка P и ее порядок q –
104
Генерация электронной подписи
( )
m HM=
1 kq<<
( )
11
,R kP x y=
1
mod qrx=
0
r
=
(
)
1
mod s k m xr q
−
= +
0s =
{ }
,rs
{ }
,
rs
( )
m HM
=
1
1
mod u sm q
−
=
1
2
r mod us q
−
=
( )
1 2 22
',R uP uQ x y=+=
2
' mod rx q=
'rr
=
'rr=
( )
11 1
12
''R u P u Q s mQ s rxQ s m xr Q kQ R r r
−− −
= + = + = + = =⇒=
1. Вычисляем значение хеш-функции сообщения:
2. Выбираем случайное число k из интервала:
3. Вычисляем точку эллиптической кривой
. Если
, то возвращаемся на предыдущий шаг.
4. Вычисляем значение
щаемся на шаг 2.
5. Подписью сообщения M является пара чисел
Проверка электронной подписи
Для того чтобы проверить подпись
выполнить следующие действия:
1) вычислить значение хеш-функции сообщения
.
.
и число
. Если
, то возвра-
.
сообщения M, необходимо
;
2) определить два числа
3) вычислить координаты точки
число
.
и
;
и определить
Подпись принимается, только если имеет место равенство Покажем, что для действительной подписи должно выполняться ра-
венство
.

3.4. ПРИМЕРЫ КРИПТОПРОТОКОЛОВ

3.4.1. Протокол аутентификации Шнорра
.
.
Протоколы аутентификации решают задачу доказательства подлин­ности одного из участников (протокол односторонней аутентификации) или двух взаимодействующих участников (протокол двусторонней
105
аутентификации). В протоколе односторонней аутентификации один
512
2p ≈
140
2
q
≈
( )
|1qp−
p
g
∈
=1 mod
q
gp
sq<
mod
s
bg p
−
=
q
k
∗
∈
mod
k
rg p=
72
2e <
(
)
mod t k se q= +
mod
te
gb p r=
участник P (Prover) доказывает другому V (Verifier) свою подлинность пу­тем доказательства знания некоторого секрета. При этом сам секрет не раскрывается. В силу этого протоколы аутентификации являются обобщением протоколов доказательства с нулевым разглашением.
Параметрами протокола Шнорра является простое число
и простое число
, т.ч.
, а также элемент
порядка q:
.
В протоколе аутентификации Шнорра доказывающий P доказывает
проверяющему V, что он знает секретное число
проверяющий знает число
.
. Предполагается, что
Протокол Шнорра:
1. Доказывающий P выбирает случайное число
, вычисляет
и посылает это число проверяющему V.
2. Проверяющий V задает вопрос, выбирая случайное число
и отсылая это число доказывающему.
3. Доказывающий P вычисляет
и отсылает его про-
веряющему V.
4. Проверяющий V принимает ответ, если выполняется равенство
.
3.4.2. Протокол Диффи – Хеллмана
Целью протокола является выработка совместного секретного ключа двумя участниками. При этом предполагается, что все сообщения прохо­дят по открытым каналам связи и доступны для прослушивания пассив­ным злоумышленникам. Впервые схема такого протокола была предло-
106
жена в совместной работе Уитфилда Диффи (Whitfield Diffie) и Мартина
p
g ∈
α
11p<α< −
mod ag p
α
=
β
11p<β< −
mod bg p
β
=
mod Kb p
α
=
mod Ka p
β
=
( ) ( )
mod mod
gpgp
αβ
βα
=
mod
ag p
α
=
mod bg p
β
=
Хеллмана (Martin Hellman), а также независимо от них Ральфом Мерклом (Ralph Merkle) в 1976 году.
Пусть участники Алиса и Боб обмениваются сообщениями, которые прослушиваются злоумышленником Евой. По условию до начала обмена сообщениями Алиса и Боб никакими общими секретами не владели. Ре­зультатом работы протокола является общий секрет Алисы и Боба, неиз­вестный Еве.
Согласно протоколу Диффи – Хеллмана обмен сообщениями выгля­дит следующим образом.
Алиса, Боб: выбирают большое простое число p и примитивный
элемент
Алиса: выбирает случайное число
(Ева тоже знает эти числа).
,
, вычисляет
и отсылает его Бобу (Ева знает число a).
Боб: выбирает случайное число
,
, вычисляет
и отсылает его Алисе (Ева знает число b).
Алиса: вычисляет секретный ключ
Боб: вычисляет секретный ключ
Отметим, что в силу равенства
.
.
секретный
ключ K у Алисы и Боба один и тот же.
Еве, для того чтобы определить этот ключ, необходимо решить задачу
дискретного логарифмирования: из равенства
числам p, g, a вычислить α или из равенства
числам p, g, b вычислить β.
Протокол Диффи – Хеллмана безопасен относительно прослушивания пассивного злоумышленника (Евы), но совершенно беззащитен относи-
по известным
по известным
107
тельно атак активного злоумышленника (Мэлори), перехватывающего
AM B

( )
,nk
kn≤
( )
[ ]
xxµ∈
1k −∈
( )
,
ii
xy∈×
1, ,ik=
( )
ii
yx= µ
( )
1
k
j
i
i ji
ij
xx
xy
xx
= ≠
−
µ=
∑∏
−
и модифицирующего сообщения. Такая атака называется «человек посере­дине» (Man in the middle):
.
Ее суть заключается в следующем. Мэлори перехватывает все сооб­щения и при общении с Алисой выдает себя за Боба, а при общении с Бо­бом выдает себя за Алису. В результате вырабатывается общий секретный ключ как у Алисы и Мэлори, так и у Боба и Мэлори.
Чтобы защититься от атаки «человек посередине», перед началом ра­боты протокола Диффи – Хеллмана Алиса и Боб должны провести проце­дуру взаимной аутентификации. Протоколы аутентификации и протокол Диффи – Хеллмана являются составными частями защищенных интернет­протоколов SSL и TLS.
3.4.3. Протокол разделения секрета Шамира
Целью протоколов разделения секрета (
-схема) является реше-
ние задачи, в которой секрет (число s) разделяется между участниками на n долей, и для того чтобы восстановить этот секрет, должны собраться вместе не менее k участников (
). Предполагается также, что собра-
ние менее k участников не дает никакой информации о секрете.
Протокол Шамира базируется на том факте, что произвольный мно-
гочлен
точек
степени
,
, где
однозначно определяется набором k
:
. (3.13)
Формула (3.13) называется интерполяционной формулой Лагранжа.
108
Протокол разделения секрета Шамира строится следующим образом.
(
)
x
µ
1k −
p
=
( )
0
p
s =µ∈
nk≥
i
x
(
)
ii
yx
= µ
i
S
( )
,
ii
xy
( )
1
0
l
m
ml
k
i
i
m lm
ii
x
sy
xx
= ≠
−
=µ=
∑∏
−
47
p =
( )
[ ]
2
47
17 24xx x xµ =+ +∈
(
)
0 24s
=µ=
{ }
{ }
7
47
2,5,6,17,38,41,45
i
x = ∈
( )
ii
yx= µ
{ }
{ }
15,40,21,38,46,5,41
i
y =
i
S
1
S
2
S
3
S
4
S
5
S
6
S
7
S
(
)
2,15
( )
5,40
( )
6,21
(
)
17,38
(
)
38,46
( )
41, 5
( )
45,41
7
S
6
S
3
S
( ) (
) ( ) ( ) (
) ( )
1 65 41 45 1 28 45 6 41 156 41 6 mod 47 24s = ⋅ ⋅ + ⋅ ⋅− + ⋅− ⋅− =
Выбирается произвольным образом многочлен
простым конечным полем
Далее выбирается
Долей секрета участника
шиеся k произвольных участников могут с помощью интерполяционной формулы Лагранжа (3.13) восстановить секрет:
Шамир также предложил схему, в которой каждый участник может
проверить, что он действительно владеет частью секрета.
различных точек
является пара
. Секретом является число
и вычисляются
степени
. Очевидно, что собрав-
. (3.14)
над
.
.
Пример протокола Шамира.
Рассмотрим (7,3)-схему разделения секрета. Выберем простое число
и многочлен
секрет. Выберем произвольным образом 7 произвольных точек
и посчитаем 7 значений
. Таким образом каждый i-й участник получа-
ет свою долю секрета
Пусть объединяются участники со своими долями секрета
:
. Здесь
–
:
,
,
и вычисляют секрет по формуле (3.14):
109
.
3.4.4. Протокол голосования
Основные требования
Целью использования протокола голосования является обеспечение прозрачной и честной процедуры выборов.
Если в качестве злоумышленника выступают органы государственной власти, владеющие всей конфиденциальной информацией об избирателях, то никакой протокол не в состоянии обеспечить справедливость и чест­ность выборов (заметим, что в этом случае теряется весь смысл проведе­ния выборов). Если же злоумышленниками являются отдельные лица, пусть даже из числа членов избирательной комиссии или технического персонала, то правильно организованная процедура выборов может ниве­лировать большую часть угроз.
Перечислим требования, которым удовлетворяет предлагаемый крип­топротокол голосования.
1. В выборах могут принимать участие только «законные» избирате-
ли и только один раз.
2. Протокол обеспечивает анонимность голосования, т. е. никто, включая членов избирательной комиссии и технического персонала, не может определить результат голосования никакого избирателя.
3. Избиратель имеет возможность узнать, как учтен его голос, вслед- ствие чего никому, включая членов избирательной комиссии и техниче­ского персонала, не удастся тайным образом изменить выбор проголосо­вавшего избирателя.
4. Избиратель, обнаруживший, что его голос подсчитан не верно, имеет возможность в суде доказать свою правоту.
5. Избирательная комиссия не может отказаться от приема корректно заполненного бюллетеня.
6. Каждый человек (не только избиратель) может проверить коррект- ность всех принятых бюллетеней и самостоятельно подсчитать голоса из­бирателей.
7. Избиратель (возможно, состоящий в сговоре с третьми лицами), умышленно совершивший подлог, не сможет впоследствии обвинить в этом избирательную комиссию.
110
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]