数字签名协议

来源:互联网 发布:java 线程安全的集合 编辑:程序博客网 时间:2024/06/05 03:28

1、签名的性质

可信,防伪造,防篡改,防抵赖,不可重用

2、数字签名协议的流程

协议思想:使用密码技术,保证签名性质(密钥代表身份,密文防止篡改)
签名过程:将消息m加密作为消息的签名s=Ek(m)
验证过程:将签名s解密获得消息m=Dk(s)

3、协议的形式化描述——对称密码

Trent和张三共享密钥kA,和李四共享密钥kB
张三m1——>EA(m1)=c1——>m1,Trent,m2=S(A)+m1+c1——>
EB(m2)——>m2李四
(1)签名可信:由Trent提供S(A)证明
(2)签名不可伪造:只有张三知道kA
(3)签名不可重用,签名文件不能改变:m2包含了文件消息m1c1m1的改变将使得其与c1不匹配;
(4)签名不可抵赖:有S(A)和c1证明

4、协议的形式化描述——公钥密码

张三m——>EAv(m)——>m李四
(1)签名可信,不可伪造:由张三私钥保证
(2)签名不可重用:签名是文件的函数
(3)签名文件不能改变:由张三私钥保证
(4)签名不可抵赖:只有张三拥有私钥

5、其他签名协议

(1)带加密的数字签名:
签名方m——>SAv(m)=s——>EBp(s)=c——>DBv(c)=s——>VAp(s)=m——>验证方
(2)签名者参与验证的数字签名:
采用离散对数签名方案:私钥x,公钥y=gxmodp

0 0
原创粉丝点击