基于不完全Feistel网络的RGB图像加密方法技术

技术编号:19068480 阅读:19 留言:0更新日期:2018-09-29 15:05
一种基于不完全Feistel网络的RGB图像加密方法,包括以下步骤:S1、对RGB图像进行分层;S2、分别对提取出的R层图像、G层图像和B层图像进行二进制化表示;S3、分别对二进制化表示图像进行对应位比特值提取,得到24幅子图;S4、对子图进行分组,共得到6组子图集;S5、生成一个随机密钥,将一组子图集与一个随机密钥输入不完全Feistel网络进行加密运算,得到一组加密后的子图集,重复完成所有子图集加密;S6、将所有加密后的子图进行图像合并,得到经过加密的RGB图像。本发明专利技术仅凭较少的轮运算就能够达到高强度的加密效果,不仅有效地提升了加密效果,而且也充分地节约了计算资源。

【技术实现步骤摘要】
基于不完全Feistel网络的RGB图像加密方法
本专利技术涉及一种图像加密方法,尤其涉及一种基于不完全Feistel网络的RGB图像加密方法,属于数字图像处理

技术介绍
在当今世界,信息安全问题已经提升到了前所未有的高度,网络上各种泛滥的个人信息泄露,信息加密成为了保障个人信息安全的主要途径。随着通信和信息技术的发展,大量的多媒体内容例如数字图像和视频在公共网络上进行传播。所以多媒体的信息安全成为一个重要的问题。而图像加密是主要用来保障多媒体安全的措施。现有的各种图像加密算法的主要思想是置乱和混淆。前者将各像素点的位置进行交换,后者将像素点的数值进行改变。但这两种加密方式均没有充分利用图像本身的性质,所以导致不能获得较好的加密效果。之后有学者提出对图像进行比特层面的加密,经过研究发现,对比特层进行简单的操作就能获得置乱和混淆两种效果。传统的加密技术,如DES,AES等,其优点在于长期的发展使得传统加密建立了完善的体系,算法的推出有着完善的证明体系,算法的安全性有着保障。使用这些技术在在应对文本信息加密时有着较好的效果,但是由于数字图像有着较高的信息冗余和像素相关性,因此在进行数字图像加密处理时,传统加密算法在不经优化的情况下并不能获得很好的加密效果。虽然大多数的传统加密技术在图像加密中有所不足,但是一些性能良好的传统加密结构能够在图像加密中使用。Feistel网络的加解密结构相似,使得加密代码量和电子元器件的使用减半,从而在传统加密中大量使用。在后续的研究中,人们发现,结合图像本身不同位平面所包含的信息量不同的特点,不完全的Feistel网络能够对不同的位平面进行有区别强度的加密。从而使得包含信息量大的位平面能够获得强度更高的加密效果。综上所述,业内亟待一种能够充分利用不完全的Feistel网络的RGB图像加密方法,以便更好地满足图像加密的需要,提高图像加密的效果。
技术实现思路
鉴于现有技术存在上述缺陷,本专利技术的目的是提出一种基于不完全Feistel网络的RGB图像加密方法。具体而言,包括以下步骤:S1、对RGB图像进行分层,分别提取出R层图像、G层图像和B层图像;S2、分别对提取出的R层图像、G层图像和B层图像进行二进制化表示,得到R层二进制化表示图像、G层二进制化表示图像和B层二进制化表示图像;S3、分别对R层二进制化表示图像、G层二进制化表示图像和B层二进制化表示图像进行对应位比特值提取,得到24幅由比特值表示的所述RGB图像的子图;S4、对24幅子图进行分组,共得到6组子图集,每组所述子图集包含4张子图;S5、利用随机数发生器生成一个随机密钥,将一组子图集与一个随机密钥输入不完全Feistel网络进行加密运算,得到一组加密后的子图集,重复上述过程直至完成所有子图集的加密;S6、将所有经过加密后子图集内的子图进行图像合并,得到经过加密的RGB图像。优选地,S3中所述分别对R层二进制化表示图像、G层二进制化表示图像和B层二进制化表示图像进行对应位比特值提取,得到24幅由比特值表示的原RGB图像的子图,包括如下步骤:S31、对R层二进制化表示图像进行对应位比特值提取,共得到4张R层高位子图以及4张R层低位子图;S32、对G层二进制化表示图像进行对应位比特值提取,共得到4张G层高位子图以及4张G层低位子图;S33、对B层二进制化表示图像进行对应位比特值提取,共得到4张B层高位子图以及4张B层低位子图。优选地,S4中所述对24幅子图进行分组,共得到6组子图集,每组所述子图集包含4张子图,包括如下步骤:S41、将4张R层高位子图分为一组,得到第一子图集;S42、将4张R层低位子图分为一组,得到第二子图集;S43、将4张G层高位子图分为一组,得到第三子图集;S44、将4张G层低位子图分为一组,得到第四子图集;S45、将4张B层高位子图分为一组,得到第五子图集;S46、将4张B层低位子图分为一组,得到第六子图集。优选地,S5中所述利用随机数发生器生成一个随机密钥,包括如下步骤:S51、利用随机数发生器,根据所述RGB图像的分辨率M×N,产生大小为M×N的随机密钥。优选地,S5中所述将一组子图集与一个随机密钥输入不完全Feistel网络进行加密运算,得到一组加密后的子图集,重复上述过程直至完成所有子图集的加密,包括如下步骤:S52、将第一子图集与一个随机密钥输入不完全Feistel网络进行两轮加密运算,得到加密后的第一子图集;S53、将第二子图集与一个随机密钥输入不完全Feistel网络进行一轮加密运算,得到加密后的第二子图集;S54、将第三子图集与一个随机密钥输入不完全Feistel网络进行两轮加密运算,得到加密后的第三子图集;S55、将第四子图集与一个随机密钥输入不完全Feistel网络进行一轮加密运算,得到加密后的第四子图集;S56、将第五子图集与一个随机密钥输入不完全Feistel网络进行两轮加密运算,得到加密后的第五子图集;S57、将第六子图集与一个随机密钥输入不完全Feistel网络进行一轮加密运算,得到加密后的第六子图集。优选地,S5中所述不完全Feistel网络的混淆函数部分由异或和循环左移运算组成,具体为:其中,F表示混淆函数部分,Gi表示所述的一层大小为M×N的比特子图,表示异或运算,ki表示所述的大小为M×N的随机密钥,<<<表示循环左移运算,Φ表示循环左移的位数。与现有技术相比,本专利技术的优点主要体现在以下几个方面:本专利技术的RGB图像加密方法本质上是一种基于比特层面的图像加密算法,仅凭较少的轮运算就能够达到高强度的加密效果,不仅有效地提升了加密效果,而且也充分地节约了计算资源。此外,本专利技术的加密算法的设计考虑到了图像本身的特性,信息含量大的比特层使用强度更高的加密以及更多的轮函数,强度较低的比特层加密强度递减,使得在本专利技术的实际使用中,在算法效率与加密效果之间能够获得很好地平衡,从而进一步提升了本专利技术的使用效果。综上所述,本专利技术提出了一种基于不完全Feistel网络的RGB图像加密方法,具有很高的使用及推广价值。以下便结合实施例附图,对本专利技术的具体实施方式作进一步的详述,以使本专利技术技术方案更易于理解、掌握。附图说明图1是本专利技术流程图;图2是本专利技术中使用的不完全Feistel网络示例图。具体实施方式如图1所示,本专利技术揭示了一种基于不完全Feistel网络的RGB图像加密方法。一种基于不完全Feistel网络的RGB图像加密方法,包括以下步骤:S1、对RGB图像进行分层,分别提取出R层图像、G层图像和B层图像。由于RGB图像可以看成是灰度图像的合成,三种基本颜色红色、绿色和蓝色相互作用形成彩色图像。每种颜色有256种深浅不一的色度,在计算机存储于显示时可以用8bit位来表示该数值。该步骤在提取三层图像时可以使用任何可行的方式,在本实施例中使用的是基于C语言的OpenCV程序包来实现。S2、分别对提取出的R层图像、G层图像和B层图像进行二进制化表示,得到R层二进制化表示图像、G层二进制化表示图像和B层二进制化表示图像。由上述说明可知RGB图像每个像素点有三种颜色,每种颜色可以用8bit位来表示,那么一个彩色像素点就需要24个比特位表示。先以R层图像为例,提取出该层图像每一位像本文档来自技高网
...

