Rsa

為什麼不使用 OAEP 進行簽名?

  • February 5, 2021

似乎明顯缺乏使用 OAEP 填充摘要的 RSA 簽名實現。除了舊的、時髦的填充方案之外,它一直是 PSS。

PSS 似乎有專利的味道。另一方面,OAEP 伴隨著關於其作為索賠和反索賠的理論安全性的長期轉移。

原則上,將 OAEP 與 RSA 一起用於簽名是非常錯誤的嗎?怎麼錯了?和第一代填充方案一樣糟糕嗎?專利的惡臭是否已從 PSS 中消失?如果還有一件事比基礎數學更令人困惑,那就是加密標準的組織:這​​種組合實際上是否相當普遍,在 PKCS 或 RFC 中有詳細的說明,而我只是錯過了它?

不使用RSAES-OAEP進行簽名的一個很好的理由是*,就目前而言*,它不能進行簽名!RSAES-OAEP將帶有可選標籤的消息(長度有限)加密成密碼,並對其進行解密*。*沒有辦法將一些 RSAES-OAEP 黑匣子變成簽名機。


好的,我們可以定義一個帶有簽名過程的 RSA 簽名方案

  • 散列消息 $ M $ 登錄 $ H $
  • 應用 OAEP 填充 $ H $ 而不是 $ M $ ,使用lHash(的散列)一些固定常數,也許01更改為其他一些非零字節,並且像往常一樣,種子隨機性與散列一樣寬,並且PS剛好有足夠的零來填充OAEP
  • 應用 RSA 私鑰功能 $ x\to x^d\bmod N $

以及與之匹配的簽名驗證程序。我不知道這是研究過的,還是我們有一個安全性降低證明如果這個簽名方案可以被破壞,那麼我們可以破壞它的一個組件。我不會冒險去猜測可以在什麼框架下進行這種減少,以及它可以量化到什麼程度。

為什麼要打擾?上述簽名方案與RSASSA-PSS相比沒有明顯優勢,後者俱有安全性降低$$ * $$,被安全部門接受,並被廣泛使用。特別是,在使用 PSS 簽名時沒有理由擔心專利,而且很少有(在我的非律師意見中以及從歐洲在法律不確定性的角度來看相對舒適);引用關於智慧財產權考慮的 PKCS#1 v2.2 附錄 D

PSS 簽名方案在 2009 年 7 月 24 日到期的美國專利 6,266,771 和 2010 年 4 月 25 日到期的美國專利 7,036,014 中有所描述,並由加利福尼亞大學持有。PSS 簽名方案在 IEEE P1363a-2004 中指定。在該標準最終定稿之前,加州大學向 IEEE P1363 工作組提供了一封信函,指出如果 PSS 簽名方案包含在 IEEE 標準中,“加州大學將在採用該標準時,免費許可PSS 的任何符合標準的實現,作為實現帶有附錄的數字簽名的技術”。

$$ * $$我隱約記得關於 PSS 安全性降低對於實際使用的模數大小和其他參數是否在數量上令人滿意的爭論,但未能找到源頭。

引用自:https://crypto.stackexchange.com/questions/29354