第七讲
- 先求出 $\varphi(N)$,再求出私钥
- 2
- 第一问:顺着算过去就好了
- 第二问
- 方法1:求 $g^k==59\mod71$,因为71不是很大,这里k算一下就行了(但是如果阴间的话,这个k可能手算还是比较慢),然后 $M=C_2(y^k)^{-1}$
- 方法2:因为第一问和第二问的 $C_1$ 算出来是一样的,当 $C_1$相同,说明 $k$ 重用了
- 第三问:$g^k==49\mod71$,求出 $k=2$ ,然后再算算就行了。
- 给出ElGmal的选择密文攻击
- 我们想要解密的是 $C^$ ,我们任选随机数 $r$ ,求出 $C’=C^r$ 将其送入oracle,oracle返回的是 $m’=C’_2/(C^_1)^x=C^_2r/(C^*_1)^x$
- 我们收到m’,对其进行 $m’r^{-1}=C^_2rr^{-1}/(C^*_1)^x$,这个就是m了
- 后面的大题,调研SM2题,课程只要你知道SM2是干什么的就好了
- 模幂运算,密码库采用了滑动窗口,并且最好还要防范一下侧信道攻击
- 二倍点 点加
- (选做题不需要懂)
第八讲
1.DSS和DSA是一个东西,前者的最后一个S是standard后者的A是algorithm。具体计算和验证课本有例题

(1)和(2)相减,x这个未知数就被小区了,此时就只剩下k这个未知数了,然后就可以解出k
选作3. 计算的过程,可以去算算
选作4.知道SM2也可以数字签名即可