端到端的安全通讯系统
简介
本人是个彩笔,信息安全的期末大作业要求用熟悉的语言或cryptool工具实现一个端对端的安全通讯系统,这次的大作业代码也是在网上找的代码缝缝补补自己再改改完成的。具体要求如下:
可以使用你熟悉的编程语言实现(编写一个发送端程序和一个接收端程序,要求接收端完成对消息的验证和解密),也可以借助Cryptool 2平台实现相关功能。
1、用AES的CBC模式完成对聊天信息(文本、音频或视频)或传送文件的加密。
2、使用RSA对上面的对称密钥进行加密,实现会话密钥传递(要求p,q为512比特的大素数,模数N为1024比特),或者使用Diffie-Hellman密钥交换协议,实现会话密钥交换(要求大素数1024比特)。
3、使用散列函数(或者消息认证码)保证聊天信息的完整性(或者消息源认证)。
4、使用数字签名(可以是RSA签名或者数字签名标准算法DSA)保证信息的不可伪造性和行为的不可否认性。
5、使用数字证书实现对通信双方的身份认证(可选)
在网上发现很难找到能满足的代码,还是幸运的在github找到了一位大佬的代码,说实话,看完代码后发现没有想象的那么难,主要是平时上课都是讲各种加密算法的原理真的8知道代码实现要怎么弄,原本是期末考的因为疫情变为大作业,太难了。
上传到了github上,
https://github.com/ninesun95/End-to-end-secure-communication-system.git,需要自提。