对数字签名的攻击

一 中间人攻击

对数字签名的中间人攻击,具体来说就是主动攻击者Mallory介入发送者和接收者的中间,对发送者伪装成接受者,对接收者伪装成发送者,从而能够在无需破解数字签名算法的前提下完成攻击。

要防止中间人攻击,就需要确认自己得到的公钥是否真的属于自己的通信对象。例如,我们假设Bob需要确认自己所得到的是否真的是Alice的公钥,Bob可以给Alice打个电话,问一下自己手上的公钥是不是真的(如果电话通信也被Mallory控制,那这个方法就行不通了)。

要在电话中把公钥的内容都念一遍实在是太难了,这里有一个简单的方法,即Alice和Bob分别用单向散列函数计算出散列值,然后在电话中相互确认散列值的内容即可。实际上,涉及公钥密码的软件都可以显示公钥的散列值,这个散列值称为指纹。指纹的内容就是像下面这样的一串字节序列。

二 对单向散列函数攻击

数字签名中所使用的单向散列函数必须具备抗碰撞性,否则攻击者就可以生成另外一条不同的消息,是其与签名绑定的消息具有相同的散列值。

三 利用数字签名攻击公钥密码

在RSA中,生成签名的公式是:

签名 = 消息的D次方 mod N

这个公式和公钥密码的解密操作是等同的,也就是说可以将“请对消息签名”这一请求理解为“请解密消息”。利用这一点,攻击者可以发动一种巧妙的攻击,即利用数字签名来破译密文。

我们假设现在Alice

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值