PKI基礎(chǔ)內(nèi)容介紹(3)
PKI基礎(chǔ)之公開(kāi)密鑰數(shù)字簽名算法(簽名)
DSA(Digital Signature Algorithm,數(shù)字簽名算法,用作數(shù)字簽名標(biāo)準(zhǔn)的一部分),它是另一種公開(kāi)密鑰算法,它不能用作加密,只用作數(shù)字簽名。DSA使用公開(kāi)密鑰,為接受者驗(yàn)證數(shù)據(jù)的完整性和數(shù)據(jù)發(fā)送者的身份。它也可用于由第三方去確定簽名和所簽數(shù)據(jù)的真實(shí)性。DSA算法的安全性基于解離散對(duì)數(shù)的困難性,這類(lèi)簽字標(biāo)準(zhǔn)具有較大的兼容性和適用性,成為網(wǎng)絡(luò)安全體系的基本構(gòu)件之一。
DSA簽名算法中用到了以下參數(shù):
1.p是L位長(zhǎng)的素?cái)?shù),其中L從512到1024且是64的倍數(shù)。
2.q是160位長(zhǎng)且與p-1互素的因子。
3.其中h是小于p-1并且滿(mǎn)足 大于1的任意數(shù)。
4.x是小于q的數(shù)。
另外,算法使用一個(gè)單向散列函數(shù)H(m)。標(biāo)準(zhǔn)指定了安全散列算法(SHA)。三個(gè)參數(shù)p,q和g是公開(kāi)的,且可以被網(wǎng)絡(luò)中所有的用戶(hù)公有。私人密鑰是x,公開(kāi)密鑰是y。
對(duì)消息m簽名時(shí):
(1) 發(fā)送者產(chǎn)生一個(gè)小于q的隨機(jī)數(shù)k。
(2) 發(fā)送者產(chǎn)生:r和s就是發(fā)送者的簽名,發(fā)送者將它們發(fā)送給接受者。
(3) 接受者通過(guò)計(jì)算來(lái)驗(yàn)證簽名:如果v=r,則簽名有效。
DSA簽名:
公開(kāi)密鑰:
p 512位到1024位的素?cái)?shù),q 160位長(zhǎng),并與p-1互素的因子,其中h是小于p-1并且滿(mǎn)足 大于1的任意數(shù)。
私人密鑰:x小于q
簽名:k選取小于q的隨機(jī)數(shù)
驗(yàn)證:如果v=r,則簽名被驗(yàn)證。
PKI基礎(chǔ)之?dāng)?shù)字簽名與數(shù)字信封
公鑰密碼體制在實(shí)際應(yīng)用中包含數(shù)字簽名和數(shù)字信封兩種方式。
數(shù)字簽名是指用戶(hù)用自己的私鑰對(duì)原始數(shù)據(jù)的哈希摘要進(jìn)行加密所得的數(shù)據(jù)。信息接收者使用信息發(fā)送者的公鑰對(duì)附在原始信息后的數(shù)字簽名進(jìn)行解密后獲得哈希摘要,并通過(guò)與自己用收到的原始數(shù)據(jù)產(chǎn)生的哈希哈希摘要對(duì)照,便可確信原始信息是否被篡改。這樣就保證了數(shù)據(jù)傳輸?shù)牟豢煞裾J(rèn)性。
哈希算法是一類(lèi)符合特殊要求的散列函數(shù)(Hash)函數(shù),這些特殊要求是:
1.接受的輸入報(bào)文數(shù)據(jù)沒(méi)有長(zhǎng)度限制;
2.對(duì)任何輸入報(bào)文數(shù)據(jù)生成固定長(zhǎng)度的摘要("數(shù)字指紋")輸出;
3.由報(bào)文能方便地算出摘要;
4.難以對(duì)指定的摘要生成一個(gè)報(bào)文,由該報(bào)文可以得出指定的摘要;
5.難以生成兩個(gè)不同的報(bào)文具有相同的摘要。
數(shù)字信封的功能類(lèi)似于普通信封。普通信封在法律的約束下保證只有收信人才能閱讀信的內(nèi)容;數(shù)字信封則采用密碼技術(shù)保證了只有規(guī)定的接收人才能閱讀信息的內(nèi)容。數(shù)字信封中采用了單鑰密碼體制和公鑰密碼體制。信息發(fā)送者首先利用隨機(jī)產(chǎn)生的對(duì)稱(chēng)密碼加密信息,再利用接收方的公鑰加密對(duì)稱(chēng)密碼,被公鑰加密后的對(duì)稱(chēng)密碼被稱(chēng)之為數(shù)字信封。在傳遞信息時(shí),信息接收方要解密信息時(shí),必須先用自己的私鑰解密數(shù)字信封,得到對(duì)稱(chēng)密碼,才能利用對(duì)稱(chēng)密碼解密所得到的信息。這樣就保證了數(shù)據(jù)傳輸?shù)恼鎸?shí)性和完整性。
【編輯推薦】