Хорошо
Метод в вопросе приводит к системе подписи, которая всегда успешно проверяет сообщение, которое она подписывает; и есть комбинации схем асимметричного шифрования и хэшей, где эта система подписи соответствует Свойство безопасности EUF-CMA, в том числе:
- РГАЭС-ОАЭП близко к тому, что практикуется, и стандартный криптографический хеш, такой как SHA-256. Однако для части RSA необходимы две настройки:
Выбор $е$ случайным и большим битовым размером (половина битового размера $n$ вроде нормально) а не $е=65537$ как обычное (или другое более низкое угадываемое значение, или случайное, но слишком низкое для безопасности¹ метода вопроса)
Выражение ключа дешифрования $K_{dec}$ как $(н,д)$ а не как обычно $(n,e,d,p,q,d_p,d_q,q_\text{Inv})$, используемый стандартными реализациями, которые заботятся о производительности.
Оба изменения необходимы для сохранения $е$ из $K_{enc}=(n,e)$ секрет, когда мы делаем $K_{dec}=(n,d)$ общественность, как в вопросе.
- Шифрование RSA, как в оригинальная статья кроме как с $n$ достаточно большой, чтобы противостоять современным методам факторизации², и хеш-значение значительно больше, чем указано выше, чтобы противостоять Атака Десмедта и Одлызко.
Плохо
Метод небезопасен при применении к большинству асимметричных криптосистем.
Обратите внимание, что $K_{dec}$ должен быть обнародован, так как это ключ проверки, и $K_{enc}$ должен храниться в секрете, так как это ключ подписи. Таким образом, отношение между двумя ключами должно быть таким, чтобы мы можем сделать $K_{dec}$ общественности при сохранении тайны $K_{enc}$. RSA — это единственное хорошо известное мне семейство схем шифрования, которое может обладать этим свойством (и, как объяснялось выше, его практическая реализация не имеет).
Для многих систем асимметричного шифрования это свойство нельзя применить. Например, в Эль-Гамаль и это современный потомок ECIES, $K_{dec}$ это целое число, которое кодирует, как добраться до элемента группы $K_{enc}$ путем применения внутреннего группового закона к определенному элементу публичной группы; поэтому выявление $K_{dec}$ неизбежно раскрывает $K_{enc}$, нарушая безопасность конструкции вопроса.
В более общем смысле, использование безопасной системы асимметричного шифрования и безопасного хеширования не является хорошим признаком того, что система подписи, полученная методом вопроса, является безопасной по целому ряду причин.
Когда мы рассматриваем безопасность реализации, возникает еще одна проблема: реализация $\texttt{шифровать}$ не нуждается в защите от утечки побочного канала своего ключевого ввода, поскольку обычно он является общедоступным. Однако такая защита требуется для системы подписи вопроса.
Метод имеет тенденцию строить схемы подписи с нестандартными характеристиками.
Сравнение подписи RSA (в том числе по методу вопроса) с EdDSA на стандартном уровне безопасности:
- Подпись довольно большая (256 байт против 64 байт)
- Открытый ключ большой (обычно 260 байт по сравнению с 32 байтами).
- Генерация подписи медленная (например, в десятки раз медленнее)
- Генерация ключей мучительно медленная (в сотни раз медленнее).
И метод не совсем тот, что используется для создания подписи RSA, даже близкий родственник RSA-FDH. Это использует функцию закрытого ключа RSA из учебника. $h\mapsto s=h^d$ подписать широкий хэш $ч=Н(М)$; и учебник функции открытого ключа RSA $s\mapsto h=s^e\bmod n$ с последующим сравнением $h\overset?=H(M)$ в проверке. В отличие от метода вопроса, открытый ключ $(п,е)$ остается открытым, а закрытый ключ $(n,e,d,p,q,d_p,d_q,q_\text{Inv})$ остается тайной. По сравнению с этим или RSASSA-PKCS1-v1_5 или же РСАССА-ПСС, метод подписи вопроса:
- Знаки почти в четыре раза медленнее, потому что он не может использовать $(n,e,d,p,q,d_p,d_q,q_\text{Inv})$ форма для $K_{dec}$
- Проверяет примерно в сто-тысячу раз медленнее, потому что не может использовать маленькую $е$.
¹ С $n$ известно, если один из $е$ или же $д$ известно и меньше $n^{0,292}$, то другой можно найти, см. Боне и Дерфи. Поэтому обычное ограничение в 256 бит $е$ (например, встроенный в метод генерации ключей FIPS 186-4) такова, что раскрывающая $д$ позволяет найти $е$.
² Первоначальная рекомендациячто $д$ следует выбирать из достаточно большого множества, чтобы криптоаналитик не мог найти его прямым переборомзатем вычислить $е$ от $д$ было неадекватно и позволяло Винера атака, позже улучшенный Боне и Дерфи. Но сохраняя $д$ секрет и изготовление $е$ public, так как метод вопроса требует исправления этой проблемы.