什么是公鑰密碼學(xué)?

鴻蒙社群頭條號(hào)
鴻蒙社群
公鑰密碼學(xué)解決了對(duì)稱算法中長期存在的問題,即加密密鑰和解密密鑰之間的通信問題。在不安全的連接中發(fā)送對(duì)稱密鑰將會(huì)產(chǎn)生將其暴露給第三方的風(fēng)險(xiǎn),而第三方隨后則可以讀取任何由該共享密鑰所加密的信息。

什么是公鑰密碼學(xué)?

公鑰密碼學(xué)(PKC)又稱非對(duì)稱密碼學(xué),是一種同時(shí)使用公鑰和私鑰的機(jī)制,與使用單一密鑰的對(duì)稱密碼學(xué)相對(duì)應(yīng)。密鑰對(duì)的使用賦予了PKC獨(dú)特的功能和特性,以解決存在于其他密碼學(xué)技術(shù)中的固有挑戰(zhàn)。此種形式的密碼學(xué)已經(jīng)成為現(xiàn)代計(jì)算機(jī)安全中重要原理,同時(shí)也是日益增長的加密貨幣生態(tài)系統(tǒng)的關(guān)鍵組成部分。

公鑰密碼學(xué)的工作原理

在PKC體系中,發(fā)送方使用公鑰來加密信息,而接收方則使用私鑰來解密信息。由于兩個(gè)密鑰的完全不同,因此可以安然的進(jìn)行公鑰共享,而并不用擔(dān)心會(huì)損害私鑰的安全性。每組非對(duì)稱密鑰對(duì)都是唯一的,所以就確保了使用公鑰加密的信息只能由持有對(duì)應(yīng)私鑰的人才能進(jìn)行讀取。

并且,由于非對(duì)稱加密算法生成的密鑰對(duì)之間是數(shù)學(xué)相關(guān)的,所以它們的密鑰長度相比于對(duì)稱密碼學(xué)使用的密鑰要長的多。其長度通常為1024位或2048位,所以使用公鑰來計(jì)算對(duì)應(yīng)私鑰也就變得極其困難?,F(xiàn)如今,最常見的非對(duì)稱加密算法被稱為RSA。在RSA方案中,密鑰是通過兩個(gè)數(shù)相乘(通常為兩個(gè)較大的質(zhì)數(shù))得到的公共模數(shù)來生成。其中模數(shù)將生成兩個(gè)密鑰,一個(gè)是可以共享的公鑰,另一個(gè)是需要保密的私鑰。RSA算法在1977年由Rivest、Shamir以及Adleman(所以叫RSA)首次提出,而現(xiàn)在也仍然是公鑰密碼學(xué)系統(tǒng)的重要組成部分。

使用PKC來作為加密工具

公鑰密碼學(xué)解決了對(duì)稱算法中長期存在的問題,即加密密鑰和解密密鑰之間的通信問題。在不安全的連接中發(fā)送對(duì)稱密鑰將會(huì)產(chǎn)生將其暴露給第三方的風(fēng)險(xiǎn),而第三方隨后則可以讀取任何由該共享密鑰所加密的信息。雖然存在諸如迪菲-赫爾曼密鑰交換協(xié)議等加密學(xué)技術(shù)來解決這一問題,但這些密鑰仍是容易受到攻擊的。而在公鑰密碼學(xué)中完全不用擔(dān)心此問題,且用于加密的密鑰可以在任何網(wǎng)絡(luò)連接中共享。至此,與對(duì)稱算法相比,非對(duì)稱算法就提供了更高級(jí)別的保護(hù)。

數(shù)字簽名中的用例

非對(duì)稱密碼學(xué)算法的另一個(gè)應(yīng)用就是使用數(shù)字簽名來驗(yàn)證數(shù)據(jù)。本質(zhì)上來說,數(shù)字簽名就是使用信息中的數(shù)據(jù)所創(chuàng)建的散列。當(dāng)信息被發(fā)送之后,接收方可以使用發(fā)送方的公鑰來核實(shí)簽名,以此來驗(yàn)證消息的來源并確保信息未被篡改。在某些情況下,數(shù)字簽名和加密技術(shù)是同時(shí)應(yīng)用的,這是因?yàn)樯⒘斜旧硪部赡苁潜患用艿摹H欢枰⒁獾氖?,并非所有的?shù)字簽名體系都是使用加密技術(shù)的。

局限性

的確,PKC的可以用于提高計(jì)算機(jī)的安全性并驗(yàn)證信息的完整性,但其也存在一定的局限性。由于加密和解密涉及到復(fù)雜的數(shù)學(xué)操作,所以非對(duì)稱算法在處理大量數(shù)據(jù)時(shí)也可能略顯緩慢。且此類型密碼學(xué)也很大程度的依賴于私鑰保密的假設(shè)。倘若意外的共享或公開了私鑰,則使用其對(duì)應(yīng)公鑰加密的信息的安全性就會(huì)受到影響。有時(shí)用戶的私鑰也可能意外丟失,而這種情況下用戶將失去對(duì)加密數(shù)據(jù)的訪問權(quán)。

公鑰密碼學(xué)的應(yīng)用

此種密碼學(xué)被許多現(xiàn)在計(jì)算機(jī)系統(tǒng)所使用來為敏感信息提供安全保障。就比如,可以使用公鑰密碼學(xué)技術(shù)來對(duì)電子郵件進(jìn)行加密,以確保其中內(nèi)容的機(jī)密性。同時(shí)允許網(wǎng)站安全連接的安全套接層(SSL)協(xié)議也使用了非對(duì)稱密碼學(xué)。PKC系統(tǒng)也被用于安全電子投票環(huán)境的探索(此種電子投票環(huán)境將允許選民在家庭電腦上參與選舉)。

PKC的特性在區(qū)塊鏈和加密貨幣技術(shù)中也表現(xiàn)突出。當(dāng)新的加密貨幣錢包被創(chuàng)建時(shí),就會(huì)生成一對(duì)密鑰(公鑰和私鑰)。公共地址是使用公鑰生成的,并可以安全的與他人共享。另一方面,私鑰被用于創(chuàng)建數(shù)字簽名和驗(yàn)證交易,所以必須要保密。當(dāng)交易被數(shù)字簽名中的認(rèn)證散列驗(yàn)證之后,就可以被添加到區(qū)塊鏈賬本中。該數(shù)字簽名系統(tǒng)確保了只有擁有加密貨幣錢包對(duì)應(yīng)私鑰的用戶才能從錢包中獲取資金。但值得注意的是,加密貨幣應(yīng)用中所使用的非對(duì)稱密碼與計(jì)算機(jī)安全目的中所用的卻不同。例如,比特幣和以太坊所使用的是橢圓曲線數(shù)字簽名算法(ECDSA)來驗(yàn)證交易。

從計(jì)算機(jī)安全到驗(yàn)證加密貨幣交易可以看出,公鑰密碼學(xué)在現(xiàn)代數(shù)字系統(tǒng)的安全保護(hù)方面發(fā)揮了關(guān)鍵作用。通過使用成對(duì)的公鑰和私鑰,非對(duì)稱密碼學(xué)算法解決了對(duì)稱密碼中固有的安全問題。對(duì)于PKC的使用已經(jīng)經(jīng)歷了多年,且也在不斷開發(fā)其在新興領(lǐng)域內(nèi)的應(yīng)用,特別是區(qū)塊鏈和加密貨幣領(lǐng)域。

THEEND

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

更多
暫無評(píng)論