非對(duì)稱加密-數(shù)字簽名

背景

現(xiàn)有的非對(duì)稱加密算法有RSA、Elgamal、背包算法、Rabin、D-H、ECC(橢圓曲線加密算法)

使用最廣泛的是RSA算法,Elgamal是另一種常用的非對(duì)稱加密算法

原理

代碼生成一個(gè)隨機(jī)數(shù):123123123jjasfaoif12312hsihdfiodasdfsa0dfasd

以該隨機(jī)數(shù)為輸入,通過(guò)非對(duì)稱加密算法,輸出兩個(gè)字符串:

key1和key2

其中一個(gè)作為公鑰,那么另外一個(gè)就是私鑰;公鑰和私鑰沒(méi)有嚴(yán)格的定義,對(duì)于算法而言,兩者沒(méi)有先后順序

公鑰加密的話,用私鑰解密

私鑰加密的話,用公鑰解密

公鑰無(wú)法解密公鑰加密的東西

私鑰無(wú)法解密私鑰加密的東西


特征

效率低,可安全傳輸,一般都綜合使用非對(duì)稱加密和對(duì)稱加密

應(yīng)用過(guò)程

定義 ? ?

A :張三? ? A1:A的公鑰? A2:A的私鑰

B:李四 ? ?B1:B的公鑰 ?B2:B的私鑰?

sign數(shù)字簽名 ?FS文件摘要

場(chǎng)景:A向B發(fā)送一個(gè)100M的文件

A B 兩個(gè)人 AB各自帶有自己的公鑰(A1 B1)和私鑰(A2 B2)

A向B發(fā)送一個(gè)100M的文件(F)

1.A將F通過(guò)單向散列算法(md5),輸出文件摘要(FS)

2.A用A2對(duì)FS進(jìn)行加密,輸出(sign1)--------數(shù)字簽名

3.A將F、A1、sign1打包,一并交給B

4.B得到F、A1、sign1

5.B將F通過(guò)單向散列算法(md5),輸出文件摘要(FS2)

6.B用A1和sign1解析出文件摘要(FS3)

7.如果FS3和FS2相同,標(biāo)明文件沒(méi)有被篡改

上述過(guò)程簡(jiǎn)單描述了非對(duì)稱加密的應(yīng)用過(guò)程

拓展

如果A的私鑰A2被黑客盜取該怎么辦,有沒(méi)有更好的辦法防止黑客盜取

如果A抵賴,不承認(rèn)這是自己的私鑰怎么辦


詳見“數(shù)字證書一文”

最后編輯于
?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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