数字签名
数字签名
-
数字签名(digital signature):
指附加在某一个电子文档(例如word文档)中的一组代码,它是利用密码技术对该电子文档进行认证形成的,用于标识签名者的身份以及签名者对电子文档的认可,并能别接收者用来验证该电子文档在传输过程中是否被篡改或伪造。 -
数字签名的特点及要求
①可信性:签名使文件的接收者相信签名者是慎重地在文件上签字的。
② 不可重用性:签名不可重用,即同一消息在不同时刻的签名是有区别的。
③不可改变性:文件签名后,文件不能改变,如果改变,则可以检查出被改变。
④不可伪造性:签名能够证明是签名者而不是其他人在文件上签名,任何人都不能成功伪造签名。
⑤不可否认性:签名者否认自己的签名时,签名接收者可以请求第三方可信中心进行仲裁。
- 签名分类
① 直接签名
A→B(主要形式)
② 仲裁签名
A→X→B
(签名者→仲裁者→接收者)
- 数字签名定义
一个数字签名方案是一个五元组(M,S,K,Sign,Ver)
① 参数
M:消息的集合
S:签名的集合
K:密钥的集合
Sign:签名算法集合
Ver:验证算法集合
② 签名
对于一个签名者的公钥私钥(k1,k2)∈K,对应一个签名算法signk2∈Sign和验证算法verk1∈Ver
对于待签名消息m∈M,签名者使用自己的密钥k2进行如下操作
Signk2:M->S
s=Signk2(m)
签名者将(m,s)发送给接收者(当然是加密后发送)
② 验证
接受者使用签名者的公钥k1和公开的验证算法进行如下验证操作:
即将k1,m,s带入验证式子,如果成立,则接受签名是正确签名;如果不成立,则认为签名是假冒的,拒绝签名.