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



Pdf көрінісі
бет130/203
Дата26.09.2024
өлшемі2,74 Mb.
#145829
1   ...   126   127   128   129   130   131   132   133   ...   203
Байланысты:
практическая криптография


Глава 13. Алгоритм RSA
return
s
функция
SignWithRSA
вход:
(
n, d
)
Закрытый ключ RSA для
e
= 3
.
m
Сообщение, которое должно быть подписано.
выход:
σ
Подпись сообщения
m
.
s

MsgToRSANumber
(
n, m
)
σ

s
1
/e
mod
n
return
σ
Буква
σ
(сигма) часто применяется для обозначения цифровой подписи,
поскольку это греческий эквивалент английской буквы s (signature — под-
пись). Как вычислить
s
1
/e
mod
n
по заданному закрытому ключу, было опи-
сано ранее.
функция
VerifyRSASignature
вход:
(
n, e
)
Открытый ключ RSA для
e
= 3
.
m
Сообщение, которое было подписано.
σ
Подпись сообщения
m
.
s

MsgToRSANumber
(
n, m
)
assert
s
=
σ
e
mod
n
Разумеется, в реальных приложениях необходимо предпринимать опреде-
ленные меры, если проверка подписи покажет, что та не является подлинной.
В этом примере мы просто вставили утверждение
assert
, чтобы указать на
то, что выполнение каких-либо нормальных действий должно быть прерва-
но. Ошибка подписи должна обрабатываться так же, как и всякая другая
ошибка в криптографических протоколах: это верный признак того, что си-
стема находится под нападением. Не посылайте никаких ответов (разве что
без этого никак не обойтись) и уничтожьте все данные, с которыми работае-
те. Чем больше информации будет отослано, тем больше сведений появится
у злоумышленника.
Аргументы в пользу безопасности цифровых подписей RSA аналогичны
тем, что были высказаны относительно шифрования RSA. Если мы попро-
сим пользователя А подписать ряд сообщений
m
1
, m
2
, . . . , m
i
, то получим
пары вида
(
s, s
1
/e
)
, однако значения
s
в них будут случайными. Если функ-
ция хэширования безопасна, мы можем лишь подобрать
h
(
m
)
методом проб
и ошибок. Генератор случайных чисел — это тоже случайное отображение.
Каждый может создавать пары
(
s, s
1
/e
)
для случайных значений
s
, поэтому
даже наличие такой информации не поможет злоумышленнику фальсифи-
цировать подпись. С другой стороны, для любого конкретного сообщения
m
вычислить соответствующую пару
(
s, s
1
/e
)
может только тот, кто знает за-
крытый ключ, так как на основе
h
(
m
)
вычисляется
s
, а затем
s
1
/e
. Последняя


13.7. Подписи
265
операция требует знания закрытого ключа. Таким образом, каждый, кто про-
верит подпись и обнаружит, что она подлинна, будет знать, что ее должен
был сгенерировать именно пользователь А.
На этом обсуждение алгоритма RSA, а также знакомство с математи-
ческими понятиями и теоремами завершается. Впоследствии мы будем ис-
пользовать алгоритмы RSA и Диффи–Хеллмана для реализации протокола
согласования ключей и инфраструктуры открытого ключа (PKI), но нам по-
надобятся лишь те понятия и формулы, которые уже рассматривались в этой
книге. Никаких новых математических выкладок больше не будет.



Достарыңызбен бөлісу:
1   ...   126   127   128   129   130   131   132   133   ...   203




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

    Басты бет