公鑰密碼和數(shù)字簽名

公鑰密碼和數(shù)字簽名

在目前網(wǎng)絡(luò)通信的過(guò)程中,有兩種加密方法被廣泛使用:公鑰加密數(shù)字簽名;本文將對(duì)這兩種方法進(jìn)行分析和對(duì)比;


定義

公鑰密碼:也就是和我們常說(shuō)的非對(duì)稱(chēng)加密,分為加密解密,消息發(fā)送者使用公鑰加密,消息傳輸過(guò)程中以密文傳輸,接受者收到消息之后,用私鑰進(jìn)行解密,就可以拿到消息內(nèi)容;
數(shù)字簽名:分為簽名驗(yàn)簽;消息發(fā)送者使用私鑰進(jìn)行簽名,消息傳輸過(guò)程中同樣以密文傳輸,但是出來(lái)密文之外,還會(huì)發(fā)送一份消息的明文給接收方,以便接收方進(jìn)行驗(yàn)簽,接收方收到明文和密文之后,會(huì)用公鑰進(jìn)行解密,得到明文,然后對(duì)比解密后的結(jié)果和接收到的明文,一致則驗(yàn)簽成功,不一致則證明消息被中途篡改過(guò);

在公鑰加密和數(shù)字簽名過(guò)程中,都涉及到一個(gè)共同的東西---秘鑰對(duì)(公鑰和私鑰);但是在使用過(guò)程中卻又有一些區(qū)別:具體如下:

公鑰密碼 數(shù)字簽名
公鑰 發(fā)送者加密使用 接受者驗(yàn)簽使用
私鑰 接受者解密使用 發(fā)送者簽名使用
公鑰持有者 加密個(gè)人持有 需要驗(yàn)證簽名的任何人都可以持有
私鑰持有者 解密個(gè)人持有 簽名人持有
傳送內(nèi)容 密文 密文 + 明文

過(guò)程和特點(diǎn)

過(guò)程

公鑰密碼使用過(guò)程如下:


公鑰密碼.jpg

數(shù)字簽名使用過(guò)程如下:


數(shù)字簽名.jpg

特點(diǎn)

公鑰密碼:公鑰發(fā)送消息的人持有,私鑰接收消息的人持有,均為私人持有;只要保證秘鑰安全,就可以保證通信安全;
數(shù)字簽名:公鑰接受消息的人持有,所有人均可持有,私鑰發(fā)送消息的人持有,私人持有;保證私鑰安全就可保證簽名的準(zhǔn)確性;


應(yīng)用場(chǎng)景

公鑰密碼
適用于:消息需要秘密傳輸;
案例:SSL層中,對(duì)稱(chēng)秘鑰的傳輸就是應(yīng)用了非對(duì)稱(chēng)加密進(jìn)行傳輸;
數(shù)字簽名
適用于:消息本身可以對(duì)外公開(kāi),但是需要驗(yàn)證發(fā)送方身份的消息;
案例:蘋(píng)果手機(jī)驗(yàn)證APP是否為指定開(kāi)發(fā)者開(kāi)發(fā);


一些問(wèn)題:

1.公鑰密碼和數(shù)字簽名看似是相反的流程,可不可以公私秘鑰互換,在公鑰密碼過(guò)程中用私鑰加密、公鑰解密;在數(shù)字簽名過(guò)程中用公鑰簽名、私鑰驗(yàn)簽;

答案是不一定的,應(yīng)為在日常過(guò)程中,大多采用的非對(duì)稱(chēng)加密算法為RSA,而在RSA算法中,兩個(gè)過(guò)程是可逆的,但是并不是所有非對(duì)稱(chēng)加密算法都是可逆的。所以,嚴(yán)格來(lái)說(shuō),這個(gè)過(guò)程是不可以的;

2.在公鑰密碼和數(shù)字簽名的過(guò)程中,都會(huì)有一步發(fā)送秘鑰的過(guò)程,那么在這一步有中間人將秘鑰替換也是存在風(fēng)險(xiǎn)的;

這個(gè)是肯定的,對(duì)于這種中間人攻擊,就不在數(shù)字簽名和公鑰密碼的解決范圍之內(nèi)了,這個(gè)請(qǐng)參照數(shù)字證書(shū)及證書(shū)鏈的驗(yàn)證

3.公鑰密碼比較好理解,但是為什么私鑰加密就可以作為簽名?

在數(shù)字簽名特點(diǎn)中,有一個(gè)是私鑰只有發(fā)送者持有,正是因?yàn)檫@一特點(diǎn),再加上公私秘鑰的一個(gè)特點(diǎn):“沒(méi)有該私鑰的人是不能生成對(duì)應(yīng)公鑰可以解開(kāi)的密文的”,就有一個(gè)結(jié)論:持有公鑰的人能解開(kāi)的密文,就是該可信機(jī)構(gòu)或人發(fā)出的消息;而私鑰和私鑰加密的信息就相當(dāng)于該機(jī)構(gòu)或人的簽名;

4.數(shù)字簽名中,單項(xiàng)散列的作用?

消息體有可能為比較大的數(shù)據(jù),而非對(duì)稱(chēng)加密的過(guò)程又是比較消耗性能,故在為防止對(duì)數(shù)據(jù)比較大的消息簽名是消耗時(shí)間相對(duì)比較長(zhǎng),對(duì)消息進(jìn)行了單向散列的操作,散列過(guò)后為固定長(zhǎng)度字符串,簽名速度相對(duì)來(lái)說(shuō)要快很多;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容