题目

    小明和小红喜欢传纸条,为防同学偷看,约定使用Diffie-Hellman算法来加密,该算法的简化模型如下:二人先约定两个正整数g和n,然后小明私下随机生成一个数x,并计算U=gx Mod n;小红也私下生成一个数y,并计算V=gy Mod n。随后二人交换计算出的U,V。接着小明独自计算出自己的密码mkey=Vx Mod n,小红也独自计算出自己的密码hkey=Uy Mod n,且mkey=hkey。     事实上,依上述算法,即便同学们知道g,n,U,V的值,也无法计算出二人的密码,必须再取得x或y才可以,而x,y仅他俩各自保留,外人无从知晓。     已知消息加密的步骤(该步骤可逆)为:①将消息字符串倒序→②将各个字符转换为ASCII码数值→③对各个数值用密码进行异或操作(已知异或运算可逆,即a Xor k=b, b Xor k=a)→④用逗号间隔各异或运算后的结果。     小红依加密的步骤可逆,编制了一个如下的VB程序,该程序用于解密小明的密文,程序运行界面如图所示。回答下列问题: Private Sub decrypt_ Click()     Dim g,n,U,y,hkey As Integer     Dim mw, xx As string     Dim a(1 To 100) As Integer     Dim i, L As Integer, c As String     '经与小明的协商,小红已获得g,n,U,y的值     g=2:n=7           '约定两个数g和n的值分别为2和7     U=2:y=5           '小红随机生成的数y的值为5     mw = Text1.Text    '小明的密文,由数字和逗号组成     hkey =     ①         L=1     For i = 1 To Len(mw)         c = Mid(mw, i, 1)         If  Then             a(L)=a(L)*10+Val(c)         Else             L=     ②             End If     Next i     For i=1 To L         a(i) = a(i) Xor hkey             ③        Next i     Text2.Text = xx End Sub (1) 加框处代码有错,请改正。 (2) 在程序划线处填入合适代码,使程序完整。 ① ② ③  答案: c>="0"And c<="9" 或c<>",”或其他等价答案 【1】U^y Mod n【2】L+1【3】xx = Chr(a(i)) + xx或xx = Chr(a(i)) & xx
信息技术 试题推荐
最近更新