Методы и средства криптографической защиты информации. Жданов О.Н - 162 стр.

UptoLike

162
q = 7 mod 8
и
N = pq
Кроме того, используется небольшое целое число, S, для которого
J(S,N) = -1. (J - это символ Якоби). N И S опубликовываются. Секретным
ключом является k, для которого
k = 1/2 (1/4 (p - 1)(q- 1) +1)
Для шифрования сообщения М вычисляется с
1
, такое что J(M,N) =(-1)
c1
. Затем вычисляется М = (S
c1
*M) mod N. Как и в схеме Рабина, С = М'
2
mod N.
И c
2
= М' mod 2. Окончательным шифротекстом сообщения является тройка:
(С, c
1
, с
2
)
Для дешифрирования С, получатель вычисляет М" с помощью
С
k
=
±
М" (mod N)
Правильный знак М" определяет c
2
. Наконец
М= (S
cl
*(-1)
c1
*M") mod N
Впоследствии Вильямс улучшил эту схему. Вместо возведения в
квадрат открытого текста сообщения, возведите его в третью степени.
Большие простые числа должны быть конгруэнтны 1 по модулю 3, иначе
открытый и закрытый ключи окажутся одинаковыми. Даже лучше,
существует только одна уникальная расшифровка каждого шифрования.
Преимущество схем Рабина и Вильямса перед RSA в том, что доказано,
что они также безопасны, как и разложение на множители. Однако перед
вскрытием с выбранным шифротекстом они совершенно беззащитны. Если
вы собираетесь использовать эти схемы для случаев, когда взломщик может
выполнить такое вскрытие (например, алгоритм цифровой подписи, когда
взломщик может выбирать подписываемые сообщения), не забывайте
использовать перед подписанием однонаправленную хэш-функцию. Рабин
предложил другой способ защититься от такого вскрытия: к каждому
сообщению перед хэшированием и подписанием добавляется уникальная
случайная строка. К несчастью, после добавления однонаправленной хэш-
функцией тот факт, что система столь же безопасна, как и разложение на
множители, больше не является доказанным. Хотя с практической точки
зрения добавление хэширования не может ослабить систему.
2.7.5. Алгоритм EIGamal
Схему EIGamal можно использовать как для цифровых подписей, так и
для шифрования, его безопасность основана на трудности вычисления
дискретных логарифмов в конечном поле.
Для генерации пары ключей сначала выбирается простое число р и два
случайных числа, g и х, оба эти числа должны быть меньше р. Затем
вычисляется
у = g
x
modp
Открытым ключом являются у, g и р. И g, и p можно сделать общими
для группы пользователей. Закрытым ключом является х.