一种基于编码分组与替换的加密方法与流程

文档序号:11953612阅读:253来源:国知局

本发明涉及计算机信息加密领域,具体地说是一种基于编码分组与替换的加密方法。



背景技术:

像素,中文全称为图像元素。像素仅仅只是分辨率的尺寸单位,而不是画质。 从定义上来看,像素是指基本原色素及其灰度的基本编码。像素是构成数码影像的基本单元,通常以像素每英寸PPI(pixels per inch)为单位来表示影像分辨率的大小。 例如300x300PPI分辨率,即表示水平方向与垂直方向上每英寸长度上的像素数都是300,也可表示为一平方英寸内有9万(300x300)像素。如同摄影的相片一样,数码影像也具有连续性的浓淡阶调,我们若把影像放大数倍,会发现这些连续色调其实是由许多色彩相近的小方点所组成,这些小方点就是构成影像的最小单元——像素。这种最小的图形单元在屏幕上显示通常是单个的染色点。越高位的像素,其拥有的色板也就越丰富,也就越能表达颜色的真实感。

位图,全称为位图图像(bitmap), 亦称为点阵图像或绘制图像,是由称作像素(图片元素)的单个点组成的。这些点可以进行不同的排列和染色以构成图样。当放大位图时,可以看见赖以构成整个图像的无数单个方块。扩大位图尺寸的效果是增大单个像素,从而使线条和形状显得参差不齐。然而,如果从稍远的位置观看它,位图图像的颜色和形状又显得是连续的。常用的位图处理软件是Photoshop。

置乱,就是将图像的信息次序打乱,将a像素移动到b像素的位置上,b像素移动到c像素的位置上,使其变换成杂乱无章难以辨认的图像。

传统的加密方案一般采用基于像素的置乱方案和分散理论进行设计,而近几年又提出来基于位图的置乱方案,但是这两种加密方案存在局限性,密钥空间受到限制,而且加密效果差,影响加密的安全性和加密的效率。



技术实现要素:

本发明的技术任务是针对以上不足,提供一种基于编码分组与替换的加密方法,来解决如何能够增加密钥空间,确保加密效果,同时提高加密的安全性和加密效率的问题。

本发明的技术任务是按以下方式实现的,一种基于编码分组与替换的加密方法,该方法包括如下步骤:

(1)、依据DNA编码以及中心法则对原始媒体进行编码;

(2)、利用随机置乱分组对编码密码子序列进行分组,根据编码后的序列和分组确定一种任意进制的数制系统;

(3)、利用基于超混沌系统和该数制系统产生随机加密控制信息,并利用该加密控制信息和分组来替换对应的编码后序列,即将待加密的信息编码成密码子序列,再根据加密控制信息以及密码子分组表来替换相应的密码子,完成加密;其中,加密控制信息根据任意进制的数制系统进行编码转换。

DNA编码以及中心法则:DNA序列由4种核苷酸(分别为A,T,C,G)组成,如果用二进制编码表示,需要用两位二进制数据。常用的二进制DNA编码序列满足DNA互补规则,主要有8种对应方式。

中心法则揭示了有机生命遗传信息的传递过程,其中很重要的一步是信使RNA组成的密码子序列向氨基酸的翻译过程。DNA序列中相邻3个核苷酸组成一个密码子(codon),遗传信息随着DNA序列转录成信使RNA的过程传递下来,由信使RNA序列中的密码子决定氨基酸的选取,进而生成具有相应的功能蛋白质来组成生物体。然而生物体的DNA或者RNA序列中总共有64种密码子,它们对应的氨基酸却仅有20种。也就是说,一定有多种密码子对应同一种氨基酸的情况发生。而实际上, 在生物体中通常有1,2,4,6种不同密码子与同一种氨基酸对应。核苷酸U,C,A,G分别与DNA序列中的核苷酸T,C,A,G对应。标准遗传密码子表提供了一种密码子分组的功能,这种分组在生物信息遗传过程中是固定的。但是可以利用这种分组形式,并引随机性,来构造类似的随机性分组表格。编码成DNA序列的二进制序列可以进一步地编码成密码子序列。假设密码子集合C中总共有S种密码子,要把它们分为 N组,每组密码子数目是随机的,范围是[t1,t2],其中t1,t2为整数。首先,随机产生一个包含N个整数 的1维数组Y={Y(i)|t1≤y(i)≤t2,i=1,2,…,N),其中0≤t1<t2<S,显然有s=N*min(Y(i));然后对 密码子序列进行置乱,并依次从置乱后的密码子序 列中随机选择y(i)个密码子并组成第t组;最后,将密码子序列分组重新排列成表2的形式,称之为构造密码子分组表。随机分组数组y可以利用混沌系统来构造。

