原文件地址:http://www./articles/7buueeQ
密鑰分為兩種:對(duì)稱密鑰和非對(duì)象密鑰
對(duì)稱密鑰算法:DES 3DES AES,加密算法快
非對(duì)稱密鑰算法:RAS,加密算法慢
摘要:采用某種摘要算法,將明文轉(zhuǎn)化為固定長(zhǎng)度的字符,摘要也被稱為指紋.相同的文件內(nèi)容和文件名具有
相同的指紋
摘要算法:md5(二進(jìn)制:128位,16進(jìn)制:32位),SHA1(二進(jìn)制:256位,64位)

對(duì)稱密鑰理解圖:


基于Bob向Alice發(fā)送文件的場(chǎng)景,

-
摘要算法(md5,SHA1) +Bob的原始文件 計(jì)算出=> 這個(gè)文件的摘要值
-
非對(duì)稱密鑰算法(RSA)+ Bob私鑰 + 上一步的摘要值 =>摘要密文
-
摘要密文 + 原始文件 發(fā)送給 => Alice
摘要密文和原始文件被稱作Bob對(duì)原始文件的簽名結(jié)果
數(shù)字簽名:就是對(duì)原始文件的摘要(指紋),用其私鑰進(jìn)行加密
Alice收到Bob發(fā)來(lái)的信息后:

-
Alice使用Bob的公鑰將收到的摘要密文解密得到摘要值(能用Bob的私鑰解密,說(shuō)明對(duì)方一定是Bob,這個(gè)摘要值很明顯是由Bob計(jì)算得到的)
-
Alice利用摘要算法(md5,SHA1) + 原始文件 =>摘要值(這個(gè)由Alice計(jì)算得到的)與上一步得到的摘要值對(duì)比,一樣說(shuō)明Alice從Bob接受到的數(shù)據(jù)是完整的,沒(méi)有人篡改過(guò).
以上兩個(gè)步驟被稱為驗(yàn)簽
PKCS10(P10)數(shù)據(jù)包:公鑰 + 密鑰的算法 + 該公鑰的所有者(主題) + 該公鑰的有效期等屬性
簽名過(guò)程:

-
Bob將自己的P10數(shù)據(jù)包發(fā)送給CA,經(jīng)過(guò)CA簽名得 原始文件(P10數(shù)據(jù)包) + 摘要密文(由CA私鑰加密形成),這個(gè)簽名后的結(jié)果被稱為數(shù)字證書(shū).
數(shù)字證書(shū)同樣遵循一個(gè)格式標(biāo)準(zhǔn),我們稱作X509標(biāo)準(zhǔn),我們一般提到的X509證書(shū)就是如此。
基于這個(gè)數(shù)字證書(shū),再來(lái)看Bob如何給Alice發(fā)送一份不可否認(rèn),不可篡改的文件

-
Bob將自己的簽名后的結(jié)果(原始文件(Hello World!) + 摘要密文(Bob私鑰加密hello,world后) ) + Bob的數(shù)字證書(shū)(P10數(shù)據(jù)包 + 摘要密文(P10數(shù)據(jù)包經(jīng)CA私鑰加密)) 發(fā)送給Alice
Alice接受Bob發(fā)送的數(shù)據(jù)過(guò)程

-
Alice利用CA公鑰對(duì)Bob發(fā)來(lái)的數(shù)字證書(shū)進(jìn)行驗(yàn)證,如果驗(yàn)證成功,則提取證書(shū)中的
公鑰,對(duì)Bob發(fā)來(lái)的文件進(jìn)行驗(yàn)簽,如果驗(yàn)證成功,則證明文件不可否認(rèn)不可篡改.
總結(jié):基于數(shù)字證書(shū)后,Alice不需要自己維護(hù)一個(gè)公鑰庫(kù)維護(hù)Bob(等人的)公鑰證書(shū),只要持有CA
的公鑰即可.
|