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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

github 公钥 私钥_理解公钥与私钥

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

一直都對(duì)公鑰和私鑰的概念不清不楚,以至于在 騰訊面試 被問到“如何在一個(gè)不安全的環(huán)境中實(shí)現(xiàn)安全的數(shù)據(jù)通信?”時(shí),并沒有答上來(lái)。今天查閱了一些資料,決定寫一篇總結(jié)文章來(lái)加深自己的理解。

一、公鑰算法與私鑰算法

1、私鑰算法

私鑰加密算法,又稱 對(duì)稱加密算法,因?yàn)檫@種算法解密密鑰和加密密鑰是相同的。也正因?yàn)橥幻荑€既用于加密又用于解密,所以這個(gè)密鑰是不能公開的。常見的有《DES加密算法》、《AES加密算法》。

2、公鑰算法

公鑰加密算法,也就是 非對(duì)稱加密算法,這種算法加密和解密的密碼不一樣,一個(gè)是公鑰,另一個(gè)是私鑰:

公鑰和私鑰成對(duì)出現(xiàn)

公開的密鑰叫公鑰,只有自己知道的叫私鑰

用公鑰加密的數(shù)據(jù)只有對(duì)應(yīng)的私鑰可以解密

用私鑰加密的數(shù)據(jù)只有對(duì)應(yīng)的公鑰可以解密

如果可以用公鑰解密,則必然是對(duì)應(yīng)的私鑰加的密

如果可以用私鑰解密,則必然是對(duì)應(yīng)的公鑰加的密

公鑰和私鑰是相對(duì)的,兩者本身并沒有規(guī)定哪一個(gè)必須是公鑰或私鑰。

二、實(shí)現(xiàn)數(shù)據(jù)的安全傳輸

要實(shí)現(xiàn)數(shù)據(jù)的安全傳輸,當(dāng)然就要對(duì)數(shù)據(jù)進(jìn)行加密了。

如果使用對(duì)稱加密算法,加解密使用同一個(gè)密鑰,除了自己保存外,對(duì)方也要知道這個(gè)密鑰,才能對(duì)數(shù)據(jù)進(jìn)行解密。如果你把密鑰也一起傳過去,就存在密碼泄漏的可能。所以我們使用非對(duì)稱算法,過程如下:

首先 接收方 生成一對(duì)密鑰,即私鑰和公鑰;

然后,接收方 將公鑰發(fā)送給 發(fā)送方;

發(fā)送方用收到的公鑰對(duì)數(shù)據(jù)加密,再發(fā)送給接收方;

接收方收到數(shù)據(jù)后,使用自己的私鑰解密。

由于在非對(duì)稱算法中,公鑰加密的數(shù)據(jù)必須用對(duì)應(yīng)的私鑰才能解密,而私鑰又只有接收方自己知道,這樣就保證了數(shù)據(jù)傳輸?shù)陌踩浴?/p>

三、對(duì)信息進(jìn)行數(shù)字簽名

除了保證數(shù)據(jù)的安全傳輸之外,公鑰體系的另一個(gè)用途就是對(duì)數(shù)據(jù)進(jìn)行簽名。通常“數(shù)字簽名”是用來(lái)驗(yàn)證發(fā)送方的身份并幫助保護(hù)數(shù)據(jù)的完整性。

例如:一個(gè)發(fā)送者 A 想要傳些資料給大家,用自己的私鑰對(duì)資料加密,即簽名。這樣一來(lái),所有收到資料的人都可以用發(fā)送者的公鑰進(jìn)行驗(yàn)證,便可確認(rèn)資料是由 A 發(fā)出來(lái)的了。(因?yàn)橹挥?#xff21;使用私鑰簽名得到的信息,才能用這個(gè)公鑰來(lái)解) 采用數(shù)字簽名,可以確認(rèn)兩點(diǎn):

保證信息是由簽名者自己簽名發(fā)送的,簽名者不能否認(rèn)或難以否認(rèn)。

保證信息自簽發(fā)后到收到為止未曾作過任何修改。

之所以可以確認(rèn)這兩點(diǎn),是因?yàn)橛霉€可以解密的必然是用對(duì)應(yīng)的私鑰加的密,而私鑰只有簽名者持有。

四、公鑰算法的缺點(diǎn)

現(xiàn)實(shí)中,公鑰機(jī)制也有它的缺點(diǎn),那就是效率非常低,比常用的私鑰算法(如 DES 和 AES)慢上一兩個(gè)數(shù)量級(jí)都有可能。所以它不適合為大量的原始信息進(jìn)行加密。為了同時(shí)兼顧安全和效率,我們通常結(jié)合使用公鑰算法和私鑰算法:

首先,發(fā)送方使用對(duì)稱算法對(duì)原始信息進(jìn)行加密。

接收方通過公鑰機(jī)制生成一對(duì)密鑰,一個(gè)公鑰,一個(gè)私鑰。

接收方 將公鑰發(fā)送給 發(fā)送方。

發(fā)送方用公鑰對(duì)對(duì)稱算法的密鑰進(jìn)行加密,并發(fā)送給接收方。

接收方用私鑰進(jìn)行解密得到對(duì)稱算法的密鑰。

發(fā)送方再把已加密的原始信息發(fā)送給接收方。

接收方使用對(duì)稱算法的密鑰進(jìn)行解密。

總結(jié):

每個(gè)用戶都有一對(duì)私鑰和公鑰。

私鑰用來(lái)進(jìn)行解密和簽名,是給自己用的。

公鑰由本人公開,用于加密和驗(yàn)證簽名,是給別人用的。

當(dāng)該用戶發(fā)送文件時(shí),用私鑰簽名,別人用他給的公鑰解密,可以保證該信息是由他發(fā)送的。即數(shù)字簽名。

當(dāng)該用戶接受文件時(shí),別人用他的公鑰加密,他用私鑰解密,可以保證該信息只能由他看到。即安全傳輸。

圖片來(lái)源:www.cnblogs.com/chnking/archive/2007/08/30/875947.html

總結(jié)

以上是生活随笔為你收集整理的github 公钥 私钥_理解公钥与私钥的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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