久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

DES,、AES、RSA等常用加密算法介紹與比較

 旭日_追逐的心 2023-03-31 發(fā)布于廣東

轉(zhuǎn)自:https://my.oschina.net/u/1415710/blog/1499903     

文本先簡(jiǎn)單介紹常用的加密算法,,后面將逐步推送每個(gè)加密算法的加密原理與應(yīng)用及 java 實(shí)現(xiàn)方式,。

加密算法分對(duì)稱加密和非對(duì)稱算法,其中對(duì)稱加密算法的加密與解密密鑰相同,,非對(duì)稱加密算法的加密密鑰與解密密鑰不同,,此外,還有一類不需要密鑰的散列算法,。

常見的對(duì)稱加密算法主要有 DES,、3DES、AES 等,,常見的非對(duì)稱算法主要有 RSA,、DSA 等,散列算法主要有 SHA-1,、MD5 等,。

對(duì)稱算法又可分為兩類。一次只對(duì)明文中的單個(gè)位(有時(shí)對(duì)字節(jié))運(yùn)算的算法稱為序列算法或序列密碼,。另一類算法是對(duì)明文的一組位進(jìn)行運(yùn)算(即運(yùn)算之前將明文分為若干組,,然后分別對(duì)每一組進(jìn)行運(yùn)算,,這些位組稱為分組),相應(yīng)的算法稱為分組算法或分組密碼,。

DES 加密算法

DES 加密算法是一種分組密碼,,以 64 位為分組對(duì)數(shù)據(jù)加密,它的密鑰長(zhǎng)度是 56 位,,加密解密用同一算法,。DES 加密算法是對(duì)密鑰進(jìn)行保密,而公開算法,,包括加密和解密算法,。這樣,只有掌握了和發(fā)送方相同密鑰的人才能解讀由 DES 加密算法加密的密文數(shù)據(jù),。因此,,破譯 DES 加密算法實(shí)際上就是搜索密鑰的編碼。對(duì)于 56 位長(zhǎng)度的密鑰來說,,如果用窮舉法來進(jìn)行搜索的話,,其運(yùn)算次數(shù)為 2 的 56 次方。

3DES(Triple DES)

是基于 DES 的對(duì)稱算法,,對(duì)一塊數(shù)據(jù)用三個(gè)不同的密鑰進(jìn)行三次加密,,強(qiáng)度更高;

AES 加密算法

AES 加密算法是密碼學(xué)中的高級(jí)加密標(biāo)準(zhǔn),,該加密算法采用對(duì)稱分組密碼體制,,密鑰長(zhǎng)度的最少支持為 128、192,、256,,分組長(zhǎng)度 128 位,算法應(yīng)易于各種硬件和軟件實(shí)現(xiàn),。這種加密算法是美國(guó)聯(lián)邦政府采用的區(qū)塊加密標(biāo)準(zhǔn),,AES 標(biāo)準(zhǔn)用來替代原先的 DES,已經(jīng)被多方分析且廣為全世界所使用,。

RSA 加密算法

RSA 加密算法是目前最有影響力的公鑰加密算法,,并且被普遍認(rèn)為是目前最優(yōu)秀的公鑰方案之一。RSA 是第一個(gè)能同時(shí)用于加密和數(shù)宇簽名的算法,,它能夠抵抗到目前為止已知的所有密碼攻擊,,已被 ISO 推薦為公鑰數(shù)據(jù)加密標(biāo)準(zhǔn)。RSA 加密算法基于一個(gè)十分簡(jiǎn)單的數(shù)論事實(shí):將兩個(gè)大素?cái)?shù)相乘十分容易,,但想要對(duì)其乘積進(jìn)行因式分解卻極其困難,,因此可以將乘積公開作為加密密鑰,。

DSA 加密算法

DSA 是基于整數(shù)有限域離散對(duì)數(shù)難題的,,DSA 的一個(gè)重要特點(diǎn)是兩個(gè)素?cái)?shù)公開,,這樣,當(dāng)使用別人的 p 和 q 時(shí),,即使不知道私鑰,,你也能確認(rèn)它們是否是隨機(jī)產(chǎn)生的,還是作了手腳,。這一點(diǎn),,RSA 算法做不到。

相比于 RSA,,DSA 只用于簽名,,而 RSA 可用于簽名和加密。

Base64 加密算法

