- •76. Линейный криптоанализ.
- •78. Семейство алгоритма, вычисляющих хэш – функцииMd (md2, md4, md5).
- •79. Стандарт sha-1.
- •80. Цифровая подпись.
- •81. Схема подписи rsa
- •82. Верификация цифровой подписи.
- •83. Схема цифровой подписи Рабина.
- •84. Схема подписи dss.
- •85. СхемаподписиЭль – Гамаля.
- •Использование dsa [править]
- •Шифрование
- •Расшифрование
- •86. Схема подписи по гост 34.10 – 90.
- •Алгоритм Параметры схемы цифровой подписи [править]
- •Двоичные векторы [править]
- •87. Схема подписи Шнорра.
Использование dsa [править]
DSA используется одной стороной для генерации подписи данных, а другой для проверки подлинности подписчика. Подпись генерируется при помощи закрытого ключа. Любая сторона может проверить подлинность цифровой подписи при помощи открытого ключа. Открытый ключ посылается вместе с подписанными данными. Открытый и закрытый ключи не совпадают.
Хэш-функция используется при генерации подписи для получения сжатой версии данных. Полученные данные обрабатываются при помощи DSA для получения цифровой подписи. Для проверки подписи используется та же хэш-функция. Хэш функция описана в SHS (Secure Hash Standard).
Использование SHA вместе с DSA |
|
ГЕНЕРАЦИЯ ПОДПИСИ:
Подписью сообщения M является пара чисел r и s, где
r = (gk mod p) mod q
s = (k−1(SHA(M) + xr)) mod q.
SHA(M) — 160-битная бинарная строка.
Если r = 0 или s = 0, должно быть сгенерировано новое k и вычислена новая подпись. Если подпись вычислялась правильно, вероятность того, что r = 0 или s = 0 очень мала.
Подпись вместе с сообщением пересылается получателю.
ПРОВЕРКА ПОДПИСИ:
Числа p, q, g и открытый ключ находятся в открытом доступе.
Пусть M', r' и s' полученные версии M, r и s, соответственно, и пусть y — открытый ключ. При проверке подписи сначала нужно посмотреть, выполняются ли следующие неравенства:
0 < r' < q
0 < s' < q.
Если хотя бы одно неравенство не выполнено, подпись должна быть отвергнута. Если условия неравенств выполнены, производятся следующие вычисления:
w = (s')−1 mod q
u1 = ((SHA(M')w) mod q
u2 = ((r')w) mod q
v = (((g)ul (y)u2) mod p) mod q.
Если v = r', то подлинность подписи подтверждена.
Если v ≠ r', то сообщение могло быть изменено, сообщение могло быть неправильно подписано или сообщение могло быть подписано мошенником. В этом случае полученные данные следует рассматривать как поврежденные.
85. СхемаподписиЭль – Гамаля.
Схема Эль-Гамаля (Elgamal) — криптосистема с открытым ключом, основанная на трудности вычисления дискретных логарифмов в конечном поле. Криптосистема включает в себя алгоритм шифрования и алгоритм цифровой подписи. Схема Эль-Гамаля лежит в основе стандартов электронной цифровой подписи в США (DSA) и России (ГОСТ Р 34.10-94).
Схема была предложена Тахером Эль-Гамалем в 1984 году.[1] Эль-Гамаль разработал один из вариантов алгоритма Диффи-Хеллмана. Он усовершенствовал систему Диффи-Хеллмана и получил два алгоритма, которые использовались для шифрования и для обеспечения аутентификации. В отличие от RSA алгоритм Эль-Гамаля не был запатентован и, поэтому, стал более дешевой альтернативой, так как не требовалась оплата взносов за лицензию. Считается, что алгоритм попадает под действие патента Диффи-Хеллмана.
ГЕНЕРАЦИЯ КЛЮЧЕЙ:
Генерируется случайное простое число
длины
битов.Выбирается случайный примитивный элемент
поля
.Выбирается случайное целое число
такое,
что
.Вычисляется
.Открытым ключом является тройка
,
закрытым ключом — число
.
РАБОТА В РЕЖИМЕ ШИФРОВАНИЯ
Шифросистема Эль-Гамаля является фактически одним из способов выработки открытых ключей Диффи — Хеллмана. Шифрование по схеме Эль-Гамаля не следует путать с алгоритмом цифровой подписи по схеме Эль-Гамаля.
