
2020年計算機(jī)等級網(wǎng)絡(luò)技術(shù)考試知識點梳理:數(shù)字簽名
(1)數(shù)字簽名的要求
消息認(rèn)證用來保護(hù)通信雙方免受任何的第三方的攻擊,但是它無法防止通信雙方的互相攻擊。數(shù)字簽名可以保證信息傳輸過程中信息的完整性,并提供信息發(fā)送者本身的身份認(rèn)證,防止抵賴行為的發(fā)生。
基于公鑰密碼體制和私鑰密碼體制都可以獲得數(shù)字簽名,但目前主流的是基于公鑰密碼體制的數(shù)字簽名,包括普通數(shù)字簽名和特殊數(shù)字簽名。
普通數(shù)字簽名的算法有:RSA、ELGamal、Fiat.Shamir、Guillou—Quisquarter、Schnorr、Ong.Schnorr-Shamir數(shù)字簽名算法、DES/DSA、橢圓曲線數(shù)字簽名算法和有限自動機(jī)數(shù)字簽名算法等。
特殊數(shù)字簽名算法:盲簽名、代理簽名、群簽名、不可否認(rèn)簽名、公平盲簽名、門限簽名、具有消息恢復(fù)功能的簽名等。
數(shù)字簽名的應(yīng)用涉及法律問題。美國政府基于有限域上的離散對數(shù)問題制定了自己的數(shù)字簽名標(biāo)準(zhǔn)(DES)。
(2)數(shù)字簽名的創(chuàng)建
基于公鑰密碼體制的數(shù)字簽名是一個加密的消息摘要,附加在消息的后面。如果甲要在給乙的消息中創(chuàng)建一個數(shù)字簽名,其步驟如下:
①甲創(chuàng)建一個公鑰/私鑰對。②甲將自己的公鑰給乙。③甲將要發(fā)送的消息作為一個單項散列函數(shù)的輸入,散列函數(shù)的輸出就是消息摘要。④甲再用其私鑰加密消息摘要,得到數(shù)字簽名。
(3)數(shù)字簽名的驗證
在接收方,乙需要按以下步驟驗證甲的數(shù)字簽名:
、僖覍⑹盏降臄(shù)據(jù)分離成消息和數(shù)字簽名。②乙用甲的公鑰對數(shù)字簽名解密,得到消息摘要。③乙把消息作為甲所使用的相同散列函數(shù)的輸入,得到一個消息摘要。④比較這兩個消息摘要,若匹配表示驗證成功。