Base64 加密算法是網(wǎng)絡(luò)上最常見的用于傳輸 8bit 字節(jié)代碼的編碼方式之一,,Base64 編碼可用于在 HTTP 環(huán)境下傳遞較長(zhǎng)的標(biāo)識(shí)信息,。

MD5 加密算法

MD5 為計(jì)算機(jī)安全領(lǐng)域廣泛使用的一種散列函數(shù),用以提供消息的完整性保護(hù),。

MD5 被廣泛用于各種軟件的密碼認(rèn)證和鑰匙識(shí)別上,。MD5 用的是哈希函數(shù),它的典型應(yīng)用是對(duì)一段信息產(chǎn)生信息摘要,,以防止被篡改,。MD5 的典型應(yīng)用是對(duì)一段 Message 產(chǎn)生 fingerprin 指紋,,以防止被 “篡改”,。如果再有 — 個(gè)第三方的認(rèn)證機(jī)構(gòu),用 MD5 還可以防止文件作者的 “抵賴”,,這就是所謂的數(shù)字簽名應(yīng)用,。MD5 還廣泛用于操作系統(tǒng)的登陸認(rèn)證上,如 UNIX,、各類 BSD 系統(tǒng)登錄密碼,、數(shù)字簽名等諸多方。

SHA1 加密算法

SHA1 是和 MD5 一樣流行的消息摘要算法,。SHA 加密算法模仿 MD4 加密算法,。

SHA1 主要適用于數(shù)字簽名標(biāo)準(zhǔn)里面定義的數(shù)字簽名算法。對(duì)于長(zhǎng)度小于 2“64 位的消息,,SHA1 會(huì)產(chǎn)生一個(gè) 160 位的消息摘要,。當(dāng)接收到消息的時(shí)候,這個(gè)消息摘要可以用來驗(yàn)證數(shù)據(jù)的完整性,。在傳輸?shù)倪^程中,數(shù)據(jù)很可能會(huì)發(fā)生變化,,那么這時(shí)候就會(huì)產(chǎn)生不同的消息摘要,。SHA1 不可以從消息摘要中復(fù)原信息,而且兩個(gè)不同的消息不會(huì)產(chǎn)生同樣的消息摘要,。這樣,SHA1 就可以驗(yàn)證數(shù)據(jù)的完整性,,所以說 SHA1 是為了保證文件完整性的技術(shù)。

SHA1 是一種比 MD5 的安全性強(qiáng)的算法,,理論上,凡是采取 “消息摘要” 方式的數(shù)字驗(yàn)證算法都是有 “碰撞” 的 —— 也就是兩個(gè)不同的東西算出的消息摘要相同,,互通作弊圖就是如此,。但是安全性高的算法要找到指定數(shù)據(jù)的 “碰撞” 很困難,而利用公式來計(jì)算 “碰撞” 就更困難一目前為止通用安全算法中僅有 MD5 被破解,。

各種加密算法比較如下:

對(duì)稱加密算法 (加解密密鑰相同)

名稱

密鑰長(zhǎng)度

運(yùn)算速度

安全性

資源消耗

DES

56 位

較快

3DES

112 位或 168 位

AES

128,、192、256 位

非對(duì)稱算法 (加密密鑰和解密密鑰不同)

名稱

成熟度

安全性 (取決于密鑰長(zhǎng)度)

運(yùn)算速度

資源消耗

RSA

DSA

只能用于數(shù)字簽名

散列算法比較

名稱

安全性

速度

SHA-1

MD5

對(duì)稱與非對(duì)稱算法比較

名稱

密鑰管理

安全性

速度

對(duì)稱算法

比較難,,不適合互聯(lián)網(wǎng),,一般用于內(nèi)部系統(tǒng)

快好幾個(gè)數(shù)量級(jí) (軟件加解密速度至少快 100 倍,,每秒可以加解密數(shù) M 比特?cái)?shù)據(jù)), 適合大數(shù)據(jù)量的加解密處理

非對(duì)稱算法

密鑰容易管理

慢,,適合小數(shù)據(jù)量加解密或數(shù)據(jù)簽名

以上給出了 DES,3DES,,AES,,RSA 等常見加密算法的介紹,后面將陸續(xù)推送每一種加密算法的詳細(xì)實(shí)現(xiàn)流程以及相關(guān)的 JAVA 實(shí)現(xiàn)代碼,。 想及時(shí)獲取最新信息可掃以下二維碼關(guān)注本人原創(chuàng)公眾號(hào),。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多