返回总目录
第8章
数字签名
教学目的
了解数字签名方案
了解RSA盲签名
了解Hash函数
了解信息校验码
数字签名方案
本章内容
RSA盲签名
Hash函数简介
生日攻击
ElGamal数字签名
DSA数字签名
本章内容
Schnorr数字签名
Nyberg-Rueppel数字签名
MD5 Hash函数
SHA-1 Hash函数
信息校验码MAC
数字签名方案
数字签名方案
算法 附录式数字签名方案
数字签名
(1)Alice用数字签名函数 对文件m进行作用,得
(2)将数字签名
传递给Bob
验证
(1)Bob取得Alice的公钥,即取得一组不同验证函数,如 、 。
(2)计算
(3)比较
,若皆相等,就验收无误,否则拒收。
可回复式数字签名方案
算法 可回复式数字签名方案
数字签名
(1)Alice用数字签名函数 作用在文件m上,得
(2)将数字签名传递给Bob。
验证
(1)Bob取得Alice的公钥,即取得验证函数 。
(2)Bob计算 。
(3)若该数字签名正确无误,则必 ,可回复原文件。
用Hash函数的RSA数字签名
RSA盲签名
RSA盲签名
Hash函数简介
Hash函数简介
生日攻击
生日攻击
同一房间内有23人,有相同生日的概率为>50%,若有30人,则相同生日的概率为>70%。
r个信息经Hash函数 对应到n个不同摘要的可能性,共有nr个。而每个摘要最多只有一个信息mi对应到的可能性,共有
个,故其概率为
ElGamal数字签名
ElGamal数字签名
Alice欲数字签名一文件m成数字签名s传讯给Bob。
密匙产生
Alice选择质数p以及其一原根g,并选择一整数a介于2、p-2,计算
将(p,g,A)公开,而a必须保密。
数字签名
(1)Alice随机取一整数k满足
(2)计算
(3)计算
将数字签名
传送给Bob。
ElGamal数字签名
验证
(1)Bob取得Alice的公开密钥 。
(2)计算
(3)检验 是否成立;若成立则验收,否则拒绝。
DSA数字签名
DSA数字签名
算法 DSA算法
Alice要将m数字签名成数字签名s传递给Bob,而Bob验证Alice的数字签名。
密匙产生
(1)Alice选择160-bit大小的质数q并选择另一质数p,使得q|p-1(如此的选取,可保证(mod p)离散对数够难,p最初建议为512-bit,后为1024-bit)。
(2)选取g为(mod p)的原根,并计算 (当中 )。
(3)Alice选择一整数a使得 ,并计算 。
(4)Alice将 公开之,而a必须保密。
DSA算法
数字签名
(1)Alice随机取一个整数k,其中1<k<p-1。
(2)计算
(3)
不用Hash函数
使用Hash函数
(4)将数字签名 传送给Bob。
验证
(1)Bob取得Alice的公开密钥 。
(2)计算
或
(3)计算
(4)若则v=r验收,否则拒绝。
Schnorr数字签名
Schnorr数字签名
算法 Schnorr数字签名
密匙产生
与DSA完全相同
数字签名
(1)Alice随机取一个整数k,其中1<k<p-1。
(2)计算
(3)将数字签名 传送给Bob。
验证
(1)Bob取得Alice的公开密钥 。
(2)计算
(3)若e’=e则验收,否则拒绝。
Nyberg-Rueppel数字签名
Nyberg-Rueppel数字签名
定义 重复函数,Redundancy Function
令函数 为1-1,若很容易从 回复至少 ,则称R为重复函数(Redundancy Function)。
算法
密匙产生
与DSA完全相同
数字签名
(1)Alice计算 ,其中 。
(2)Alice随机选择一整数k,其中 。
Nyberg-Rueppel数字签名
(3)计算
(4)将数字签名 传送给Bob。
验证
(1)Bob取得Alice的公开密钥 。
(2)计算
(3)若m’落入R的值域则验收,即 ,否则拒绝。
(4)回复 。
MD5 Hash函数
MD5 Hash函数
SHA-1 Hash函数
SHA-1 Hash函数
信息校验码MAC
信息校验码MAC