DSA 與 ElGamal 與 Schnorr
眾所周知,NSA 在數字簽名算法 (DSA) 的開發中發揮了主要作用。
DSA 是 ElGamal 和 Schnorr 簽名方案的一種混合體。
我的問題是這個。根據我們現在所知道的,為什麼 NSA 發明了一個新方案,而不是僅僅採用 ElGamal 或 Schnorr?我正在尋找基於今天已知的關於這些計劃的相對優勢和劣勢的知情推測,並附有參考資料。(我的意思是,關於優勢和劣勢的參考,而不是為了猜測。)
如果您的猜測是 NSA 做了一些事情來削弱 DSA,那麼除了偽造簽名的能力之外,他們還能獲得什麼?
還是 DSA 只是智慧財產權問題的結果?如果是這樣,我也希望看到一個參考。
顯然,當時 Schnorr 對他的專利對 DSS 的適用性非常堅定。看到這個消息和那個。這些是從 1998 年開始的,但爭議開始得更早;例如,請參閱NIST於 1994 年末發布的此公告,在“專利問題”部分中可以找到對其的引用。有趣的是,NIST 不僅試圖避開 Schnorr 的專利,而且還申請了自己的專利。此外,請參閱此消息以進行其他分析。
必須記住,當 NIST 開始推動非對稱密碼學標準時,RSA 已經佔據了市場的最大份額。真正值得解釋的不是為什麼 NIST 更喜歡 DSA 而不是 Schnorr 簽名,而是為什麼他們使用 DH/DSA 對而不是 RSA。智慧財產權問題是一個非常合理的解釋;正如上面的參考資料所示,那些年確實有一些激烈的衝突。
至於ElGamal 簽名:該方案更昂貴。ElGamal 簽名以素數為模 $ p $ 並且需要一個模冪運算(用於生成)或兩個模冪運算(用於驗證),指數為 $ p $ ; 並且簽名是兩個整數模 $ p $ . 這與 DSA 和 Schnorr 形成鮮明對比,它們都在一個子組中工作,傳統上是一個 160 位子組,用於 1024 位模數。DSA 和 Schnorr 比 ElGamal 快 6 倍,生成的簽名要小 6 倍。這種性能差異足以解釋不選擇 ElGamal。事實上,與 RSA 相比,DSA 和 Schnorr 簽名的短尺寸長期以來一直是這些算法的賣點。