在数字签名标准DSS中,假设p=23,q=11,选择随机数h=2,(1)求参数g,取私钥x=3,求公钥y; (2)设消息m=4,取随机数k=5,求m的签名(为了简化,用m代替H(m))
时间: 2024-06-05 14:09:42 浏览: 18
根据DSS标准,我们需要选择一个满足以下条件的g:
1. g是p的一个原根;
2. g^q ≡ 1 mod p;
我们可以尝试一些数来找到一个合适的g。首先,我们计算出q的所有可能取值:
q = (p-1)/2 = 11
然后,我们可以尝试一些数来检查它们是否是原根:
g = 2: 2^11 mod 23 = 8, 2^22 mod 23 = 1 (成立)
g = 3: 3^11 mod 23 = 16, 3^22 mod 23 = 1 (成立)
g = 4: 4^11 mod 23 = 2, 4^22 mod 23 = 1 (成立)
g = 5: 5^11 mod 23 = 9, 5^22 mod 23 = 1 (成立)
g = 6: 6^11 mod 23 = 12, 6^22 mod 23 = 1 (成立)
g = 7: 7^11 mod 23 = 18, 7^22 mod 23 = 1 (成立)
g = 8: 8^11 mod 23 = 3, 8^22 mod 23 = 1 (成立)
g = 9: 9^11 mod 23 = 13, 9^22 mod 23 = 1 (成立)
g = 10: 10^11 mod 23 = 17, 10^22 mod 23 = 1 (成立)
g = 11: 11^11 mod 23 = 1, 11^22 mod 23 = 1 (不成立)
g = 12: 12^11 mod 23 = 10, 12^22 mod 23 = 1 (成立)
g = 13: 13^11 mod 23 = 7, 13^22 mod 23 = 1 (成立)
g = 14: 14^11 mod 23 = 20, 14^22 mod 23 = 1 (成立)
g = 15: 15^11 mod 23 = 21, 15^22 mod 23 = 1 (成立)
g = 16: 16^11 mod 23 = 19, 16^22 mod 23 = 1 (成立)
g = 17: 17^11 mod 23 = 15, 17^22 mod 23 = 1 (成立)
g = 18: 18^11 mod 23 = 14, 18^22 mod 23 = 1 (成立)
g = 19: 19^11 mod 23 = 22, 19^22 mod 23 = 1 (成立)
g = 20: 20^11 mod 23 = 6, 20^22 mod 23 = 1 (成立)
g = 21: 21^11 mod 23 = 5, 21^22 mod 23 = 1 (成立)
g = 22: 22^11 mod 23 = 4, 22^22 mod 23 = 1 (成立)
因此,我们可以选择g=2、3、4或8等数作为原根。为了方便,我们选择g=2。
接下来,我们需要计算公钥y。根据DSS标准:
y = g^x mod p
代入参数,我们有:
y = 2^3 mod 23 = 8
现在我们可以开始签名了。首先,我们选择一个随机数k=5,并计算:
r = (g^k mod p) mod q = (2^5 mod 23) mod 11 = 9
然后,我们计算:
s = (k^(-1) * (m + x*r)) mod q
其中k^(-1)表示k在模q意义下的逆元。由于k=5,q=11,因此k在模q意义下的逆元是9,即:
5 * 9 mod 11 = 1
代入参数,我们有:
s = (5^(-1) * (4 + 3*9)) mod 11 = (9 * 31) mod 11 = 4
因此,我们的签名是(r, s) = (9, 4)。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)