基于.NET信息加密与隐藏工具的设计
关键词:安全;加密;信息;隐藏
摘 要
当今时代,随着电脑的普及应用和互联网的快速发展,网络中露出的安全问题引起普遍关注,网络的安全,主要是网络信息安全,需要采取相应的保护措施,提供适合的安全服务,加密机制和信息隐藏技术作为保障网络信息安全的手段,可以保证信息的完整性、可鉴别性和不可否认性。在一些应用中,它只需要让指定接受人来验证,以确保信息的秘密性。本文主要研究了信息加密与隐藏技术,介绍信息安全的应用前景,通过掌握的知识来实现一个简单信息加密与隐藏工具,包含加密和信息隐藏的功能,处理的对象主要是针对文本和图片两种文件格式,使用简单的对称加密算法对文本进行加密,而在图片中隐藏另外一张图片信息。该设计旨在理解信息加密与隐藏技术在实际生活中的应用,从总体上阐述了它们的原理。另外,本设计成果可用于教学实验中。
3 加解密相关技术
3.1 密码学知识
3.1.1 密钥和算法
密码算法也叫密码,是用于加密和解密的数学函数。(通常情况下,有两个相关的函数:一个用作加密,另一个用作解密)
如果算法的保密性是基于保持算法的秘密,这种算法称为受限制的算法。受限制的算法具有历史意义,但按现在的标准,它们的保密性已远远不够。大的或经常变换的用户组织不能使用它们,因为每有一个用户离开这个组织,其它的用户就必须改换另外不同的算法。如果有人无意暴露了这个秘密,所有人都必须改变他们的算法。
现代密码学用密钥解决了这个问题,密钥用K表示。K可以是很多数值里的任意值。密钥K的可能值的范围叫做密钥空间。加密和解密运算都使用这个密钥(即运算都依赖于密钥,并用K作为下标表示),这样,加解密函数现在变成:
EK(M)=C
DK(C)=M
这些函数具有下面的特性:
DK(EK(M))=M
有些算法使用不同的加密密钥和解密密钥,也就是说加密密钥K1与相应的解密密钥K2不同,在这种情况下:
EK1(M)=C
DK2(C)=M
DK2(EK1(M))=M
所有这些算法的安全性都基于密钥的安全性;而不是基于算法的细节的安全性。这就意味着算法可以公开,也可以被分析,可以大量生产使用算法的产品,即使偷听者知道你的算法也没有关系;如果他不知道你使用的具体密钥,他就不可能阅读你的消息。
总之,密码系统由算法、以及所有可能的明文、密文和密钥组成的。
3.1.2 对称密钥算法
对称算法有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,反过来也成立。在大多数对称算法中,加解密密钥是相同的。这些算法也叫秘密密钥算法或单密钥算法,它要求发送者和接收者在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都能对消息进行加解密。只要通信需要保密,密钥就必须保密。
对称算法的加密和解密表示为:
EK(M)=C
DK(C)=M
对称算法可分为两类。一次只对明文中的单个比特(有时对字节)运算的算法称为序列算法或序列密码。另一类算法是对明文的一组比特亚行运算,这些比特组称为分组,相应的算法称为分组算法或分组密码。
对称加密的缺点在于密钥的管理过于复杂。如果任何一对发送方和接收方都有他们各自商议的密钥的话,那么很明显,假设有N个用户进行对称加密通信,如果按照上述方法,则他们要产生N(N-1)把密钥,每一个用户要记住或保留N-1把密钥,当N很大时,记住是不可能的,而保留起来又会引起密钥泄漏可能性的增加。常用的对称加密算法有DES,DEA等。
目 录
1 引言 1
1.1 课题背景 1
1.2 本课题研究意义 1
2 信息隐藏技术 1
2.1 信息隐藏简介 1
2.2 信息隐藏技术的分类 2
2.3 信息隐藏关键技术 3
2.4 信息隐藏的应用领域 3
3 加解密相关技术 4
3.1 密码学知识 4
3.1.1 密钥和算法 4
3.1.2 对称密钥算法 4
3.1.3 非对称密钥算法 5
4 实现一个信息加密与隐藏工具 6
4.1 设计思路 6
4.1.1 界面设计思路 6
4.1.2 信息加密设计思路 6
4.1.3 信息隐藏设计思路 6
4.2 设计流程 6
4.2.1 信息加密流程 6
4.2.2 信息隐藏流程 7
4.2.3 信息解密流程 7
4.2.4 隐藏信息提取流程 7
4.3 设计前言 8
4.3.1 设计工具 8
4.3.2 已有设计条件 8
4.3.3 设计目的 8
4.4 信息加密与隐藏设计过程分析 8
4.4.1 信息加密 8
4.4.2 信息隐藏 11
4.5 解密与隐藏信息提取设计过程分析 15
4.5.1 文本信息的解密 15
4.5.2 隐藏信息的提取 16
4.6 实例运行与测试 18
4.6.1 信息加密与隐藏过程 18
4.6.2 解密与隐藏信息提取过程 19
结 论 21
参考文献 21
致 谢 22
上一篇:【.NET】178 基于【.NET】企业信息管理系统设计