最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

密碼學(xué)——對(duì)稱加密、非對(duì)稱加密與哈希加密

2022-10-26 17:31 作者:Vector永遠(yuǎn)的神  | 我要投稿

因?yàn)樽罱_(kāi)始研究無(wú)人機(jī)反制,所以就要針對(duì)傳輸協(xié)議做一些了解研究,所以就開(kāi)始學(xué)一下密碼學(xué),來(lái)充實(shí)一下自己之前沒(méi)有學(xué)習(xí)的內(nèi)容。

文章部分內(nèi)容來(lái)源于公開(kāi)的百科與公開(kāi)圖書(shū),侵刪。

密碼學(xué)是數(shù)學(xué)的一個(gè)分支,加密算法主要分為對(duì)稱加密非對(duì)稱加密算法,對(duì)稱加密指的是接受和發(fā)送雙方的加密解密的密鑰相同,非對(duì)稱指的則是雙方的密鑰不同;還有一種不需要密鑰的哈希算法。

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

對(duì)稱加密算法

應(yīng)用的時(shí)間比較早,技術(shù)也比較成熟,數(shù)據(jù)發(fā)送方將數(shù)據(jù)明文和加密密鑰一起經(jīng)過(guò)加密算法加密后發(fā)送,接收方使用相同的密鑰對(duì)其進(jìn)行解密,就可以閱讀明文了。在這個(gè)過(guò)程當(dāng)中,使用到的密鑰只有一個(gè),需要確保雙方之前都已經(jīng)知道該密鑰。

對(duì)稱加密算法的特點(diǎn)是算法公開(kāi)、計(jì)算量小、加密速度快、加密效率高。

不足之處是,交易雙方都使用同樣鑰匙,安全性得不到保證。此外,每對(duì)用戶每次使用對(duì)稱加密算法時(shí),都需要使用其他人不知道的惟一鑰匙,這會(huì)使得發(fā)收信雙方所擁有的鑰匙數(shù)量呈幾何級(jí)數(shù)增長(zhǎng),密鑰管理成為用戶的負(fù)擔(dān)。對(duì)稱加密算法提供了認(rèn)證的功能,但無(wú)法提供簽名功能,如果密鑰被提前獲知的話,接收方就無(wú)法保證明文數(shù)據(jù)是發(fā)送方所發(fā)出的。

數(shù)據(jù)加密標(biāo)準(zhǔn)(Data Encryption Standard,縮寫(xiě)為DES)曾經(jīng)是世界標(biāo)準(zhǔn)。DES的整個(gè)體制是公開(kāi)的,系統(tǒng)的安全性完全靠密鑰保密。DES 加密算法是一種 分組密碼,以 64 位為 分組對(duì)數(shù)據(jù) 加密,它的 密鑰長(zhǎng)度 是 56 位,加密解密 用 同一算法。DES 加密算法是對(duì) 密鑰 進(jìn)行保密,而 公開(kāi)算法,包括加密和解密算法。這樣,只有掌握了和發(fā)送方 相同密鑰 的人才能解讀由 DES加密算法加密的密文數(shù)據(jù)。因此,破譯 DES 加密算法實(shí)際上就是 搜索密鑰的編碼。對(duì)于 56 位長(zhǎng)度的 密鑰 來(lái)說(shuō),如果用 窮舉法 來(lái)進(jìn)行搜索的話,其運(yùn)算次數(shù)為 2 ^ 56 次。


非對(duì)稱加密算法

這個(gè)算法類似對(duì)密鑰進(jìn)行保密,將私鑰一直不發(fā)出,利用公鑰在網(wǎng)絡(luò)間進(jìn)行傳遞加密,然后用私鑰進(jìn)行解密的過(guò)程,以此來(lái)確保安全性和可靠性。公鑰和私鑰是一對(duì),公鑰用作加密,只有對(duì)應(yīng)的私鑰才能將其解密。

由于是由不同的密鑰進(jìn)行加密解密,因此稱為不對(duì)稱加密,算法很復(fù)雜,加密解密的速度相對(duì)來(lái)說(shuō)比較慢。在對(duì)稱加密的過(guò)程中,密鑰的傳輸是需要嚴(yán)格保證安全性的。但是非對(duì)稱傳輸里面,公鑰是公開(kāi)的,安全性不需要太多的保證,只需解密的時(shí)候使用自己的私鑰進(jìn)行就可以了。

  1. 初始狀態(tài)下,通訊網(wǎng)絡(luò)內(nèi)的A和B都要產(chǎn)生一對(duì)用于加密算法和解密的公鑰和私鑰。

  2. A的私鑰保密,A的公鑰告訴B;B的私鑰保密,B的公鑰告訴A。相當(dāng)于公鑰就在通訊網(wǎng)絡(luò)上進(jìn)行傳播,私鑰始終自我保留。

  3. A要給B發(fā)送信息時(shí),A用B的公鑰加密信息,因?yàn)锳知道B的公鑰。

  4. B收到這個(gè)消息后,B用自己的私鑰解密A的消息。其他所有收到這個(gè)報(bào)文的人都無(wú)法解密,因?yàn)橹挥蠦才有B的私鑰。

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)行 因式分解 卻極其困難,因此可以將 乘積 公開(kāi)作為 加密密鑰。

Hash算法

這里的哈希算法的基礎(chǔ)和Java里面的哈希表類似,都是根據(jù)元素自身的元素特性通過(guò)哈希函數(shù)計(jì)算取余。哈希函數(shù)就是把任意長(zhǎng)度的消息壓縮到固定長(zhǎng)度的消息摘要的函數(shù)。

散列函數(shù)是一個(gè)多對(duì)一的函數(shù),在理論上必定存在不同的輸入對(duì)應(yīng)相同的散列輸出,但這種情況在實(shí)際中必須不可能出現(xiàn)。(通過(guò)分塊操作使其在計(jì)算上不可行)


正向快速:給定明文和hash算法,在有限時(shí)間和有限資源內(nèi)計(jì)算Hash值。

不可逆性:給定任意的Hash值,在有限時(shí)間內(nèi)很難逆推出明文。

輸入敏感:如果輸入的數(shù)據(jù)信息被輕微修改,輸出的Hash值也會(huì)有很明顯的變化。

抗碰撞性:如果滿足x≠y且H(x)=H(y),則稱為碰撞。任意輸入不同的數(shù)據(jù),其輸出的Hash值不可能相同,如果給定一個(gè)數(shù)據(jù)塊去找出其具有相同的Hash值,那是幾乎不可能。


哈希函數(shù)的安全性需求

SHA—256算法是最常使用的哈希加密算法,中本聰在加密比特幣的時(shí)候就是使用了這個(gè)算法。無(wú)論輸入的長(zhǎng)度是多少,都只輸出64個(gè)字符,32個(gè)字節(jié)長(zhǎng)度,256bit,只包含0-9和A-F。


密碼學(xué)——對(duì)稱加密、非對(duì)稱加密與哈希加密的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
宁化县| 和顺县| 仁化县| 湛江市| 洪雅县| 师宗县| 苍南县| 光山县| 景宁| 肇源县| 宜宾县| 黔西县| 玉田县| 上栗县| 剑阁县| 宕昌县| 北辰区| 巴林左旗| 绥阳县| 苗栗县| 故城县| 高淳县| 六安市| 湖口县| 安福县| 修武县| 恩平市| 循化| 万宁市| 青神县| 象山县| 长海县| 柳林县| 昌黎县| 临清市| 抚松县| 鄂尔多斯市| 玛沁县| 措美县| 黔东| 延寿县|