干貨集:你了解對(duì)稱加密和非對(duì)稱加密么?

Zking部落
非對(duì)稱加密算法的密匙是通過一系列算法獲取到的一長(zhǎng)串隨機(jī)數(shù),通常隨機(jī)數(shù)的長(zhǎng)度越長(zhǎng),加密信息越安全。通過私鑰經(jīng)過一系列算法是可以推導(dǎo)出公鑰的,也就是說,公鑰是基于私鑰而存在的。但是無法通過公鑰反向推倒出私鑰,這個(gè)過程的單向的。

對(duì)稱加密

對(duì)稱加密是最快速、最簡(jiǎn)單的一種加密方式,加密(encryption)與解密(decryption)用的是同樣的密鑰(secret key)。對(duì)稱加密有很多種算法,由于它效率很高,所以被廣泛使用在很多加密協(xié)議的核心當(dāng)中。

加密過程如下:

加密:原文+密匙=密文

解密:密文-密匙=原文

2345截圖20211028093243.png

就像打仗時(shí)特工們用的加密電報(bào),加密和解密都是來源于一本小冊(cè)子,相當(dāng)于翻譯詞典,加密解密的方法相同。

非對(duì)稱加密

明白了對(duì)稱加密后,我們來了解一下什么是非對(duì)稱加密。我們知道,對(duì)稱加密是使用的同一把密匙進(jìn)行加密和解密。自然,非對(duì)稱加密自然是使用不同的密鑰進(jìn)行加密和解密。

非對(duì)稱加密有兩個(gè)鑰匙,及公鑰(Public Key)和私鑰(Private Key)。公鑰和私鑰是成對(duì)的存在,如果對(duì)原文使用公鑰加密,則只能使用對(duì)應(yīng)的私鑰才能解密;因?yàn)榧用芎徒饷苁褂玫牟皇峭话衙荑€,所以這種算法稱之為非對(duì)稱加密算法。

非對(duì)稱加密算法的密匙是通過一系列算法獲取到的一長(zhǎng)串隨機(jī)數(shù),通常隨機(jī)數(shù)的長(zhǎng)度越長(zhǎng),加密信息越安全。通過私鑰經(jīng)過一系列算法是可以推導(dǎo)出公鑰的,也就是說,公鑰是基于私鑰而存在的。但是無法通過公鑰反向推倒出私鑰,這個(gè)過程的單向的。

下面,讓我們看一下非對(duì)稱加密及解密過程。

2345截圖20211028093243.png

根據(jù)上圖,我們可以看到,對(duì)于原文,通過接收方的公鑰進(jìn)行加密,發(fā)送給接收方,接收方拿到密文后,通過自己的私鑰可以解密,獲取原文信息。在這個(gè)過程中,即使接收方公鑰泄漏,也不會(huì)導(dǎo)致消息泄漏,因?yàn)槊芪闹荒芡ㄟ^接收方的私鑰才能打開。所以,信息安全過程中,接收方只需要保管好自己的私鑰不泄露即可。

同樣,當(dāng)接收方向發(fā)送方發(fā)送消息時(shí),接收方將密文通過原發(fā)送方的公鑰進(jìn)行加密,原發(fā)送方通過自己的私鑰才可解密。

對(duì)稱加密加密與解密使用的是同樣的密鑰,所以速度快,但由于需要將密鑰在網(wǎng)絡(luò)傳輸,所以安全性不高。

非對(duì)稱加密使用了一對(duì)密鑰,公鑰與私鑰,所以安全性高,但加密與解密速度慢。

折中的解決辦法:

秘鑰二次加密,將對(duì)稱加密的密鑰使用非對(duì)稱加密的公鑰進(jìn)行加密,然后把二次加密后的秘鑰發(fā)送出去,接收方使用私鑰進(jìn)行解密得到對(duì)稱加密的密鑰,然后雙方可以使用對(duì)稱加密來進(jìn)行溝通。

THEEND

最新評(píng)論(評(píng)論僅代表用戶觀點(diǎn))

更多
暫無評(píng)論