看到题目我们可以知道它将采用“Diffie-Hellman密钥交换”
1.Alice选定公共素数p=71和其本元根g=7(注:此处仅作原理验证,实际使用时,选择的大素数取值一般为1024bit以上)。同时,任意指定一个数字q(作为私有密钥自己保留,不外传)
2.确定一个想要保密通信的小伙伴Bob(注意:在飞秋中任意挑选合作的小伙伴,无需面对面沟通密钥)。
3.Alice计算自己的公开密钥v,将v连同p、g的值发送给对方。v的计算公式如下:
v=(g^q)mod p
4.Bob任意指定一个数字r,根据Alice发来的p和g的值计算w,将w的值发送给Alice,w的计算公式如下:
w=(g^r)mod p
5.双方各自利用自己的私有密钥和对方的公开密钥计算出key,验证Alice和Bob计算出的key是否相同,密钥计算公式如下:
Alice的key=w^q mod p
Bob的key=v^r mod p
6.此时的key可做为对称加密密钥使用,请Alice和Bob利用步骤5中协商好的密钥,使用任意加解密工具进行一次对称加密通信(古典、DES或AES均可)。
7.打开Cryptool 2,使用Diffie-Hellman key exchange模板理顺Diffie-Hellman密钥交换过程,使用公用素数71。
所以就题目而言我们直接进行素数分解得到结果为