什么是數(shù)字簽名?

2022-10-07    分類: 網(wǎng)站建設

數(shù)字簽名(Digital Signature)又稱公鑰數(shù)字簽名,是一種類似寫在紙上的普通的物理簽名,但是使用了公鑰加密領域的技術實現(xiàn),用于鑒別數(shù)字信息的方法。數(shù)字簽名不是指將簽名掃描成數(shù)字圖像,或者用觸摸板獲取的簽名,更不是落款。

什么是數(shù)字簽名?

在說明數(shù)字簽名之前,需要了解密碼學的一些基本概念:

明文:消息的初始形式

密文:加密后的形式

密鑰:指某個用來完成 加密、 解密、完整性驗證等密碼學應用的秘密 信息。

如果我們將明文記為P,密文記為C,密鑰記為K,加密算法記為E,解密算法記為D,則C=E(P),P=D(C);則要求密碼系統(tǒng)滿足P=D(E(P))。

對稱加密以及非對稱加密:

對稱加密算法指的是在加密和解密的時候使用的是同一個秘鑰,同一個密鑰可以同時用作信息的加密和解密。

需要密鑰的加密算法記為:C=E(K,P),并且P=D(K,E(K,P))。

而非對稱加密算法則需要不同的兩個密鑰來進行加密和解密,這兩個密鑰一般分別叫做公鑰和私鑰。

加密與解密的密鑰不同,則:P=D(KD,E(KE,P))。公鑰和私鑰成對出現(xiàn),是通過某一種加密算法得到一個密鑰對,公鑰是密鑰對中公開的部分,私鑰則是非公開的部分。使用這個密鑰對的時候,如果用其中一個密鑰加密一段數(shù)據(jù),必須用另一個密鑰解密。比如用公鑰加密數(shù)據(jù)就必須用私鑰解密,如果用私鑰加密也必須用公鑰解密,否則解密將不會成功。

步驟1-3

步驟1: A通過隨機算法,生成一對密鑰,有公鑰和私鑰;

步驟2:A將公鑰公開,分別發(fā)給B,C,D;

步驟3:B想給A發(fā)送一條信息,首先用A的公鑰對這條信息加密,然后將加密后的信息(密文)傳播給A,A在接收到信息之后,用自己的私鑰進行解密,從而得到B給A的信息原文。

那么數(shù)字簽名,就是只有信息的發(fā)送者才能產(chǎn)生的別人無法偽造的一段數(shù)字串,這段數(shù)字串同時也是對信息的發(fā)送者發(fā)送信息真實性的一個有效證明。數(shù)字簽名的生成和使用過程如下圖所示:

步驟4-5

步驟4:A將要發(fā)送的信息通過哈希運算,得到摘要,并用私鑰進行加密,生成這個信息的數(shù)字簽名。

步驟5:A將所要發(fā)送的信息和數(shù)字簽名同時發(fā)送給B,B利用A的公鑰來對此數(shù)字簽名解密,從而確定該信息的確來自A。另外,B通過對A發(fā)送的信息進行哈希運算得到的摘要與解密得到的摘要進行對比,可以確定該信息是否被篡改過。

什么是數(shù)字簽名?

一套數(shù)字簽名通常定義兩種互補的運算,一個用于簽名,另一個用于驗證,但法條中的電子簽章與數(shù)字簽名,代表之意義并不相同,電子簽章用以辨識及確認電子文件簽署人身份、資格及電子文件真?zhèn)握?。而?shù)字簽名則是以數(shù)學算法或其他方式運算對其加密,才形成的電子簽章,意即并非所有的電子簽章都是數(shù)字簽名。

數(shù)字簽名了的文件的完整性是很容易驗證的,而且數(shù)字簽名具有不可抵賴性(即不可否認性),不需要筆跡專家來驗證。

數(shù)字簽名實現(xiàn)方法

數(shù)字簽名算法依靠公鑰加密技術來實現(xiàn)的。在公鑰加密技術里,每一個使用者有一對密鑰:一把公鑰和一把私鑰。公鑰可以自由發(fā)布,但私鑰則秘密保存;還有一個要求就是要讓通過公鑰推算出私鑰的做法不可能實現(xiàn)。

普通的數(shù)字簽名算法包括三種算法:

一種密碼生成算法

標記算法

驗證算法

RSA,EIGamal,DSA,ECDSA,Rabin 等算法可以實現(xiàn)數(shù)字簽名。

當前題目:什么是數(shù)字簽名?
文章鏈接:http://www.muchs.cn/news20/203070.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設計公司、網(wǎng)站設計、搜索引擎優(yōu)化、面包屑導航自適應網(wǎng)站、動態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)