导读:第七章作业参考答案.1.在DSS数字签名标准中,取p=83=2×41+1,q=41,h=2,于是g≡2 2≡4 mod 83,若取x=57,则 y ≡ g x.≡457=77 mod 83。在对消息M=56签名时选择k=23,计算签名并进行验证。.解:这里忽略对消息M求杂凑值的处
1.在DSS数字签名标准中,取p=83=2×41+1,q=41,h=2,于是g≡2 2≡4 mod 83,若取x=57,则 y ≡ g x ≡457=77 mod 83。在对消息M=56签名时选择k=23,计算签名并进行验证。
解:这里忽略对消息M求杂凑值的处理
计算 r =(g k mod p) mod q =(423 mod 83) mod 41=51 mod 41=10
k -1mod q=23-1 mod 41=25
s =k -1(M +xr) mod q =25(56+57*10) mod 41=29
所以签名为(r ,s)=(10,29)
接收者对签名(r ¢,s ¢)=(10,29)做如下验证:
计算w=(s ¢)-1 mod q =29-1 mod 41=17
u1=[M ¢w] mod q =56*17 mod 41=9
u2= r ¢w mod q =10×17 mod 41=6
v=(g u 1 y u2 mod p) mod q =(49×776 mod 83) mod 41=10
所以有v= r ¢,即验证通过。
2.在DSA签字算法中,参数k泄漏会产生什么后果?
解:如果攻击者获得了一个有效的签名(r ,s),并且知道了签名中采用的参数k,那么由于在签名方程 s =k -1(M +xr) mod q 中只有一个未知数,即签名者的秘密钥x,因而攻击者可以求得秘密钥x= r -1(sk - M) mod q ,即参数k的泄漏导致签名秘密钥的泄漏。
4.2. 试述DSA数字签名算法,包括密钥产生、签名算法和验证算法,并给出验证过程正确性证明
参考ppt
4.4. 已知schnorr签名的密钥产生和签名算法,试给出验证方程,并证明其正确性。
参考ppt
5.1.试证DSA签名中两次使用相同的会话密钥k,是不安全的
分别给出对m1和对m2的签名表达式,然后将两个关于s的方程联立,这时如果会话密钥k相同则可直接解出k和秘密钥x,证明过程可根据此思路进行
1. 7. 具有保密性和认证性的密钥分配如图:试给出消息②的表示_________________
解:E PKA(N1||N2)
4.4. 试问对于如下的简单密钥分配协议的中间人攻击如何实现
中间人攻击
l 如果敌手E已接入A、B双方的通信信道,就可通过以下不被察觉的方式截获双方的通信:
l ① 与上面的步骤①相同
l ② E截获A的发送后,建立自己的一对密钥{PK E ,SK E},并将 PK E ‖ ID A 发送给B。
l ③ B产生会话密钥 K S 后,将 E PKE[K S]发送出去。
l ④ E截获B发送的消息后,由 D PKE[E PKE [K S]]解读 K S 。
l ⑤ E再将 E PKA[K S]发往A。
现在A和B知道 K S ,但并未意识到 K S 已被E截获。A、B在用 K S 通信时,E就可以实施监听
6.1. 如下图所示的密钥分发过程,
(1) 为什么消息②要插入消息①? (2)N 1和 N 2作用是什么?
(3) 试写出消息④的表达式。 (4) 第③至⑤步的功能是什么?
(1) 消息②插入消息①从而使收方A能够认证收到的消息的新鲜性,即不是重放,也没有被篡改。
(2) N 1和 N 2作用是一次性随机数,用于标识一次通信,认证消息的新鲜性,防止重放
(3) E ks(N 2)
(4) 第③用于A向B发送协商的会话密钥,并且告知B,A要和它通信
第④至⑤步用于B向A认证主体活现性,以及第③步收到消息的新鲜性。
上一篇:我的数据备份笔记
下一篇:Git下载、安装与配置