Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Серьёзная ошибка в новом ГОСТе 28.04.02 12:51 Число просмотров: 6078
Автор: Lexy Статус: Незарегистрированный пользователь
|
Всем доброе утро!
Можно показать более общий факт, чем тот который указан автором.
А именно:
Для любых значений h, s, r, если существует точка R, такая что X(R) = r,
можно найти открытый ключ Y, такой что подпись (s,r) будет корректна
для сообщения с хешем h.
Иными словами, не надо требовать, чтобы хеш
сообщения был X-координатой некоторой точки, и для каждого сообщения
можно построить много "независимых" подписей (с разными открытыми
ключами).
Делается это так:
Пусть заданы h = h(M), s, r, r = X(R).
Вычисляем
z1 = sh^{-1} mod p
z2 = -rh^{-1} mod p
Вычисляем
Q = z2^{-1} (R - z1 P);
Убеждаемся, что
C = z1 P + z2 Q = z1 P + (R - z1 P) = R
X(C) = X(R) = R
Таким образом, подпись (s,r) подходит для хеша h (т.е сообщения M).
При этом нет никаких ограничений на h, следовательно можно подписывать
любые сообщения (вероятность равна 100%, а не q/p).
Аналогичные рассуждения, видимо, проходят и для остальных стандартов.
Осталась одна проблема - никто (в том числе и злоумышленник) не знает
секретного ключа d для Y. Таким ообразом, ключ Y - одноразовый, им можно
подписать только сообщение M. И что будет делать мошенник, если его
попросят подписать что-то еще?
Вывод - достаточно при регистрации ключа потребовать подписания
контрольного сообщения.
С уважением,
Алексей Чиликов.
|
|
|