《信息安全基础实验指导》实验指导书 实验六 密钥交换算法 实验名称:密钥交换算法 实验类型: 设计性实验 学 时:2 适用对象: 信息安全 一、实验目的 学习Diffle-Hellman 密钥交换算法,在密钥交换算法的基础上,掌握密钥交换算法的编程方法,加深对对称密码交换体制的了解,为深入学习密码学奠定基础
二、实验要求 1
利用套接字编程编写包含客户端和服务器的程序,要求两者能够进行数据交换
Socket 接口规范可以适用多种通讯协议,主要是 TCP/IP
TCP/IP 是计算机互联最常适用的网络通讯协议,TCP/IP 的核心部分由网络操作系统的内核实现,应用程序通过编程接口来访问 TCP/IP,应用程序通讯的方式有图 3-1 所示
图 3-1:应用程序通信方式 2
客户端和服务器进行密钥交换,并分别计算最终生成的密钥,看两者的密钥是否一致
三、实验原理 1
套接字编程原理,详见附录 2
密钥交换原理迪菲-赫尔曼通过公共信道交换一个信息,就可以建立一个可以用于在公共信道上安全通信的共享秘密(shared secret)
应用程序 1 应用程序 2 网络编程接口,如 Socket 网络通讯服务接口,如 TCP/IP 操作系统,如 Unix或者 Windows 物理通讯介质 以下解释它的过程(包括算法的数学部分): 更详细的算法描述见:Wiki 四、实验所需仪器、设备、材料(试剂) 运行Windows或Linux操作系统的PC机,具有gcc(Linux)、java、VC(Windows)等 C或java语言编译环境
五、实验预习要求、实验条件、方法及步骤 (1)根据实验原理部分对 DES算法随机读写的要求,画出流程关系图,考虑各种可能,并实现
六、由于实验代码相对较多,可以两个同学一组,分工完成实验
附录:套接字编程的资料 基于 C的面向连接的Sock