vb167信息加密与隐藏工具的设计与实现.docx
- 文档编号:24279298
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:32
- 大小:557.10KB
vb167信息加密与隐藏工具的设计与实现.docx
《vb167信息加密与隐藏工具的设计与实现.docx》由会员分享,可在线阅读,更多相关《vb167信息加密与隐藏工具的设计与实现.docx(32页珍藏版)》请在冰豆网上搜索。
vb167信息加密与隐藏工具的设计与实现
分类号:
TP309.2UDC:
D10621-408-(2007)5776-0
密级:
公开编号:
2003032028
成都信息工程学院
学位论文
信息加密与隐藏工具的设计与实现
论文作者姓名:
张磊
申请学位专业:
网络工程
申请学位类别:
工学学士
指导教师姓名(职称):
韩斌(副教授)
论文提交日期:
2007年06月10日
信息加密与隐藏工具的设计与实现
摘要
当今时代,随着电脑的普及应用和互联网的快速发展,网络中露出的安全问题引起普遍关注,网络的安全,主要是网络信息安全,需要采取相应的保护措施,提供适合的安全服务,加密机制和信息隐藏技术作为保障网络信息安全的手段,可以保证信息的完整性、可鉴别性和不可否认性。
在一些应用中,它只需要让指定接受人来验证,以确保信息的秘密性。
本文主要研究了信息加密与隐藏技术,介绍信息安全的应用前景,通过掌握的知识来实现一个简单信息加密与隐藏工具,包含加密和信息隐藏的功能,处理的对象主要是针对文本和图片两种文件格式,使用简单的对称加密算法对文本进行加密,而在图片中隐藏另外一张图片信息。
该设计旨在理解信息加密与隐藏技术在实际生活中的应用,从总体上阐述了它们的原理。
另外,本设计成果可用于教学实验中。
关键词:
安全;加密;信息;隐藏
TheDesignandImplementationofanInformationEncryptionandHidingTool
Abstract
Inmoderntimes,withtheuniversalapplicationofcomputersandrapiddevelopmentoftheInternet,morepeoplehavepaidattentiontothesecurityissuesintheInternet.Thesecurityissuesmainlyrefertonetworkinformationsecurity,soitneedssomeprotectionmeasuresandprovidesappropriatesecurityservices.Astheprotectionmeasuresofinformationsecurity,theencryptionandinformationhidingtechnologyprovidesthefunctionsofintegration,authentication,andnon-repudiationforthesigningmessage.Insomeapplications,itonlyneedstobeverifiedbysomerecipientswhilekeepingthemessagesecretfrompublic.Thispapermainlyresearchestheinformationencryptionandhidingtechnologyandintroducestheapplicationprospectsoftheinformationsecurity.Basedontheacquiredknowledge,asimpleinformationencryptionandhidingtoolisdesigned,anditprovidesthefunctionsofencryptionandinformationhiding,andthehandingobjectreferstothetextandpicture.Thesymmetricencryptionalgorithmisappliedintothetextencryptionwhileapictureishiddeninanotherpicture.Thepurposeofthisdesignistomaketheapplicationofinformationencryptionandhidinginreallifeunderstood,aswellastodescribetheprinciplesofthetechnologyonthewhole.Inaddition,thedesigningresultcanbeappliedintotheteachingandexperiments.
Keywords:
security;encryption;information;hiding
目录
论文总页数:
23页
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
声明23
1引言
1.1课题背景
当今时代,随着电脑的普及应用和互联网的快速发展,网络已经融入人们的生活之中,网络中露出的安全问题引起普遍关注,网络的开放性与共享性也导致了网络的安全性受到严重影响,在开放的Internet平台上,社会生活中传统的犯罪和不道德行为将变得更加隐蔽和难以控制。
人们从面对面的交易和作业,变成网上互不见面的操作、没有国界、没有时间限制,就产生了更大的安全隐患。
如何保证网上传输的数据的安全和对方的身份确认,对网络提出了挑战。
1.2本课题研究意义
加密与信息隐藏技术成为保障网络信息安全的手段。
这种机制可以保证信息传输的保密性、数据交换的完整性,发送信息的不可否认性,身份的确定性。
随着网络技术和软件技术的飞速发展,信息革命带来了全球范围市场竞争的日益加剧,同时对传统的办公和生活方式也产生了巨大冲击。
在计算机通信系统中,维护电子文档的安全成为至关重要和非常敏感的问题,保证重要信息在传输过程中的安全性在电子商务、电子政务等领域发挥着越来越大的作用。
信息隐藏与信息加密是不尽相同的,信息加密是隐藏信息的内容,而信息隐藏是隐藏信息的存在性,信息隐藏比信息加密更为安全,因为它不容易引起攻击者的注意。
本文主要介绍信息加密与隐藏的实现。
2信息隐藏技术
2.1信息隐藏简介
信息隐藏(InformationHiding),也称作数据隐藏(DataHiding)。
简单来讲,信息隐藏是指将某一信号(一般称之为签字信号,SignatureSignal)嵌入(embedding)另一信号(一般称之为主信号,HostSignal,或称之为掩护媒体,cover-media)的过程,掩护媒体经嵌入信息后变成一个伪装媒体(stegano-media)。
这一嵌入过程需要满足下列条件:
1.签字信号的不可感知性(Imperceptibility)。
换句话讲,签字信号嵌入后,主信号的感知特性没有明显的改变,签字信号被主信号“隐藏”了起来。
2.签字信号的鲁棒性(Robustness)。
签字信号对主信号的各种失真变换,如失真信号压缩、仿射变换、加噪、A/D或D/A转换等,以及各种恶意性攻击(MaliciousAttack),都应体现出一定的鲁棒性。
除非主信号的感知特性被明显的破坏,签字信号将很难被去除。
3.一般来讲,签字信号的嵌入不增加主信号的存储空间和传输带宽。
也就是说,签字信号嵌入后,“表面”上很难觉察到信息的改变。
信息隐藏的发展历史可以一直追溯到“匿形术(Steganography)”的使用。
“匿形术”一词来源于古希腊文中“隐藏的”和“图形”两个词语的组合。
虽然“匿形术”与“密码术(Cryptography)”都是致力于信息的保密技术,但是,两者的设计思想却完全不同。
“密码术”主要通过设计加密技术,使保密信息不可读,但是对于非授权者来讲,虽然他无法获知保密信息的具体内容,却能意识到保密信息的存在。
而“匿形术”则致力于通过设计精妙的方法,使得非授权者根本无从得知保密信息的存在与否。
相对于现代密码学来讲,信息隐藏的最大优势在于它并不限制对主信号的存取和访问,而是致力于签字信号的安全保密性。
2.2信息隐藏技术的分类
根据应用背景的不同,信息隐藏技术大致可分为三类:
1.版权保护(CopyrightProtection)
到目前为止,信息隐藏技术的绝大部分研究成果都是在这一应用领域中取得的。
信息隐藏技术在应用于版权保护时,所嵌入的签字信号通常被称作“数字水印(DigitalWatermark)”。
版权保护所需嵌入的数据量最小,但对签字信号的安全性和鲁棒性要求也最高,甚至是十分苛刻的。
为明确起见,应用于版权保护的信息隐藏技术一般称作“鲁棒型水印技术”,而所嵌入的签字信号则相应的称作“鲁棒型水印(RobustWatermark)”,从而与下文将要提到的"脆弱型水印"区别开来。
而一般所提到的“数字水印”则多指鲁棒型水印。
2.数据完整性鉴定(IntegrityAuthentication)
数据完整性鉴定,又称作数据篡改验证(TamperProof),是指对某一信号的真伪或完整性的判别,并进一步需要指出该信号与原始真实信号的差别,即提供有关证据指明真实信号可能经历的篡改操作。
更形式化的讲,假定接收到一多媒体信号g(图像、音频或视频信号),初步判断它很可能是某一原始真实信号f的修改版本。
数据篡改验证的任务就是在对原始信号f的具体内容不可知的情况下,以最大的可能判断是否g=f。
3.扩充数据的嵌入(AugmentationDataEmbedding)
扩充数据包括对主信号的描述或参考信息、控制信息以及其它媒体信号等等。
描述信息可以是特征定位信息、标题或内容注释信息等,而控制信息的嵌入则可实现对主信号的存取控制和监测。
例如,一方面针对不同所有权级别的用户,可以分别授予不同的存取权限。
另一方面,也可通过嵌入一类通常被称作“时间印章(TimeStamp)”的信息,以跟踪某一特定内容对象的创建、行为以及被修改的历史。
这样,利用信息隐藏技术可实现对这一对象历史使用操作信息的记录,而无需在原信号上附加头文件或历史文件,因为使用附加文件,一来容易被改动或丢失,二来需要更多的传输带宽和存储空间。
2.3信息隐藏关键技术
信息隐藏技术的关键在于如何处理签字信号的鲁棒性、不可感知性、以及所嵌入的数据量这三者之间的关系。
判断信息隐藏算法优劣的一般衡量准则为:
1.对于主信号发生的部分失真,签字信号是否具备一定的鲁棒性。
2.对于有意或无意的窃取、干扰或去除操作,签字信号是否具备一定的"抵抗"能力,从而保证隐藏信息的安全可靠和完整性。
3.签字信号的嵌入是否严重降低了主信号的感知效果。
4.数据嵌入量的大小。
对于某一特定的信息隐藏算法来讲,它不可能在上述的衡量准则下同时达到最优。
显然,数据的嵌入量越大,签字信号对原始主信号感知效果的影响也会越大;而签字信号的鲁棒性越好,其不可感知性也会就随之降低,反之亦然。
由于信息隐藏的应用领域十分宽广,不同的应用背景对其技术要求也不尽相同。
因此,有必要从不同的应用背景出发对信息隐藏技术进行分类,进而分别研究它们的技术需求。
2.4信息隐藏的应用领域
随着信息隐藏技术的发展,它的应用领域也得到了扩展,信息隐藏的基本应用领域是版权保护、隐藏标识、认证和安全不可见通信。
当应用于版权保护时,潜在的应用市场在于电子商务、在线或离线地分发多媒体内容以及大规模的广播服务。
信息隐藏用于隐藏标识时,可在医学、制图、数字成像、数字图像监控、多媒体索引和基于内容的检索等领域得到应用。
信息隐藏的认证方面主要ID卡、信用卡、ATM卡等上面信息的安全不可见通信将在国防和情报部门得到广泛的应用。
多媒体技术的飞速发展和Internet的普及带来了一系列政治、经济、军事和文化问题,产生了许多新的研究热点,以下几个引起普遍关注的问题构成了信息隐藏的研究背景。
国内目前在证件防伪领域面临巨大的商机,由于缺少有效的措施,使得“造假”、“买假”、“用假”成风,已经严重地干扰了正常的经济秩序,对国家的形象也有不良影响。
通过信息隐藏技术可以确认该证件的真伪,使得该证件无法仿制。
数字作品(如电脑美术、扫描图像、数字音乐、视频、三维动画)的版权保护是当前的热点问题。
由于数字作品的拷贝、修改非常容易,而且可以做到与原作完全相同,所以原创者不得不采用一些严重损害作品质量的办法来加上版权标志,而这种明显可见的标志很容易被篡改。
目前市场上的信息隐藏产品在技术上还不成熟,很容易被破坏或破解,距离真正的实用还有很长的路要走。
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等。
3.1.3非对称密钥算法
公开密钥算法(也叫非对称算法)是这样设计的:
用作加密的密钥不同于用作解密的密钥,而且解密密钥不能根据加密密钥计算出来(至少在合理假定的长时间内)。
之所以叫做公开密钥算法,是因为加密密钥能够公开,即陌生者能用加密密钥加密信息,但只有用相应的解密密钥才能解密信息。
在这些系统中,加密密钥叫做公开密钥(简称公钥),解密密钥叫做私人密钥(简称私钥)。
私人密钥有时也叫秘密密钥。
为了避免与对称算法混淆,此处不用秘密密钥这个名字。
用公开密钥K加密表示为:
EK(M)=C
虽然公开密钥和私人密钥是不同的,但用相应的私人密钥解密可表示为:
DK(C)=M
有时消息用私人密钥加密而用公开密钥解密,尽管可能产生混淆,但这些运算可分别表示为:
EK(M)=C
DK(C)=M
当前的公开密码算法的速度,比起对称密码算法,要慢的多,这使得公开密码算法在大数据量的加密中应用有限。
非对称加密的优点在于用户不必记忆大量的提前商定好的密钥,因为发送方和接收方事先根本不必商定密钥,发放方只要可以得到可靠的接收方的公开密钥就可以给他发送信息了,而且即使双方根本互不相识。
但为了保证可靠性,非对称加密算法需要一种与之相配合使用的公开密钥管理机制,这种公开密钥管理机制还要解决其他一些公开密钥所带来的问题。
常用的非对称加密算法有RSA等。
4实现一个信息加密与隐藏工具
4.1设计思路
4.1.1界面设计思路
本设计根据前面理论的分析,从信息加密与隐藏两个主要方面着手,将两大块分开进行独立设计,做成不同的功能界面,每部分功能又都分别包括了对文本文件和图片文件的操作。
为了方便操作与演示,因此在界面设计上不用很复杂,只需要用有限的几个控件来实现不同的功能,通过某个控件选择不同的文件,再通过相应的按钮对所选文件进行不同操作。
4.1.2信息加密设计思路
在实现对文本文件的加密与解密时,将文件内容固定为非中文字符,即常用的ASCII字符,并采用对称加密算法来实现,算法选择用自己编写的简单的位操作算法,且将密钥固定为已知值。
4.1.3信息隐藏设计思路
在实现对图片文件的信息隐藏与提取时,采用基于数字水印的技术,图片格式固定为.BMP格式的文件,隐藏的过程就是通过在所选的图片中嵌入其他的图片,并在图片中加入特殊的信息,而验证的过程就是对图片中的特殊信息进行提取,如果包含有特殊信息,则说明已对文件进行信息隐藏,验证成功后将隐藏在载体文件中的图片信息显示出来。
4.2设计流程
4.2.1信息加密流程
文本文件的内容是由可见ASCII字符组成,每个ASCII字符都有对应的字符值,在对其进行加密时,可采用对称加密算法,对每个字符值进行某一范围内的规律变换,变换后字符显示会与原先的字符不一样,如此循环的对每个字符进行相同操作,就可将明文信息变换成密文信息,最后将密文信息附加到明文信息结尾部分,生成一个新的文本文件,接着再次将整个文本文件进行加密,为的是在信息的传输中,保护信息。
详细的步骤如下:
1.选择所要加密的文本文件;
2.用对称加密算法对文本文件进行加密,生成附加信息;
3.将已经生成的附加信息添加到原明文文件后,重新生成一个新的文本文件;
4.再次对新的文本文件进行加密;
5.将整个加密文件保存保存;
4.2.2信息隐藏流程
本设计中的信息隐藏主要是针对图片文件,即在一张图片中隐藏另外一张图片信息,图片文件的格式为.BMP格式,图片文件的度量单位是由像素点构成,许多不同颜色值的像素点组合在一起就可以构成一张图片,在对图片文件进行操作时就是以像素点为基本单位进行操作,将图片信息隐藏在像素点中,像素点是由8位二进制值组成,只要将信息隐藏到二进制中就可以,最后为了使验证方便,在对前几个像素点的值进行规律变化,而对整张图片的显示无大的影响。
详细的步骤如下:
1.选择所要隐藏的图片文件;
2.提取每个像素点的信息值;
3.获取信息图片的像素点信息值,并将其隐藏的载体图片中;
4.生成新的图片,将前几个像素点进行变换;
5.保存整个图片文件;
4.2.3信息解密流程
加密后的文本文件是由两部分组成的,一是原明文信息,二是消息摘要,并且两部分组合在一起加密后构成加密文件,在进行解密时,需要将两部现分开,这就先要解密,由于消息摘要的长度和明文信息的长度是相同的,这就便于提取,之后将获取到的明文信息值用相同的加密算法进行加密,加密后的信息于消息摘要进行比较,如果相同,则说明解密成功。
详细的步骤如下:
1.选择所要解密的文本文件;
2.对文件解密,从中提取明文信息和附加信息;
3.对明文信息加密,得到另一附加信息;
4.将两个附加信息进行比较;
5.相同,则说明信息在传输中没有被改变,否则不然;
4.2.4隐藏信息提取流程
对图片文件的信息提取如同对其进行隐藏一样,只需要涉及到对像素点值的操作,首先要对图片的前几个像素点进行提取,验证其是否按照隐藏时的规律排列,如是,则说明有隐藏信息,接着,将隐藏到载体图片像素点中的信息通过位操作变换出来,使其为显示图片的像素点。
详细步骤如下:
1.选择所要提取隐藏信息的图片文件;
2.提取前几个像素点,验证其是否按照隐藏规律排列;
3.验证成功时,变换图片的每个像素点值;
4.将隐藏的图片信息显示出来;
4.3设计前言
4.3.1设计工具
本次设计采用的是微软的.NET2003开发平台,用VB.NET语言进行设计,由于VB.NET是可视化的开发工具,且又是面向对象的语言,对于界面的设计相当方便和上手,而且语言中封装的函数可提供所需的功能作用,使得本次设计在程序结构上清晰而且规范。
4.3.2已有设计条件
首先对VB.NET有系统的学习过,熟悉其语法规则,了解该程序语言的特点,在平时的学习中,曾经设计过简单的应用软件,具有一定的开发经验,因此,在本次毕业设计中,能够按照规范的软件设计流程,参照已有知识,根据要求设计出符合目标的成果出来。
另外,在设计中,对存在的问题,可在指导老师的指点下,对问题进行分析,并且提出可行的解决方案,及时修改程序的问题,对程序进行测试,尽可能的完善本设计。
4.3.3设计目的
本文描述了一个信息加密与隐藏工具的设计和实现,先从理论上进行总体阐述,接着对功能的实现进行具体的分析和设计,从安全性的角度来说,本设计成果不适合用于实际生活中,但从教学的角度来考虑,通过课堂上的演示,可使学生更好理解这方面的知识原理,增强教学效果。
4.4信息加密与隐藏设计过程分析
4.4.1信息加密
本功能的设计是用对称加密算法件来实现对文本文件的加密,文本文件是指TXT格式的文件,由于算法上的限制,文件的内容除去了中文字符,操作的是ASCII字符,每个字符只占用一个字节的空间,这样便于处理。
首先,选择文件格式,并选择所操作的文件,相应的代码实现如下:
OpenFileDialog1.Filter="所有文件(*.*)|*.*|文本文件(*.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vb167 信息 加密 隐藏 工具 设计 实现