日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

RSA算法与DSA算法的区别

發布時間:2025/3/15 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RSA算法与DSA算法的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ? 當我們在Linux/Unix系統(windows下需用git的bash工具)中通過生成ssh認證密鑰時,你要(用-t type來)選擇創建一對RSA或者DSA密鑰。這兩者之間有什么區別?是什么原因讓人們選擇其中一個而不選另外一個?

Go with RSA

? ? ? ? DSA(用于數字簽名算法)的簽名生成速度很快,驗證速度很慢,加密時更慢,但解密時速度很快,安全性與RSA密鑰相等,而密鑰長度相等。此為一些重要的話,現在是一些觀點。

? ? ? ? RSA算法(可用于加密和數字簽名)的安全性基于這樣的事實:大整數的因式分解被認為是‘難以破解’(困難的),而DSA安全性基于離散對數問題。今天已知用于分解大整數塊的最快算法是通用數字場篩(可以理解為對簡單合理篩或二次篩的改進算法),也是解決有限域中的離散對數問題的最快算法,該算法以DSA指定的大素數為模。

? ? ? ? 現在,如果安全性可以被認為是平等的,那么我們當然會贊成更快的算法,但是,再一次,沒有明確的贏家。

? ? ? ? 如果你的計算機安裝了OpenSSL,請運行。您將看到DSA在生成簽名時執行的很快,但在驗證具有相同密鑰長度的簽名時速度要慢得多。通常來說你想要驗證得(速度)更快,如果你處理的是一個已簽名的文件,(而如果你的)簽名只生成一次,這很好,但文件簽名最終可能會被用戶頻繁地驗證(這就不好了,因為驗證速度很慢)。

? ? ? ? 兩者都支持某種形式的加密方法,開箱即用的RSA和使用EI GAMAL(一種基于Diffie-Hellman密鑰交換的非對稱加密算法)的DSA。DSA解密速度通常很快,但加密較慢,而RSA則相反。同樣,您會希望解密速度更快,因為一個加密文檔可能會被頻繁解密。

? ? ? ? 從商業角度來看,RSA顯然是贏家,商業RSA證書比DSA證書被更廣泛地部署。

? ? ? ? 關鍵是:(當查看)說DSA密鑰必須長1024位,才能符合NIST(美國國家標準技術研究院)的FIPS 186-2(數字簽名標準).因此,雖然理論上可能有更長的DSA密鑰(FIPS 186-2也明確允許它們),但你仍然受限于1024位。

? ? ? ? 今天,你最好使用RSA 2048位密鑰(也可以直接生成4096位的RSA密鑰)

? ? ? ? FIPS 186-4規定了三種可用于數據保護的數字簽名生成和驗證技術:數字簽名算法(DSA),橢圓曲線數字簽名算法(ECDSA)和Rivest-Shamir Adelman算法( RSA)。

后記

? ? ? ? 實際上,OpenSSH 7.0及以上版本默認禁用了ssh-dss(DSA)公鑰算法。官方沒有給出具體的解釋,但其中可能有OpenSSH,DSA密鑰位數生成的原因,同時生成簽名時隨機性差,可能會泄漏私鑰,且以現在機算機的算力,DSA 1024-bit已經實際上可破解,建議不使用。

?

總結

以上是生活随笔為你收集整理的RSA算法与DSA算法的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。