3。3。4 算法的具体实现 9
3。4 本章小结 12
4 在LINUX平台上的设计与实现 13
4。1 开发环境介绍 13
4。1。1 Ubuntu操作系统概述 13
4。1。2 Qt Creator集成开发环境介绍 13
4。1。3 libpcap介绍 14
4。2 详细设计与实现 16
4。2。1 发送方 16
4。2。2 接收方 19
4。3 本章小结 21
5 实验与测试 22
5。1 实验环境 22
5。2 实验目的 22
5。3 实验内容 22
5。4 实验测试步骤与结果分析 23
5。5 本章小结 25
结论 26
致谢 27
参考文献 28
附录A 30
1 绪论
1。1 研究的背景意义
在21世纪,在这个信息爆炸的时代,信息的数量已经远超我们的想象,信息的增长也正在变得越来越快。而我们每一个身处这信息之海中的人,每时每刻都在和各种各样的信息打着交道,也产生着各种各样的信息,特别是移动互联网的出现使得这种关系变得越来越紧密,我们与信息和数据越来越密不可分。在这样的情况下,有许多极具价值的信息便被一些别有用心的人盯上了,许多的重大信息泄露事件开始出现,信息安全也被提上了人类社会的议程之中。这里有几个相关的例子:2010年谷歌遭黑客入侵,使得中国Gmail用户的信息遭到暴露;2014年,Global Payments由于未经授权认证接取信用卡支付商的服务器与处理系统,导致150万笔信用卡号遭到泄露,盗刷金额达到了7。07亿美元,造成的损失成本达9390万美元;同样在2014年,心血漏洞(Heartbleed)由谷歌的研究员发现并披露,并立即受到了全世界媒体的关注,因为其相关的OpenSSL是在互联网中被广泛使用的用来进行网络通信加密的软件,而且据说该漏洞早就被人发现并用来进行信息窃取,造成的信息泄露波及无论是在时间还是空间上都相当之广。
从上述例子可以看到,信息安全已经成为了信息时代一个十分重要的、不可避免的话题。而这当中,如何安全隐秘地传递信息,是其中很重要的一个方面。为了达到这个目的,主要有两大类的方法,其中之一就是直接对所要传递的信息进行加密,让除了发送方和接收方以外的其他人即使截取了信息也难以理解。这种方法应用最早,从古罗马时使用的第一个加密和解密文本的编码方式:凯撒密码(传说凯撒曾用此密码与将军们联系而得名)开始,到二战德军著名的恩尼格码,再到现如今各种各样的加密方式。然而随着电子计算机的出现,这种加密方式的弊端也开始显现出来,那就是加密的信息一旦被截取,通过电子计算机强大计算能力的辅助,理论上总能将其解密。实际上德军号称不可破译的恩尼格码就是被计算机之父图灵率领的团队以世界上最早的电子计算机破译。