第一套1、为了构建一个简单、安全的”客户机/服务器”模式的应用系统,要求:①能安全存储用户的口令(无须解密);②用户口令在网络传输中需要被保护;③用户与服务器需要进行密钥协商,以便在非保护信道中实现安全通信;④在通信过程中能对消息进行认证,以确保消息未被篡改
(共10分) 假设要构建的应用系统允许使用MD5、AES、Diffie—Hellman算法,给定消息m,定义MD5(m)和AES(m)分别表示对m的相应处理
为了准确地描述算法,另外定义如下:给定数x、y和z,x*y表示乘法运算,x/y表示除法运算,x^y表示指数运算,而x^(y/z)表示指数为y/z
请回答下述问题: (1)为了安全存储用户的口令,服务器需要将每个用户的口令采纳 _____【1】______算法运算后存储
(1分) (2)在建立安全通信前,用户需要首先提交用户名和口令到服务器进行认证,为了防止口令在网络传输中被窃听,客户机程序将采纳 _____【2】______算法对口令运算后再发送
(1分) (3)为了在服务器和认证通过的用户之间建立安全通信,即在非保护的信道上创建一个会话密钥,最有效的密钥交换协议是 _____【3】_______算法
(2分) (4)假定有两个全局公开的参数,分别为一个素数p和一个整数g,g是p的一个原根,为了协商共享的会话密钥: 首先,服务器随机选取a,计算出A= ____【4】________ mod p,并将A发送给用户;(1分)然后,用户随机选取b,计算出B= _______【5】_____ mod p,并将B发送给服务器;(1分)最后,服务器和用户就可以计算得到共享的会话密钥key= _______【6】_____ mod p
(2分) (5)为了同时确保数据的保密性和完整性,用户采纳AES对消息m加密,并利用MD5产生消息密文的认证码,发送给服务器;假设服务器收到的消