Рейтинг:6

Подпись RSA с использованием SHA-256 безопасна?

флаг cn

Защищена ли следующая схема подписи RSA от подделки и предотвращает ли взлом учебника RSA?

$$y = \operatorname{SHA-256}(м)$$ $$s = y^d\bmod N$$

куда $м$ сообщение произвольной длины, $у$ это 256-битный хеш $м$ вычислено с использованием SHA-256, $д$ является закрытым ключом RSA, и $N$ модуль RSA длиной 2048 или выше?

kelalaka avatar
флаг in
Уже есть [RSA-FDH] (https://crypto.stackexchange.com/a/95940/18298), что этот ответ отвечает вашим потребностям.
fgrieu avatar
флаг ng
SHA-256 недостаточно широк, чтобы применить аргумент безопасности RSA-FDH. Напротив, [применяется атака Десмедта и Одлызко] (https://crypto.stackexchange.com/q/51680/555) в некоторой степени нарушает EUF-CMA. Сколько работы, ну, это требует осторожности... См. [это](http://www.crypto-uni.lu/jscoron/publications/iso97962joc.pdf#page=4) \[ссылка исправлена\]
Рейтинг:11
флаг my

Очевидный способ атаковать это (и мы сокращаем $\text{SHA256}(м)$ как $S(м)$ :

  • Для большого количества сообщений $m_i$, вычислить $S(m_i)$, и учтите это. Если оно гладкое, запишите сообщение и простые множители в таблицу; если он не гладкий, откажитесь от него

  • Когда вы записали в свою таблицу достаточно сообщений (и простых множителей), выполните исключение в таблице простых множителей, чтобы найти набор сообщений и множителей, в котором все простые числа выбранных сообщений при умножении на множители дают в сумме 0.

Если у нас есть такое произведение (и множитель, соответствующий одному из сообщений, скажем, $S(m_0)$, равно 1), то имеем (где $p_i$ это множитель, который мы присвоили сообщению $я$):

$$S(m_1)^{-p_1} \cdot S(m_2)^{-p_2} \cdot ... \cdot S(m_n)^{-p_n} \equiv S(m_0)$$

Итак, требуйте подписи $m_1, m_2, ..., m_n$; из этого вы можете вывести подпись для $m_0$.

Итак, насколько это осуществимо? Что ж, основная часть логики напоминает то, что делается в квадратичном полевом сите (QFS); размер (256 бит) примерно соответствует тому, что вы получаете, применяя QFS к 512-битному модулю. QFS может реально разложить 512-битные модули; Я делаю вывод, что этот алгоритм также будет выполним.

poncho avatar
флаг my
@fgrieu: лучше???
fgrieu avatar
флаг ng
Да. Но даже мод не может проголосовать дважды!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.