【技术保护点】
1.一种基于不完全Feistel网络的RGB图像加密方法,其特征在于,包括以下步骤:S1、对RGB图像进行分层,分别提取出R层图像、G层图像和B层图像;S2、分别对提取出的R层图像、G层图像和B层图像进行二进制化表示,得到R层二进制化表示图像、G层二进制化表示图像和B层二进制化表示图像;S3、分别对R层二进制化表示图像、G层二进制化表示图像和B层二进制化表示图像进行对应位比特值提取,得到24幅由比特值表示的所述RGB图像的子图;S4、对24幅子图进行分组,共得到6组子图集,每组所述子图集包含4张子图;S5、利用随机数发生器生成一个随机密钥,将一组子图集与一个随机密钥输入不完全Feistel网络进行加密运算,得到一组加密后的子图集,重复上述过程直至完成所有子图集的加密;S6、将所有经过加密后子图集内的子图进行图像合并,得到经过加密的RGB图像。

【技术特征摘要】
1.一种基于不完全Feistel网络的RGB图像加密方法,其特征在于,包括以下步骤:S1、对RGB图像进行分层,分别提取出R层图像、G层图像和B层图像;S2、分别对提取出的R层图像、G层图像和B层图像进行二进制化表示,得到R层二进制化表示图像、G层二进制化表示图像和B层二进制化表示图像;S3、分别对R层二进制化表示图像、G层二进制化表示图像和B层二进制化表示图像进行对应位比特值提取,得到24幅由比特值表示的所述RGB图像的子图;S4、对24幅子图进行分组,共得到6组子图集,每组所述子图集包含4张子图;S5、利用随机数发生器生成一个随机密钥,将一组子图集与一个随机密钥输入不完全Feistel网络进行加密运算,得到一组加密后的子图集,重复上述过程直至完成所有子图集的加密;S6、将所有经过加密后子图集内的子图进行图像合并,得到经过加密的RGB图像。2.根据权利要求1所述的基于不完全Feistel网络的RGB图像加密方法,其特征在于,S3中所述分别对R层二进制化表示图像、G层二进制化表示图像和B层二进制化表示图像进行对应位比特值提取,得到24幅由比特值表示的原RGB图像的子图,包括如下步骤:S31、对R层二进制化表示图像进行对应位比特值提取,共得到4张R层高位子图以及4张R层低位子图;S32、对G层二进制化表示图像进行对应位比特值提取,共得到4张G层高位子图以及4张G层低位子图;S33、对B层二进制化表示图像进行对应位比特值提取,共得到4张B层高位子图以及4张B层低位子图。3.根据权利要求2所述的基于不完全Feistel网络的RGB图像加密方法,其特征在于,S4中所述对24幅子图进行分组,共得到6组子图集,每组所述子图集包含4张子图,包括如下步骤:S41、将4张R层高位子图分为一组,得到第一子图集;S42、将4张R层低位子图分为一组,得到第二子图集;S43、将4张G层高位子图分为一组...

【专利技术属性】
技术研发人员:宋玉蓉刘旭
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1