一、实验内容
Cmp传输与加解密
结对编程,一人服务器,一人客户端,服务器向客户端发送经RSA加密的密钥和用密钥加密的密文(使用DES算法),客户端负责接收加密后的密钥和密文,并解密得出明文。
二、实验过程
1. 先运行教材上TCP代码,一人服务器,一人客户端。
2.下载加解密代码,先编译运行代码,一人加密一人解密。
3.集成代码,一人加密后通过TCP发送,加密使用AES或DES。AES或DES加密密钥Key的发送,使用服务器的公钥加密,公钥算法用RSA或DH,发送信息的完整性验证使用MD5或SHA3。
4.使用实验楼git服务托管代码
5.完成3后找老师验收,写blog。
在本次结对编程中,我负责的是客户端,解密发送过来的密文,具体实验过程截图如下:
1.接收服务器发送过来的用RSA加密的密钥
2.用RSA公钥进行解密得到原始密钥。
3.接收服务器发送过来的密文。
4.使用密钥对密文进行解密
5.最后得出解密后的结果
三、遇到的问题及解决方法
1.运行时报错:找不到keys.txt文件。解决方法:将keys.txt文件放到src文件夹外,如图所示。
2.端口号和IP地址不匹配导致连接失败
四、实验总结与感想
本次实验难度较大,因为是结对编程,我的队友20135203齐岳负责服务器,发送加密文件。而我负责客户端,接收并解密文件。本次试验中我们使用了
现成的DES和RSA算法,但是由于刚开始编写程序时对于加密密钥的来源和位置没有理解透彻,以至于之后程序的运行中总是报错。之后调整了我们的IP
地址和端口号,以及keys.txt文件的位置后,我们终于得出了理想的成果。这是本学期最后一次java实验,我通过动手实验加深了对于java编程的理解,
也意识到还需不断努力、不断提高。最后,感谢娄老师的悉心教导!
五、结对编程队员的博客地址:http://www.cnblogs.com/July0207/