Skip to content

作业七

211275022田昊东

R5

  • 对于长度为8的二进制串共有\(2^8=256\)
  • 映射方案就是输入块种类数目的全排列\(256\)
  • 密钥的数目与映射方案的数目相同\(256!\)

R6

  • 其他人不能解密2个人的通信,也就是说对于任意一组通信都具有唯一的密钥,那么需要密钥的数目就是N个人两两组合的数目,即\(N*(N-1)/2\)
  • 如果使用公私密钥,那么只需要每个人各有一组即可,共\(2N\)个密钥(\(N\)个公钥\(N\)个私钥)

R15

  • 使用MAC还需要对称密钥,而这就需要Alice与请求者建立连接,而由于请求者非常多,因此这是很费时的。
  • 如果使用数字前面,Alice并不需要与请求者建立联系,生成包后可以直接发送给请求者。
  • 因此这种情况下更适合使用数字签名

R23

  • 在密钥交换过程,Bob会用Alice的公钥加密对话需要使用的对称密钥,因为Trudy实际并没有Alice的私钥因此Trudy得不到真正的对称密钥,在之后服务器发送hello done时,Bob会发现MAC不符(因为Trudy不知道对称密钥),故此时会出现错误

P3

  • 不能,因为多码代替密码使用一个单词作为密钥,即不同位置处相同字母的映射结果偏移量可能是不同的,尤其是密钥长度超过这个句子的长度时,无法得知后面的密钥的内容,因此这不足以破解所有报文

P7

  • \(N=p*q=33\)
  • \(Φ = (p–1)×(q–1)=20\)
  • 选择\(e=3\)满足\(GCD(3,20)=1\)
  • 选择\(d=7\)满足\(d*emod20=1\)
  • 进行加密
    • d=4:\(4^3modN=31\)
    • o=15:\(15^3modN=9\)
    • g=7:\(7^3modN=13\)
  • 进行解密
    • \(31^7modN=4\)
    • \(9^7modN=15\)
    • \(13^7modN=5\)
  • 使用二进制进行编码:dog=00100 01111 00111
  • 转化为10进制为4583
  • 由于4583大于\(N\)因此需要使用更大的p和q
  • 不妨取\(p=83\)\(q=97\)\(N=p*q=8051\)\(Φ = (p–1)×(q–1)=7872\)
  • 进一步选择\(e\)\(d\)进行计算

P8

  • \(n=p*q=55\) \(z=(p-1)*(q-1)=40\)
  • 满足\(GCD(3,40)=1\)
  • \(3*27mod40=1\),即\(d=27\)
  • 密文\(c=m^emodn=17\)
  • 解密得到\(c^27modn=8\)

P9

  • A从\(Z_P^*\)选择一个数\(x\),把\(X=g^x(modP)\)发送给B

  • B从\(Z_P^*\)选择一个数\(y\),把\(Y = g^y(modP)\)发送给A
  • A得到密钥\(Y^xmodP\) 即(\(g^{xy}modP\))
  • B得到密钥\(X^ymodP\)即(\(g^{xy}modP\))
  • 故AB或得到相同的密钥

  • \(T_A=2^5mod11=10\) \(T_B=2^12mod11=4\)

  • \(S=T_A^ymod11=T_B^xmod11=1\)

  • A T B | TA | TT | |-------------->|---------->| | TT | TB | |<--------------|<----------| | | |

  • A和B将自己的公钥发送给攻击者,而攻击者用自己的公钥恢复他们,从而分别得到与A的密钥和与B的密钥,即分别与AB建立通讯,从而实现中间人攻击

P16

  • Snipaste_2023-06-01_00-25-20
  • 如果不使用证书,攻击者可以把自己的公钥传输给B,并欺骗B这是A的公钥,因此Bob在对加密后的n进行解密验证时会使用攻击者的公钥进行解密得到正确的n,从而攻击者成功欺骗Bob自己是Alice。在之后的通讯中,bob会使用攻击者的公钥发送信息,因此攻击者可以截获并解码所有的信息,(同理攻击人也可以这样与Alice建立连接)成为中间人。

P18

  • 无法实现,与trudy相比,Alice与Bob不恭喜任何其他信息,因此Trudy作为中间人一定可以实现伪造,Bob无法对信息进行验证
  • 能,Alice只需要用Bob的公钥对信息进行加密,之后发送给Bob,Bob使用私钥解密即可实现。

P19

  • 由客户端在phase3发起
  • ip:216.75.194.220;端口443
  • 79+204=283

  • 包含3条SSL记录

  • 包含了一个使用服务器公钥加密的主密钥
  • 由这张图image-20230601011926593
  • 可知第一个字节为bc;最后一个为29
  • 6条(即包含第一个Encrypted handshake message之前的所有报文)
  • 8条(即包含第二个Encrypted handshake message之前的所有报文)