数字签名就是对数字信息进行签名,以防止他人对信息进行伪造和篡改,也可以用于身份识别
简而言之,某人对某信息进行签名可以证明:这个信息是这个人写的,且无其他人进行修改。
背景环境:小明对信息M进行签名,并发送给小红,小红校验信息以确保该信息是小明发送的,且未被篡改
小明对信息进行处理
小红收到信息后,验证信息M使用小红发出的和信息M未被篡改
首先,对于任意信息M,有且只有一个hash值(对于同一个hash函数),且很难找到2个有相同hash值的 信息M,故信息M与其hash值在很大程度上有这一 一对应的特点。
其次,小明使用了自己的私钥对信息摘要 M’ 进行加密签名,故他人无法在不破坏签名的基础上对信息摘要M’进行修改,故无法同时随意修改信息M
再其次,对小明用小红的私钥对签名文本S进行了加密,故他人并不知道真实的hash值,故无法找到拥有相同hash值的另一个信息对信息M做替换篡改。
综上所述,攻击者既无法将篡改后的信息的hash值替换原hash值,也无法通过已知hash值找到另一个拥有相同hash值的信息对M进行替换,所以在理论上很难伪造数字签名和篡改签名后的信息
一家之言,请多指教
原文:https://www.cnblogs.com/createwell/p/12700872.html