
數字簽名標準DSS中的算法稱為數字簽名算法DSA,它作為一個密碼算法,安全強度是最基礎的技術指標。對於現在已經知道的主要攻擊方法,分析了DSA的安全性,可總結得出如下結論。
(1)DSA充足的密鑰長度能抵抗像窮搜索攻擊此類的暴力攻擊方法。
(2)從各種攻擊方法需完成的計算可以看出:對由算法的公開信息直接求取私鑰、生日攻擊、已經知道消息的偽造攻擊等通用攻擊手段,它的計算量等價或比求解離散對數難,因此以現在的計算能力,DSA面對這些攻擊是安全的。
(3)DSA可能的缺點在隨機數k、和消息沒有關係的簽名r、公共模數p與q、Hash函數等處。相應的解決方案如下。
①隨機數k。設計好的隨機數生成器,避免低指數與一樣隨機數。
②與消息無關的簽名r。模p的長度確定了共r的安全強度。
③公共模數p與口。在對安全強度要求高但運算速度卻較低時用DSA素數。
④Hash函數。使用消息摘要足夠長的SHA。因公鑰密碼體制是基於繁雜數學計算問題的,伴隨計算能力的提升,包含DSA在其中的全部公鑰密碼算法的安全強度均存在更明顯的挑戰。加強DSA安全強度的最直接有用的方法是加大密鑰長度,不過因受運算速度、存儲容量、傳輸帶寬等原因的約束,密鑰長度並不能無限增加,因此,在DSA的生存期內,其安全問題會是值得研究與探索的長遠課題。
