本科毕业设计
(文献综述)
题 目 图像加密与解密平台的应用研究
姓 名
专 业 计算机科学与技术(嵌入式)
学 号
指导教师
郑州科技学院信息工程学院
二〇一五年三月
图像加密与解密平台的应用研究
1引言
随着计算机互联网的飞速发展和的不断普及,地球已经成为了地球村。在人们获得巨大便利的同时,也有着一系列的严重问题出现,其中信息的安全性最为突出。
因特网极大地改变了人类生产,生活和思维方式。进入新世纪以来,网络用户呈几何级数增长,而很多企业正是看到其中巨大的商机纷纷开展网上业务。无论在计算机上存储、处理、应用,还是在通信网络上传输,信息都可能被非授权访问而导致泄密,被篡改破坏而导致不完整,被冒充替换而导致否认,也可能被阻塞拦截而导致无法存取。在网络通信之中,这些有可能是有意的破坏,如黑客攻击、病毒感染,也有可能是无意的失误,如程序错误等。
网络通信安全问题为越来越多的人所认识,这影响着人们对于网络的态度和行为。
2 文献资料主要内容
2.1 图像加密的概念
图像加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。 该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。根据密钥的不同分为对称加密和非对称加密,典型的对称加密算法有DES、AES等,典型的非对称加密算法有RSA、ECC等。
2.2 加密算法的概述
DES加密算法
DES的原始思想可以参照二战德国的恩格玛机,其基本思想大致相同。传统的密码加密都是由古代的循环移位思想而来,恩格玛机在这个基础之上进行了扩散模糊。但是本质原理都是一样的。现代DES在二进制级别做着同样的事:替代模糊,增加分析的难度。
DES ( data encryption Standard) 是一种世界标准的加密形式,已经15 年历史了,虽然有些老,可还算是比较可靠的算法。在七十的初期, 随着计算机之间的通信发展, 需要有一种标准密码算法为了限制不同算法的激增使它们之间不能互相对话。为解决这个问题, 美国国家安全局(N.S.A ) 进行招标。 I.B.M 公司开发了一种算法, 称为:Lucifer。 经过几年的研讨和修改, 这种算法, 成为了今天的D.E.S,1976 年11月23 日, 终于被美国国家安全局采用。 DES是一种分组加密算法,他以64位为分组对数据加密。64位一组的明文从算法的一端 输入,64位的密文从另一端输出。DES是一个对称算法:加密和解密用的是同一个算法(除密钥编排不同以外)。
密钥的长度为56位(密钥通常表示为64位的数,但每个第8位都用作奇偶检验,可以忽 略)。密钥可以是任意的56位数,且可以在任意的时候改变。 DES算法的入口参数有3个:Key,Data,Mode。其中Key为8个字节共64位,是DES算法 的工作密钥;Data也为8个字节64位,是要被加密或解密的数据:Mode为DES的工作方式,有两种:加密或解密。
DES算法的工作过程:若Mode为加密,则用Key对数据Data进行加密,生成Data的密码 形式(64位)作为DES的输出结果;若Mode为解密,则用Key对密码形式的数据Data解密,还 原为Data的明码形式(64位)作为DES的输出结果。 在通信网络的两端,双方约定了一致的Key,在通信的源点用Key对核心数据进行DES加密 ,然后以密码形式通过公共通信网(如电话网)传输到通信网络的终点,数据达到目的 地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。这样便保证了核 心数据(如PIN,MAC等)在公共通信网中传输的安全性和可靠性。通过定期在通信网络的源 端和目的端同时改用新的Key,便能更进一步提高数据的保密性,这正是现在金融界交易网络的流行作法。
随着计算机网络的发展,加密技术也在迅速的发展中,加密解密技术的实现主要靠性能好的加密算法,而DES就是在实践中被证明的很好的算法,目前此算法已被广泛运用,且在使用中有了一些改进,DES算法给网络文件带来了可靠的安全性保证。
DES 使用一个 56 位的密钥以及附加的 8 位奇偶校验位,产生最大 64 位的分组大小。这是一个迭代的分组密码,使用称为 Feistel 的技术,其中将加密的文本块分成两半。使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。DES 使用 16 个循环,使用异或,置换,代换,移位操作四种基本运算。
AES加密算法
AES(the advanced encryption standard)是美国国家标准与技术研究所national institute of standardsand technology(nist)用于加密电子数据的规范。它被预期能成为人们公认的加密包括金融、电信和政府数字信息的方法。
AES是可以用于保护电子数据的新型加密算法。明确地说,AES 是一个迭代的、对称密钥分组的密码,它可以使用128、192 和 256 位密钥,并且用 128 位(16字节)分组加密和解密数据。与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换(permutations )和替换(substitutions)输入数据。
由于AES算法良好的安全性能和可以用硬件快速实现的特点,现在AES算法具体用在很多领域。美国国家安全局即是采用这种算法。此外,在一些先进的数据库加密技术,802.11i网络架构以及安全,蓝牙传输等多个方面都采用AES算法来保证数据的安全。
MD5加密算法
MD5将任意长度的"字节串"变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个。
MD5的典型应用是对一段message(字节串)产生fingerprint(指纹),以防止被"篡改"。举个例子,你将一段话写在一个叫text.txt文件中,并对这个text.txt产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的"抵赖",这就是所谓的数字签名应用。严格意义上来说,MD5算法是摘要算法。
RSA算法
RSA 算法是由Rivest、Shamir与Adleman三人于1978年合作开发的,并以他们的名字命名的公开密钥算法。其加密密钥是公开的,而解密密钥是保密的。它是基于一个非常简单的数论思想:“将两个素数乘起来是很容易的,但是分解该乘积是非常困难的”。
RSA算法的特别为利用素数(也就是质数)的因式不可分解性,选用很大的素数(一般为几百位到几千位),为了使政府部门与军事部门的数据保密,大多采用几千位以上的素数作为加密的密钥。RSA算法的要点与难点有二:①算法主要为求模取余运算,这给此算法的应用增添了实际的应用难度,因为给一个几千位的素数进行求模取余运算是很难的;②判断一个数是否为素数也是数学界几百年来一直讨论与研究证明的难题,虽然费马提出了著名的“费马猜想”,但一直却未得到过完全的证明,基于此要找一个几千位的素数更是难上加难。
RSA算法有很高的安全性,因此用在重要的场所。但是同样,也需要耗费很长的时间进行加密和解密运算。比如在对安全性要求较高的电子商务,银行系统等。但是RSA有一个显著特点就是加密计算量很大,速度相当慢,因此不适合对大量的数据进行加密。
RC4加密算法
RC4加密算法是大名鼎鼎的RSA三人组中的头号人物Ron Rivest在1987年设计的密钥长度可变的流加密算法簇。之所以称其为簇,是由于其核心部分的S-box长度可为任意,但一般为256字节。该算法的速度可以达到DES加密的10倍左右,且具有很高级别的非线性。RC4起初是用于保护商业机密的。但是在1994年9月,它的算法被发布在互联网上,也就不再有什么商业机密了。RC4也被叫做ARC4(Alleged RC4——所谓的RC4)。
由于RC4算法加密是采用的xor,所以,一旦子密钥序列出现了重复,密文就有可能被破解。关于如何破解xor加密,请参看Bruce Schneier的Applied Cryptography一书的1.4节Simple XOR,在此我就不细说了。那么,RC4算法生成的子密钥序列是否会出现重复呢?由于存在部分弱密钥,使得子密钥序列在不到100万字节内就发生了完全的重复,如果是部分重复,则可能在不到10万字节内就能发生重复,因此,推荐在使用RC4算法时,必须对加密密钥进行测试,判断其是否为弱密钥。其不足主要体现于,在无线网络中IV(初始化向量)不变性漏洞。
3 总结
加密算法是网络通信中主动防御型技术的核心,在目前来说,加密算法追求安全可靠的同时,也追求着效率。
对于加密算法的分析与研究,需要广泛阅读各种与加密算法相关的文献资料,并从中总结关于各种典型加密算法的原理及应用。通过不同安全方式的比较,总结各种加密算法的特点。对于各种加密算法,需要清晰的逻辑思维以及灵活的思想去理解,从而真正意义上掌握其算法原理并进行分析与研究。
参考文献
[1]风继林,高焕芝.网络安全技术[M].北京:清华大学出版社,2009.
[2]张仕斌,万武南,张金全.应用密码学[M].陕西:西安电子科技大学出版社,2009.
[3]何大可,唐小虎.现代密码学[M].北京:人民邮电出版社,2009.
[4]李迈勇.网络安全:加密原理、算法与协议[M].北京:清华大学出版社,2007.
[5]斯托林斯.密码编码学与网络安全:原理与实践(第4版)[M].北京:电子工业出版社,2006.
[6]邓安文.密码学:加密演算法[M].北京:中国水利水电出版社,2006.
[7]胡振宇,蒋建春.密码学基础与安全应用[M].北京:北京邮电大学出版社,2008.
[8]TaoYang.HANDBOOKOFCNNIMAGEPROCESSING.Yang'sScientificResearchInstitute,2002.7.
[9]CurtisF.GeraldandPatricO.Wheatley著,吕淑娟译.应用数值分析.北京:机械工业出版 社,2006.8.
[10]Arto Salomaa.Public-Key Cryptography.Springer-Verlag,1990
[11]Man Young Rhce. Cryptography and Secure Communications.McGraw-Hill Book Co.1994
[12] Jianliang Zhu, Hongchao Zhao. Five- Dimensional Chaotic System and Its Circuitry Implementation[C]. 2nd International Congress on Image and Signal Processing, TianJin, 2009: 4232 - 4236( EI)