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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SHA 和 RSA 的区别

發(fā)布時(shí)間:2023/12/15 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SHA 和 RSA 的区别 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

SHA?VS RSA:它們之間有什么區(qū)別?

SHA 和 RSA 有什么區(qū)別? 它們只是不同的算法還是在某種程度上從根本上(即用于不同事物)不同。

原文來自于 stackoverflow:https://stackoverflow.com/questions/733692/sha1-vs-rsa-whats-the-difference-between-them

根本不同

SHA1是一種哈希算法,是一種單向函數(shù),可將任何大小的輸入轉(zhuǎn)換為固定長(zhǎng)度的輸出(在這種情況下為160位)。 密碼散列函數(shù)是這樣一種函數(shù),除了蠻力之外,不可能找到兩個(gè)給出相同輸出的輸入(例如,對(duì)于128位函數(shù),您應(yīng)該平均嘗試2 ^ 64條消息才能找到這樣的散列函數(shù)) 由于發(fā)生了“生日悖論”,導(dǎo)致了“碰撞”-Google為其提供了更多信息)

實(shí)際上,對(duì)于SHA1而言,情況已不再如此-該算法(至少在密碼學(xué)意義上)現(xiàn)在被破壞了,由Xiaoyun Wang等人描述的碰撞攻擊擊敗了典型的生日攻擊。 SHA2系列沒有被破壞,NIST正在開發(fā)一個(gè)程序以商定SHA3算法或算法系列。

Google現(xiàn)在已經(jīng)生成并發(fā)布了實(shí)際的SHA1碰撞。

RSA是一種非對(duì)稱加密算法,將輸入加密為輸出,然后可以將其解密(與不可逆的哈希算法形成對(duì)比)。 它使用與加密(專用)不同的密鑰(公用)。 因此,它可以用來接收來自其他人的加密消息-您可以發(fā)布您的公共密鑰,但是只有擁有私有密鑰的您才能解密已被其加密的消息。

如果您將RSA的密鑰反向,則可以將其用于生成數(shù)字簽名-通過使用您的私有密鑰加密某些內(nèi)容,任何人都可以使用公共密鑰對(duì)其進(jìn)行解密,如果他們確定公共密鑰屬于您,則他們擁有 相信您是對(duì)原始文件進(jìn)行加密的人。 通常,這是與哈希函數(shù)結(jié)合完成的:先哈希輸入,然后使用私鑰加密,為輸入消息提供固定長(zhǎng)度的數(shù)字簽名。

?

RSA效率不高,但SHA效率高

假設(shè)您下載Windows 7,并想確定它是否是Microsoft的原始Windows 7。 如果Microsoft僅通過RSA加密Windows 7,則將花費(fèi)很長(zhǎng)的時(shí)間來使我們完全受不了它。 因此,Microsoft在Windows 7上使用SHA1并生成128位長(zhǎng)的數(shù)據(jù)。 然后,Microsoft使用RSA(使用其私鑰)對(duì)該128位長(zhǎng)的數(shù)據(jù)進(jìn)行加密。

然后,您需要做的就是確保您的公鑰來自Microsoft。 然后也使用SHA1生成128位長(zhǎng)的數(shù)據(jù)。 然后使用RSA的公鑰解密Microsoft的簽名。 然后,您只需比較兩個(gè)128位長(zhǎng)的數(shù)據(jù)以查看它們是否匹配。

SHA1是一種哈希算法(哈希算法特別的地方在于它是一種單向算法,用戶可以通過Hash算法對(duì)目標(biāo)信息生成一段特定長(zhǎng)度的唯一的Hash值,卻不能通過這個(gè)Hash值重新獲得目標(biāo)信息。因此Hash算法常用在不可還原的密碼存儲(chǔ)、信息完整性校驗(yàn)等,常用于文檔和證書簽名),而RSA是一種加密/解密算法(安全通信)。

?

正如其他人所評(píng)論的那樣,它們本質(zhì)上是不同的事物,起著不同的作用。 您使用RSA將信息加密為看似隨機(jī)的形式,同時(shí)使用SHA1來確保消息的完整性(即,所有位均未更改)。 在安全應(yīng)用程序中,您將使用一種或兩種,這取決于所需的功能。

?

SHA1是一種加密哈希函數(shù),而RSA是一種加密算法。

哈希函數(shù)獲取一條數(shù)據(jù)并返回固定長(zhǎng)度的字符串。 在密碼哈希函數(shù)中,所有返回字符串具有相同的概率。 僅給出哈希數(shù),您將無法確定輸入,也找不到其他給出相同哈希值的輸入(可能性非常小的執(zhí)行)。 Sha1有一些安全漏洞。

加密算法給出的是一段數(shù)據(jù),但是輸出的長(zhǎng)度不是固定的-您的加密。 給定輸出(加密),就可以確定輸入(如果您有正確的密鑰)。

?

總結(jié)

以上是生活随笔為你收集整理的SHA 和 RSA 的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。