數(shù)字簽名:數(shù)字簽名被認(rèn)為是對(duì)手寫(xiě)簽名的數(shù)字化模擬,。 手寫(xiě)簽名的重要特征為: 1、自己的簽名只有自己可以制作,; 2,、自己的簽名可以由其他任何人驗(yàn)證有效性; 3,、自己的簽名只對(duì)某一特定文件發(fā)生聯(lián)系,,不能用于支持其他文件; 在說(shuō)明數(shù)字簽名之前,,需要了解密碼學(xué)的一些基本概念: 明文:消息的初始形式 密文:加密后的形式 密鑰:指某個(gè)用來(lái)完成 加密,、 解密、完整性驗(yàn)證等密碼學(xué)應(yīng)用的秘密 信息,。 如果我們將明文記為P,,密文記為C,密鑰記為K,,加密算法記為E,,解密算法記為D,則C=E(P),P=D(C);則要求密碼系統(tǒng)滿(mǎn)足P=D(E(P)),。 對(duì)稱(chēng)加密以及非對(duì)稱(chēng)加密: 對(duì)稱(chēng)加密算法指的是在加密和解密的時(shí)候使用的是同一個(gè)秘鑰,,同一個(gè)密鑰可以同時(shí)用作信息的加密和解密。 需要密鑰的加密算法記為:C=E(K,P),,并且P=D(K,E(K,P)),。 其工作過(guò)程如圖所示: 而非對(duì)稱(chēng)加密算法則需要不同的兩個(gè)密鑰來(lái)進(jìn)行加密和解密,這兩個(gè)密鑰一般分別叫做公鑰和私鑰,。 加密與解密的密鑰不同,,則:P=D(KD,E(KE,P))。公鑰和私鑰成對(duì)出現(xiàn),,是通過(guò)某一種加密算法得到一個(gè)密鑰對(duì),,公鑰是密鑰對(duì)中公開(kāi)的部分,私鑰則是非公開(kāi)的部分,。使用這個(gè)密鑰對(duì)的時(shí)候,,如果用其中一個(gè)密鑰加密一段數(shù)據(jù),必須用另一個(gè)密鑰解密,。比如用公鑰加密數(shù)據(jù)就必須用私鑰解密,,如果用私鑰加密也必須用公鑰解密,,否則解密將不會(huì)成功。 其工作過(guò)程如圖所示: 步驟1-3 步驟1: A通過(guò)隨機(jī)算法,,生成一對(duì)密鑰,,有公鑰和私鑰; 步驟2:A將公鑰公開(kāi),,分別發(fā)給B,C,D,; 步驟3:B想給A發(fā)送一條信息,首先用A的公鑰對(duì)這條信息加密,,然后將加密后的信息(密文)傳播給A,,A在接收到信息之后,用自己的私鑰進(jìn)行解密,,從而得到B給A的信息原文,。 那么數(shù)字簽名,就是只有信息的發(fā)送者才能產(chǎn)生的別人無(wú)法偽造的一段數(shù)字串,,這段數(shù)字串同時(shí)也是對(duì)信息的發(fā)送者發(fā)送信息真實(shí)性的一個(gè)有效證明,。數(shù)字簽名的生成和使用過(guò)程如下圖所示: 步驟4-5 步驟4:A將要發(fā)送的信息通過(guò)哈希運(yùn)算,得到摘要,,并用私鑰進(jìn)行加密,,生成這個(gè)信息的數(shù)字簽名。 步驟5:A將所要發(fā)送的信息和數(shù)字簽名同時(shí)發(fā)送給B,,B利用A的公鑰來(lái)對(duì)此數(shù)字簽名解密,,從而確定該信息的確來(lái)自A。另外,,B通過(guò)對(duì)A發(fā)送的信息進(jìn)行哈希運(yùn)算得到的摘要與解密得到的摘要進(jìn)行對(duì)比,,可以確定該信息是否被篡改過(guò)。 |
|