任意进制数制系统:一段编码成密码子的序列可以根据分组表形成一种任意进制数制系统。假设该数制系统的基数序列为P={Y(t),t=1,2,…,m),那么每个基数对应的数码序列为[0,1,2,3,4],不同位的位权为n=1。

作为优选,所述步骤(3)中加密具体算法包括如下步骤:

①、将待加密的数字媒体T解码成二进制序列B,再根据DNA编码方案编码成DNA核苷酸序列,并将三位核苷酸一组编码成密码子序列C;

②、构造分组表,利用密码子序列C和分组表构造出任意进制数制系统,为了处理方便和防止计算溢出,可以先将密码予序列分成小段然后再操作;

③、产生混沌符合任意进制数制系统的随机序列,构造替换规则:根据任意进制系统的当前位的基数即当前待替换的编码密码子G(i)所属分组中密码子的数目,确定对应的任意进制数制系统的当前位基数D(t),从而形成任意进制的数制系统下的任意进制数列A;

④、替换密码子序列C中的密码子,替换后的密码子序列中第i的元素:C(i)=M(i,j),其中 j1=mod(j+A(i),D(i)),A(i)为控制加密的任意进制数列的当前位,D(i)为任意进制数制系统当前位的基数;

⑤、完成替换后的密码子序列重新编码成原始媒体的形式;其中,密钥的构成:选择DNA编码序列,用3位二进制数编码[o p q],o,p,q∈{0,1}来标记8种序列中的一种,记作key1;用于构造置乱密码子分组表的随机分组数组y时所需的混沌随机系统的参数:混沌初值[y1,y2,y3,y4],混沌参数a2=36, b2=3,c2=28,d2=-16,k2=z,记作key2,其中-0.7≤z≤0.7;密码子序列控制信息产生时所需的混沌随机系统的参数:混沌初值[y1,y2,y3,y4],混沌参数a3=36,b3=3,c3=28,d3=-16,k2=z,记作key3,其中-0.7≤z≤0.7。

更优地,所述加密的逆过程即解密过程包括如下步骤:

①、根据key1将密文按照与加密时同样的思路进行编码,形成替换后的密码子序列,即加密后的密码子序列G7;

②、根据key2产生的密码子分组数组y,构造置乱密码子分组表;

③、根据密码子序列G7和置乱密码予分组表生成任意进制数制系统;

④、根据key3,结合任意进制系统,产生解密任意进制的控制信息序列,该控制信息与加密时的控制信息相同均为A;

⑤、根据控制信息A(i)和当前密码子c(i)以及任意进制数制系统,替换当前密码子以解密:c(i)=M(i,j),其中j=mod(j-A(i),D(i)),A(i) 为控制加密的任意进制数列的当前位,D(i)为任意进制数制系统当前位的基数;

⑥、替换后的密码子序列重新解码组成原始媒体的形式。

从上边的加密与解密过程可见,本发明的加密方法中有两次用到超混沌系统,这两次运用可以采用相同的初值与参量来简化密钥构造;当然,为了提高加密系统的密钥空间,一般两次运用时混沌系统的初值与参量选择不同而且不相关的数值。任意进制数制系统的构造受到编码和原始媒体介质的直接影响,因此每次的任意进制系统是不同的。此外,该加密方法可以实现一次一密。

本发明的一种基于编码分组与替换的加密方法具有以下优点:本发明与现有技术相比,具有更好的性能;相比于传统基于像素的置乱方法和近几年提出的基于位图的置乱方法,本发明的分组与替换的加密方法具有更大的密钥空间,更好的直观加密效果,具有相对较好的可用性和时效性,而且在加密安全性和加密效率上,也有明显的优势。

故本发明具有设计合理、结构简单、使用方便、一物多用等特点,因而,具有很好的推广使用价值。

附图说明

下面结合附图对本发明进一步说明。

附图1为密码子替换过程的示意图。

