В. Р. Гинзбург Перевод с английского



Pdf көрінісі
бет122/203
Дата26.09.2024
өлшемі2,74 Mb.
#145829
1   ...   118   119   120   121   122   123   124   125   ...   203
Байланысты:
практическая криптография


Глава 13. Алгоритм RSA
В материале этой главы используются значения
p
,
q
и
n
. Значения
p
и
q

это два разных больших простых числа, длина каждого из которых состав-
ляет порядка тысячи бит или более. Значение
n
определяется как
n
:=
pq
.
(На сей раз это обычное произведение, а не взятое по модулю какого-нибудь
числа.)
13.2
Китайская теорема об остатках
Вместо того чтобы проводить вычисления по модулю простого числа
p
,
как это было в схеме Диффи–Хеллмана, мы будем работать по модулю со-
ставного числа
n
. Чтобы лучше понять изложенное, вы должны познакомить-
ся еще с некоторыми аспектами теории чисел. Пожалуй, наиболее полезным
из них является
китайская теорема об остатках (Chinese Remainder Theo-
rem — CRT)
. Таким названием данная теорема обязана тому, что в своей ба-
зовой форме впервые была доказана китайским математиком Сунь Цзе (Sun
Tsu), жившим в первом веке до нашей эры. (Большинство математических
понятий, которые нужно знать для работы с алгоритмами Диффи–Хеллмана
и RSA, были сформулированы еще тысячи лет назад, поэтому не могут быть
слишком сложными, не так ли?)
Числа по модулю
n
— это
0
,
1
, . . . , n

1
. Они не образуют конечное по-
ле, как в том случае, если бы
n
было простым числом. Математики обозна-
чают это множество чисел как
Z
n
и называют его
кольцом (ring)
, но нам
этот термин не понадобится. Для каждого
x
из
Z
n
можно вычислить пару
(
x
mod
p, x
mod
q
)
. Китайская теорема об остатках утверждает, что можно
выполнить и обратную операцию: зная
(
x
mod
p, x
mod
q
)
, восстановить ис-
ходное значение
x
.
Для упрощения записи введем обозначение
(
a, b
) := (
x
mod
p, x
mod
q
)
.
Вначале покажем, что восстановление исходного значения
x
вообще воз-
можно, а затем приведем алгоритм его вычисления. Чтобы вычислить
x
по
заданным
(
a, b
)
, следует убедиться, что в
Z
n
не существует второго такого
числа
x
0
, для которого
x
0
mod
p
=
a
и
x
0
mod
q
=
b
. В противном случае и
x
и
x
0
привели бы к появлению одной и той же пары
(
a, b
)
, и ни один алгоритм
не смог бы распознать, какое из этих значений является исходным.
Пусть
d
:=
x

x
0
— это разность чисел, которым соответствует одна и та
же пара
(
a, b
)
. Имеем
(
d
mod
p
) = (
x

x
0
) mod
p
= (
x
mod
p
)

(
x
0
mod
p
) =
a

a
= 0
, а следовательно,
d
кратно
p
. Аналогичным образом получаем, что


Достарыңызбен бөлісу:
1   ...   118   119   120   121   122   123   124   125   ...   203




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет