在Elgamal系统中, p=13, g=7, x=5, 如果A要签名H(m)=7,随机选择k=5,签名是什么? B如何验证?
时间: 2023-06-27 07:06:42 浏览: 187
使用Elgamal公钥密码系统实现数字签名
5星 · 资源好评率100%
根据Elgamal数字签名算法,A的签名包括两个部分,即r和s。
首先,A需要计算r = g^k mod p = 7^5 mod 13 = 10。
然后,A需要计算s = (H(m) - x*r) * k^-1 mod (p-1) = (7 - 5*10) * 5^-1 mod 12 = 8。
因此,A的签名为 (r, s) = (10, 8)。
B要验证A的签名,需要进行以下步骤:
1. 计算y1 = g^H(m) mod p = 7^7 mod 13 = 11。
2. 计算y2 = (x^r * r^s) mod p = (5^10 * 10^8) mod 13 = 11。
3. 如果y1 = y2,则A的签名是有效的,否则无效。
因此,在本例中,B可以验证A的签名,因为y1 = y2 = 11。
阅读全文