要求:Alice想通过公共信道给Bob传输一份秘密文件(非常大),又知道,很多人和结构想得到这份文件。如果你是Alice,你应该怎么做?请设计一个方案,并编程实现。
a)简介
将大文件完整地,不被篡改地,旁人看不懂地传输。
b)算法流程
Alice:
Bob:
c)算法实现
在3.3,4,5的基础上:
前期准备(获取密钥):
图6.1 前期准备
Alice:
图6.2 Alice实现
Bob:
图6.3 Bob实现
d)算法验证
验证能否顺利加解密:
图6.4 验证
e)算法分析
能否实现发送发身份认证,反篡改,反窥探,效率快的功能。
身份认证:使用RSA签名,安全性由困难问题保证。
反篡改:使用Hash函数,由单向性保证伪造困难。
反窥探:使用RSA加密, 安全性由困难问题保证。
效率快:DES算法效率快。
综合DES和RSA的优缺点:DES算法处理速度快,而RSA算法速度慢很多;DES密钥分配困难,而RSA简单;DES适合用于加密信息内容比较长的场合,而RSA适合用于信息保密非常重要的场合。
安全性最弱的:DES。随着相关研究的发表和计算机能力的提升,DES已经不再是牢不可破的,如果攻击者有这种能力,完全可以直接不管这个算法的其他部分。对密文截取以后,直接穷举攻击,就能得到文件内容。所以,在设计安全算法时,要考虑各个部分的安全性,不能顾此失彼。如果想要对这个算法进行改进,可以将对成加密算法换为AES算法或者IDEA算法,因为这两个算法,就目前来说,都没有明显有效的破解方法。
f)实现难点
如何将各个散的算法串联到一起,共同实现功能。