第七讲

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

第八讲

1.DSS和DSA是一个东西,前者的最后一个S是standard后者的A是algorithm。具体计算和验证课本有例题

Untitled

(1)和(2)相减,x这个未知数就被小区了,此时就只剩下k这个未知数了,然后就可以解出k

选作3. 计算的过程,可以去算算

选作4.知道SM2也可以数字签名即可