具体实施方式

参照说明书附图和具体实施例对本发明的一种基于编码分组与替换的加密方法作以下详细地说明。

实施例1:

本发明的一种基于编码分组与替换的加密方法,该方法包括如下步骤:

(1)、依据DNA编码以及中心法则对原始媒体进行编码;

(2)、利用随机置乱分组对编码密码子序列进行分组,根据编码后的序列和分组确定一种任意进制的数制系统;

(3)、利用基于超混沌系统和该数制系统产生随机加密控制信息,并利用该加密控制信息和分组来替换对应的编码后序列,即将待加密的信息编码成密码子序列,再根据加密控制信息以及密码子分组表来替换相应的密码子,完成加密;其中,加密控制信息根据任意进制的数制系统进行编码转换。

用一个例子来说明该任意进制数制系统,如图1所示,该段密码子序列为{000,111,121,201,112,002},形成的任意进制数制系统中,基数序列分别为{4,2,6,2,2,3),每个基数对应的数码序列分别为0—3,0—1,0—5,0—1,0—1,0—2,如果假设左边为高位,右边为低位,那么从左至右各位的位权依次为f144,72,12,6,3,1。

步骤(3)中加密具体算法包括如下步骤:

①、将待加密的数字媒体T解码成二进制序列B,再根据DNA编码方案编码成DNA核苷酸序列,并将三位核苷酸一组编码成密码子序列C;

②、构造分组表,利用密码子序列C和分组表构造出任意进制数制系统,为了处理方便和防止计算溢出,可以先将密码予序列分成小段然后再操作;

③、产生混沌符合任意进制数制系统的随机序列,构造替换规则:根据任意进制系统的当前位的基数即当前待替换的编码密码子G(i)所属分组中密码子的数目,确定对应的任意进制数制系统的当前位基数D(t),从而形成任意进制的数制系统下的任意进制数列A;

④、替换密码子序列C中的密码子,替换后的密码子序列中第i的元素:C(i)=M(i,j),其中 j1=mod(j+A(i),D(i)),A(i)为控制加密的任意进制数列的当前位,D(i)为任意进制数制系统当前位的基数;

⑤、完成替换后的密码子序列重新编码成原始媒体的形式;其中,密钥的构成:选择DNA编码序列,用3位二进制数编码[o p q],o,p,q∈{0,1}来标记8种序列中的一种,记作keyl;用于构造置乱密码子分组表的随机分组数组y时所需的混沌随机系统的参数:混沌初值[y1,y2,y3,y4],混沌参数a2=36, b2=3,c2=28,d2=-16,k2=z,记作key2,其中-0.7≤z≤0.7;密码子序列控制信息产生时所需的混沌随机系统的参数:混沌初值[y1,y2,y3,y4],混沌参数a3=36,b3=3,c3=28,d3=-16,k2=z,记作key3,其中-0.7≤z≤0.7。

加密的逆过程即解密过程包括如下步骤:

①、根据keyl将密文按照与加密时同样的思路进行编码,形成替换后的密码子序列,即加密后的密码子序列G7;

②、根据key2产生的密码子分组数组y,构造置乱密码子分组表;

③、根据密码子序列G7和置乱密码予分组表生成任意进制数制系统;

④、根据key3,结合任意进制系统,产生解密任意进制的控制信息序列,该控制信息与加密时的控制信息相同均为A;

⑤、根据控制信息A(i)和当前密码子c(i)以及任意进制数制系统,替换当前密码子以解密:c(i)=M(i,j),其中j=mod(j-A(i),D(i)),A(i) 为控制加密的任意进制数列的当前位,D(i)为任意进制数制系统当前位的基数;

⑥、替换后的密码子序列重新解码组成原始媒体的形式。

如附图1,下面以表格的形式简洁地给出一个具体实现。图1中箭头的方向代表加密替换密码子的方向,解密时方向相反。B代表待加密媒体解码后的二进制序列,B1为加密后的二进制序列,DNA代表编码成的DNA序列,DNA1为替换后的DNA序列,C为密码子序列,C1为替换后的密码子序列,D为任意进制系统当前位的基数,4为任意进制数制系统下的数列也即加密控制信息。整个实现将B1加密成为B。

通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的一种具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。

除说明书所述的技术特征外,均为本专业技术人员的已知技术。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1