专利名称:基于广义信息域的动态加密系统的制作方法
技术领域:
本实用新型涉及密码学领域,具体涉及基于广义信息域的动态加密系统。
背景技术:
近年来,计算机网络得到了迅速的发展,被广泛应用于政治、军事、经济以及科学等各个领域,越来越多的信息得到了有效的传输和存储。由于计算机网络的开放性,使信息在传输和存储过程中有可能被盗用,信息的保密性、完整性、可用性和抗抵赖性,都需要采用密码技术来实现。现代高性能的计算机能够自动分析和截获传输的信息,每秒可以搜索数百个底码,从而对信息安全构成严重的威胁。信息领域急切希望拥有更安全、方便、有效的信息保护手段。
作为网络安全基础理论之一的密码学引起了人们的极大关注,吸引着越来越多的研究人员投入到密码领域的研究当中;同时由于现实生活中的实际需要以及计算技术的发展变化,密码学的每一个研究领域都出现了许多新的课题、新的方向。例如,AES征集活动使国际密码学兴起了一次分组密码研究的高潮。同时,在公开密钥密码领域,ECC由于其安全性高、计算速度快等优点引起了人们的普遍关注。
加密技术主要分为对称密码与非对称密码,其中对称密码又分为流密码和分组密码。流密码的代表是RC4算法,而分组密码的代表是DES和AES。传统分组密码通常进行确定的置乱扩散变换,使得系统具有某些特定的性质,其结果使系统在一定程度上易受到线性分析、差分分析、代数攻击等密码分析方法的攻击,从而影响其安全性。作为第一个并且也是最重要的现代对称加密算法,DES最严重的弱点就是密钥长度较短,这个弱点在20世纪90年代显得更加明显了。1998年7月,密码学研究会、高级无线技术协会和电子前沿基金会联合构造了一个称为Deep crack的密钥搜索机,搜索了56个小时后成功地找到了DES挑战密钥,这表明20世纪90年代后期的计算技术对于一个原本安全的单钥密码来说,使用56比特的密钥太短了。其后的改进是增加密钥长度的多轮DES。同样是对称加密的AES是一种明显依托于数学理论的加密算法,依靠有限域/有限环的有关性质进行加解密。目前讨论最多的就是对AES的代数攻击(XSL)。现有研究表明,若XSL攻击是算法轮数的多项式时间,则AES的安全性不随着轮数的增加呈指数级增加。AES由于其分组确定、密钥长度确定并且置乱扩散散发确定,对于大数据量且数据具有高相关性时,其效果不尽人意。对称密码系统均涉及密钥问题,通常使用伪随机码作为密钥。
传统的加密算法存在以下问题 (1)传统的加密算法,如AES等,通常其密钥(即伪随机码)的产生都可以用二元组表示 K=(m,IV) 其中,K是密钥;m是密钥产生算法,通常难以保密;IV是初值,即算法要求的种子值,是保密的;m、IV都与密钥直接相关,密钥产生算法一般采用迭代的方式,从初值IV开始重复迭代产生密钥;传统加密算法具有确定的置乱和扩散变换,加密信息依赖密钥,另一方面,密钥需加密保管/加密传送/秘密信道传送;因此,传统算法的安全性问题的关键在于密钥; (2)解密密钥需通过加密方式或秘密信道传给解密方对密文进行解密,在传输过程中,密文和解密密钥都可能被截获,这样就有可能通过唯密文攻击或密码分析破解密文,从而使得信息传送失去了安全保障,这也大大增加密钥管理的复杂度; (3)传统加密算法由于各方面原因,一个密钥在实际使用过程中一个密钥往往被重复多次使用,存在着由于多次重用而产生的安全性问题。
实用新型内容本实用新型的首要目的在于克服上述现有技术的缺点和不足,提供一种基于广义信息域的动态加密系统,本实用新型引入广义信息域概念,突破了二元组的限制,将其扩展为三元组结构,使加解密双方有共同的经广义信息域变换获得的活动背景,从加密方到解密方,密钥不显式出现,也不涉及密钥的传送,实现密钥安全性问题向广义信息域安全性问题的转移;该系统通过对广义信息域进行物理重构和逻辑重构可以获得任意个活动背景,现有研究表明这种变换复杂性是个NP难问题;加密轮次、分组长度动态可变,置乱扩散算法完个由密钥的排列特性和分段统计特性决定。随着轮次的增加,加密时间呈线性递增,而置乱扩散复杂性呈指数级递增。
本实用新型目的通过下述技术方案实现基于广义信息域的动态加密系统包括相连接的基于广义信息域的伪随机码发生器、加解密子系统,该加解密子系统包括加密子系统、解密子系统; 其中加密子系统包括依次连接的分组系数与轮密钥生成模块、分组模块、对偶位置交换模块、置换运算模块;解密子系统包括依次连接的分组系数与轮密钥生成模块、分组模块、置换运算模块、对偶位置交换模块;且加密子系统、解密子系统共用同一个分组系数与轮密钥生成模块; 其中的基于广义信息域的伪随机码发生器包括依次连接的初始地址信息(IV)生成模块、IV规格化模块、密钥产生算法(m)模块、约束化处理模块、密钥长度判断模块,所述m模块同时还与活动背景生成模块相连接; 同时,所述基于广义信息域的伪随机码发生器分别与加密子系统、解密子系统中的分组系数与轮密钥生成模块、对偶位置交换模块、置换运算模块相连接,分组系数与轮密钥生成模块还通过一个断点入口与m模块相连。
所述活动背景生成模块主要由物理重构模块、逻辑重构模块连接组成。
计算机中任意可以表示为二进制编码的数据,称之为广义信息域(IF)。
本实用新型基于广义信息域的动态加密系统实现加解密的方法,包括加密过程和解密过程,加密过程具体如下 (1)活动背景生成模块通过对选定IF的物理重构获得IF的某个子空间,然后把该子空间逻辑重构成活动背景; (2)IV生成模块产生初始地址信息(IV),IV规格化模块把IV压缩或拉伸成为确定长度的二进制地址串,并将其划分为n块 作为活动背景中的n维逻辑地址; (3)m模块对活动背景中的n维逻辑位地址与物理空间进行空间轨迹变换,并在每次的地址迁移中,从活动背景中析出k位长的位串并入密钥序列中。为了获得迁移地址,约束化处理模块根据之前k位位串值的最大值与最小值的频数之差来进行约束化处理,得到一个修正值。然后由m模块把修正值并入地址序列,经过平移获取新的n维迁移地址; (4)密钥长度判断模块根据预设的参数判断密钥的长度是否足够,若不足够,则重复进行步骤(3)操作,若足够,则输出密钥; (5)生成分组系数与轮密钥Keyr---对用户选定加密轮数,系统自动实现每轮分组系数选定与轮密钥生成,并控制各轮分组系数在一定轮数范围内不重复;由基于广义信息域的伪随机码发生器产生长度为一个字节或字的位串,并按该位串的值在分组系数集合中选取第r轮的分组系数nr,然后返回步骤(3),由基于广义信息域的伪随机码发生器继续产生
长的轮密钥Keyr;重复步骤(5),直到所有的分组系数及轮密钥生成完毕,最后把各轮的轮密钥Keyr依次拼接成密钥K。此分组系数关系到步骤(6)、(7)、(8)的操作,根据置乱扩散的需要可以增加加密的轮次; 多轮加密时,记n′=max(nr),r=1,2,...,R,其中R是加密轮数,依次选取大小为2n′的块为单位,按步骤(6)、(7)、(8)进行R轮加密; (6)分组方案---对密钥K按分组系数nr进行分组,分组系数决定了明文分组置换加密的地址空间为
(7)对偶位置交换---密钥K分组的内容ki代表加密空间分组的组内地址,对ki按位取反得到
ki和
形成对偶地址对。分析各个ki的统计特性后进行相应的移位和对偶地址对应内容的交换处理;这些处理是由密钥的排列特性决定的,因此使用不同的密钥,加密时采取的移位及交换处理是不同的; (8)置换运算---记轮密钥为Keyr=(K1,K2,...,Ki),明文加密空间分组A=(A0,A1,...,Ai),相应的密文分组为。其中Ki,Ai,
占1bit,即视为二进制流的形式。在完成位置交换后,按以下公式计算出A′值(A′作为第r+1轮的A使用) 上述步骤(6)至(8)当为加密算法所进行的第r轮加密过程,一轮加密结束,若未完成R轮加密则重复进行步骤(6)至(8),否则转(9); (9)若明文未加密完毕,返回(6),否则,加密结束,返回密文; 上述方法中,步骤(2)所述IV由系统随机数(SR)、系统内部时间(ST)、指定内容(SC)中的一项或任意多项组成,其中SR、ST通过调用函数获得,实现IV的随机性和唯一性,指定内容由用户给定实现IV的个性化。
上述方法中,步骤(1)所述物理重构的作用是把选定广义信息域(IF)构造成具有一定离散度、在物理上可见的子空间;逻辑重构则是把由物理重构得到的空间映射为n维的逻辑空间,具有离散性及随机性;规格化IV是这个高维逻辑空间中某一点的地址,也是之后进行空间轨迹变换的初始地址。
上述方法中,步骤(1)所述的IF可以是任意类型的数据,本质上是以字节为单位的任意长的二进制0、1位串,具有一定的随机性且可认为它是首尾相连的。IF可由算法产生,如混沌/混合混沌系统生成,也可是图像、文本文件或内存的一段代码等。可以对其标号,以便于应用。在实验时考虑使用图像、文本文件作为广义信息域,或利用混合混沌系统根据给定不同的初值,从而产生不同的广义信息域。
上述方法中,步骤(1)所述的活动背景在选定广义信息领下的结构具有如下定义 其中 ABG-code活动背景号,便于通过代号引用; IF-code广义信息域号; [S1/L1][,S2/L2]…[Si/Li]…物理重构参数,可任意选择,其结果是产生确定的活动背景。其中Si是偏移,Li是长度,用十进制表示。物理重构时的单位是字节; D1,D2,D3[Di[,…]]逻辑重构参数,Di为维定义,十进制表示,给出该维最大下标值,括号内可任选,逻辑重构时其单位是位。
上述方法中,步骤(1)所述的物理重构模块对该选定的IF进行物理重构,其具体操作如下 若物理重构参数为空,则活动背景与选定信息域等价;若物理重构参数非空,则依次选取一组物理重构参数[Si/Li],从广义信息域或中间结果的第Si字节起截取长度为Li字节长的0、1串作为有效信息。物理重构可以将一个广义信息域的信息扩展成多个不同的活动背景的物理信息块; 在物理重构中引入一组离散化规则、算法,达到单向可计算、高度隔离性和离散化的目标,因此,通过定义规则,使得物理重构具有以下特点 a、一次重构有可能使某个字节值产生多种变化,满足单向可计算性; b、重构保持随机特性,如0、1的比例; c、重构产生中间结果或活动背景的物理结构,满足单向可计算,但不存在反函数,无法逆向求出上层的结果,具有高度隔离性。
上述方法中,步骤(1)所述的逻辑重构模块对经物理重构的IF进行逻辑重构获取活动背景,其具体操作如下 把一维的字节线性空间转换为任意多维的位逻辑空间,把由物理重构得到的一维数据重构为D1×D2×…×Dn的信息块,则每一位对应一个地址,且每一个地址都可用(y1,y2,…,yn)表示,而D1,D2,…,Dn是事先约定好的各维的最大下标值。
上述方法中,步骤(1)、(2)、(3)所述的IF、IV、m模块的m三元协调来实现在背景空间轨迹迁移,在迁移过程中析出k位密钥,同时修改迁移轨迹,直至生成的长度满足要求为止。
解密子系统的解密过程基本上是加密子系统的加密过程的逆过程,其不同之处在于对生成的分组系数与轮密钥逆序使用;分组方案、对偶位置交换、置换运算该三个步骤的执行顺序依次为分组方案、置换运算、对偶位置交换。解密过程具体如下 (1)活动背景生成模块通过对选定IF的物理重构获得IF的某个子空间,然后把该子空间逻辑重构成活动背景; (2)IV生成模块产生初始地址信息(IV),IV规格化模块把IV压缩或拉伸成为确定长度的二进制地址串,并将其划分为n块 作为活动背景中的n维逻辑地址; (3)m模块对活动背景中的n维逻辑位地址与物理空间进行空间轨迹变换,并在每次的地址迁移中,从活动背景中析出k位长的位串并入密钥序列中,为了获得迁移地址,约束化处理模块根据之前k位位串值的最大值与最小值的频数之差来进行约束化处理,得到一个修正值;然后由m模块把修正值并入地址序列,经过平移获取新的n维迁移地址; (4)密钥长度判断模块根据预设的参数判断密钥的长度是否足够,若不足够,则重复进行步骤(3)操作,若足够,则输出密钥; (5)生成分组系数与轮密钥Keyr---对解密轮数,系统自动实现每轮分组系数选定与轮密钥生成,并控制各轮分组系数在一定轮数范围内不重复。由基于广义信息域的伪随机码发生器产生长度为一个字节或字的位串,并按该位串的值在分组系数集合中选取第r轮的分组系数nr,然后返回步骤(3),由基于广义信息域的伪随机码发生器继续产生
长的轮密钥Keyr;重复步骤(5),直到所有的分组系数及轮密钥生成完毕,最后把各轮的轮密钥Keyr依次拼接成密钥K。此分组系数关系到步骤(6)、(7)、(8)的操作; 多轮解密时,记n′=max(nr),r=1,2,...,R,其中R是解密轮数,依次选取大小为2n′的块为单位,按步骤(6)、(7)、(8)进行R轮解密; (6)分组方案---对密钥K按分组系数nR-r+1进行分组,分组系数决定了密文分组置换解密的地址空间为
(7)置换运算---记轮密钥为是由步骤(5)产生的KeyR-r+1,密文解密空间分组A=(A0,A1,...,Ai),相应的明文分组为其中Ki,Ai,
占1bit,即视为二进制流的形式,在完成位置交换后,按以下公式计算出A′值(A′作为第r+1轮的A使用) (8)对偶位置交换---密钥K分组的内容ki代表加密空间分组的组内地址,对ki按位取反得到
ki和
形成对偶地址对;分析各个ki的统计特性后进行相应的移位和对偶地址对应内容的交换处理;这些处理是由密钥的排列特性决定的,因此使用不同的密钥,解密时采取的移位及交换处理是不同的; 上述步骤(6)至(8)当为解密算法所进行的第r轮解密过程,一轮解密结束,若未完成R轮加密则重复进行步骤(6)至(8),否则转(9); (9)若密文未解密完毕,返回(6),否则,解密结束,返回明文; 上述方法中,步骤(2)所述IV由系统随机数(SR)、系统内部时间(ST)、指定内容(SC)中的一项或任意多项组成,其中SR、ST通过调用函数获得,实现IV的随机性和唯一性,指定内容由用户给定实现IV的个性化。
上述方法中,步骤(1)所述物理重构的作用是把选定广义信息域(IF)构造成具有一定离散度、在物理上可见的子空间;逻辑重构则是把由物理重构得到的空间映射为n维的逻辑空间,具有离散性及随机性;规格化IV是这个高维逻辑空间中某一点的地址,也是之后进行空间轨迹变换的初始地址。
上述方法中,步骤(1)所述的IF可以是任意类型的数据,本质上是以字节为单位的任意长的二进制0、1位串,具有一定的随机性且可认为它是首尾相连的。IF可由算法产生,如混沌/混合混沌系统生成,也可是图像、文本文件或内存的一段代码等。可以对其标号,以便于应用。在实验时考虑使用图像、文本文件作为广义信息域,或利用混合混沌系统根据给定不同的初值,从而产生不同的广义信息域。
上述方法中,步骤(1)所述的活动背景在选定广义信息领下的结构具有如下定义 其中 ABG-code活动背景号,便于通过代号引用; IF-code广义信息域号; [S1/L1][,S2/L2]…[Si/Li]…物理重构参数,可任意选择,其结果是产生确定的活动背景。其中Si是偏移,Li是长度,用十进制表示。物理重构时的单位是字节; D1,D2,D3[Di[,…]]逻辑重构参数,Di为维定义,十进制表示,给出该维最大下标值,括号内可任选,逻辑重构时其单位是位。
上述方法中,步骤(1)所述的物理重构模块对该选定的IF进行物理重构,其具体操作如下 若物理重构参数为空,则活动背景与选定信息域等价;若物理重构参数非空,则依次选取一组物理重构参数[Si/Li],从广义信息域或中间结果的第Si字节起截取长度为Li字节长的0、1串作为有效信息。物理重构可以将一个广义信息域的信息扩展成多个不同的活动背景的物理信息块; 在物理重构中引入一组离散化规则、算法,达到单向可计算、高度隔离性和离散化的目标,因此,通过定义规则,使得物理重构具有以下特点 a、一次重构有可能使某个字节值产生多种变化,满足单向可计算性; b、重构保持随机特性,如0、1的比例; c、重构产生中间结果或活动背景的物理结构,满足单向可计算,但不存在反函数,无法逆向求出上层的结果,具有高度隔离性。
上述方法中,步骤(1)所述的逻辑重构模块对经物理重构的IF进行逻辑重构获取活动背景,其具体操作如下 把一维的字节线性空间转换为任意多维的位逻辑空间,把由物理重构得到的一维数据重构为D1×D2×…×Dn的信息块,则每一位对应一个地址,且每一个地址都可用(y1,y2,…,yn)表示,而D1,D2,…,Dn是事先约定好的各维的最大下标值。
上述方法中,步骤(1)、(2)、(3)所述的IF、IV、m模块的m三元协调来实现在背景空间轨迹迁移,在迁移过程中析出k位密钥,同时修改迁移轨迹,直至生成的长度满足要求为止。
本实用新型基于广义信息域的动态加密系统相对于现有技术具有以下优点 (1)引入广义信息域概念,突破了二元组的限制,扩展为广义信息域变换下的三元组(m,IV,IF),加解密双方在共同活动背景下可产生任意个数、任意长度的密钥。从加密方到解密方,只需传送IV,密钥不显式出现,也不涉及密钥的传送,这样密钥安全性问题就转移到广义信息域安全性问题上,从而大大提高了信息安全性。
(2)抗常规密码分析。广义信息域通过物理重构和逻辑重构可以获得任意多个活动背景,且选定使用其中的一个。而在重构过程中参数的可调性涉及排列组合(穷举攻击空间)问题,现有研究表明这种变换复杂性是个NP难问题。同时系统所选择的动态分组、位置交换、轨迹环变换以及流加密等均为非线性变换,因此随着轮次的增加,加密时间呈线性递增,而置乱扩散复杂性呈指数级增加,因此,线性分析、差分分析、代数攻击等常规密码分析方法不适用于本系统。
图1是本实用新型系统的结构示意图; 图2是本实用新型系统的工作流程。
具体实施方式
下面结合实施例及附图,对本实用新型作进一步地详细说明,但本实用新型的实施方式不限于此。
实施例 图1所示为本实用新型基于广义信息域的动态加密系统的具体结构,包括相连接的基于广义信息域的伪随机码发生器、加解密子系统,该加解密子系统包括加密子系统、解密子系统; 其中加密子系统包括依次连接的分组系数与轮密钥生成模块、分组模块、对偶位置交换模块、置换运算模块;解密子系统包括依次连接的分组系数与轮密钥生成模块、分组模块、置换运算模块、对偶位置交换模块;且加密子系统、解密子系统共用同一个分组系数与轮密钥生成模块; 其中的基于广义信息域的伪随机码发生器包括依次连接的IV生成模块、IV规格化模块、m模块、约束化处理模块、密钥长度判断模块,所述m模块同时还与活动背景生成模块相连接,所述活动背景生成模块主要由物理重构模块、逻辑重构模块连接组成; 同时,所述基于广义信息域的伪随机码发生器分别与加密子系统、解密子系统中的分组系数与轮密钥生成模块、对偶位置交换模块、置换运算模块模块相连接,分组系数与轮密钥生成模块还通过一个断点入口与m模块相连。
计算机中任意可以表示为二进制编码的数据,称之为IF。
利用上述基于广义信息域的动态加密系统实现加解密的方法,如图2所示,包括加密过程和解密过程,加密过程具体如下 (1)活动背景生成模块通过对选定IF的物理重构获得IF的某个子空间,然后把该子空间逻辑重构成活动背景; (2)IV生成模块产生IV,IV规格化模块把IV压缩或拉伸成为确定长度的二进制地址串,并将其划分为n块 作为活动背景中的n维逻辑地址; (3)m模块对活动背景中的n维逻辑位地址与物理空间进行空间轨迹变换,并在每次的地址迁移中,从活动背景中析出k位长的位串并入密钥序列中,为了获得迁移地址,约束化处理模块根据之前k位位串值的最大值与最小值的频数之差来进行约束化处理,得到一个修正值;然后由m模块把修正值并入地址序列,经过平移获取新的n维迁移地址; (4)密钥长度判断模块根据预设的参数判断密钥的长度是否足够,若不足够,则重复进行步骤(3)操作,若足够,则输出密钥; (5)生成分组系数与轮密钥Keyr---对用户选定加密轮数,系统自动实现每轮分组系数选定与轮密钥生成,并控制各轮分组系数在一定轮数范围内不重复。由基于广义信息域的伪随机码发生器产生长度为一个字节或字的位串,并按该位串的值在分组系数集合中选取第r轮的分组系数nr,然后返回步骤(3),由基于广义信息域的伪随机码发生器继续产生
长的轮密钥Keyr;重复步骤(5),直到所有的分组系数及轮密钥生成完毕,最后把各轮的轮密钥Keyr依次拼接成密钥K。此分组系数关系到步骤(6)、(7)、(8)的操作,根据置乱扩散的需要可以增加加密的轮次; 多轮加密时,记n′=max(nr),r=1,2,...,R,其中R是加密轮数,依次选取大小为2n′的块为单位,按步骤(6)、(7)、(8)进行R轮加密; (6)分组方案---对密钥K按分组系数nr进行分组,分组系数决定了明文分组置换加密的地址空间为
(7)对偶位置交换---密钥K分组的内容ki代表加密空间分组的组内地址,对ki按位取反得到
ki和
形成对偶地址对;分析各个ki的统计特性后进行相应的移位和对偶地址对应内容的交换处理;这些处理是由密钥的排列特性决定的,因此使用不同的密钥,加密时采取的移位及交换处理是不同的; (8)置换运算---记轮密钥为Keyr=(K1,K2,...,Ki),明文加密空间分组A=(A0,A1,...,Ai),相应的密文分组为。其中Ki,Ai,
占1bit,即视为二进制流的形式,在完成位置交换后,按以下公式计算出A′值(A′作为第r+1轮的A使用) 上述步骤(6)至(8)当为加密算法所进行的第r轮加密过程,一轮加密结束,若未完成R轮加密则重复进行步骤(6)至(8),否则转(9); (9)若明文未加密完毕,返回(6),否则,加密结束,返回密文。
上述方法中,步骤(1)、(2)、(3)所述的IF、IV、m模块中的m三元协调来实现在背景空间轨迹迁移,在迁移过程中析出k位密钥,同时修改迁移轨迹,直至生成的长度满足要求为止。
上述方法中,步骤(2)所述IV由SR、ST、SC中的一项或任意多项组成,其中SR、ST通过调用函数获得,实现IV的随机性和唯一性,指定内容由用户给定,实现IV的个性化,如“hello,我是××”,IV并不作为算法的初值使用,包含的是在活动背景中初始地址的信息。
上述方法中,(1)所述的物理重构的作用是把选定IF构造成具有一定离散度、在物理上可见的子空间;逻辑重构则是把由物理重构得到的空间映射为n维的逻辑空间,具有离散性及随机性;规格化IV是这个高维逻辑空间中某一点的地址,也是之后进行空间轨迹变换的初始地址。
上述方法中,步骤(1)所述的IF可以是任意类型的数据,本质上是以字节为单位的任意长的二进制0、1位串,具有一定的随机性且可认为它是首尾相连的。IF可由算法产生,如混沌/混合混沌系统生成,也可是图像、文本文件或内存的一段代码等。可以对其标号,以便于应用。在实验时考虑使用图像、文本文件作为广义信息域,或利用混合混沌系统根据给定不同的初值,从而产生不同的广义信息域。
上述方法中,步骤(1)所述的活动背景在选定广义信息领下的结构具有如下定义 其中 ABG-code活动背景号,便于通过代号引用; IF-code广义信息域号; [S1/L1][,S2/L2]…[Si/Li]…物理重构参数,可任意选择,其结果是产生确定的活动背景。其中Si是偏移,Li是长度,十进制表示。物理重构时的单位是字节; D1,D2,D3[Di[,…]]逻辑重构参数,Di为维定义,十进制表示,给出该维最大下标值,括号内可任选,逻辑重构时其单位是位。
上述方法中,步骤(1)所述的物理重构模块对该选定的IF进行物理重构,其具体操作如下 若物理重构参数为空,则活动背景与选定信息域等价;若物理重构参数非空,则依次选取一组物理重构参数[Si/Li],从广义信息域或中间结果的第Si字节起截取长度为Li字节长的0、1串作为有效信息。物理重构可以将一个广义信息域的信息扩展成多个不同的活动背景的物理信息块; 在物理重构中引入一组离散化规则、算法,达到单向可计算、高度隔离性和离散化的目标,因此,通过定义规则,使得物理重构具有以下特点 a、一次重构有可能使某个字节值产生多种变化,满足单向可计算性; b、重构保持随机特性,如0、1的比例; c、重构产生中间结果或活动背景的物理结构,满足单向可计算,但不存在反函数,无法逆向求出上层的结果,具有高度隔离性。
上述方法中,步骤(1)所述的逻辑重构模块对经物理重构的IF进行逻辑重构获取活动背景,其具体操作如下 把一维的字节线性空间转换为任意多维的位逻辑空间,把由物理重构得到的一维数据重构为D1×D2×…×Dn的信息块,则每一位对应一个地址,且每一个地址都可用(y1,y2,…,yn)表示,而D1,D2,…,Dn是事先约定好的每维最大下标值。
例如定义 表示选取代号为4的活动背景。要获得该活动背景,需要以文件名为Sample.txt的文件作为广义信息域,然后进行物理及逻辑重构。物理重构参数[34/256],[568/512]表示从第34字节和第568字节起,分别选取256和512字节长的二进制串,并合并成一个长为768字节(6144位)的二进制串。逻辑重构把该6144位长的二进制串映射成3维的空间,每维的最大下标值分别为456,355和756。
解密过程具体如下 (1)活动背景生成模块通过对选定IF的物理重构获得IF的某个子空间,然后把该子空间逻辑重构成活动背景; (2)IV生成模块产生IV,IV规格化模块把IV压缩或拉伸成为确定长度的二进制地址串,并将其划分为n块 作为活动背景中的n维逻辑地址; (3)m模块对活动背景中的n维逻辑位地址与物理空间进行空间轨迹变换,并在每次的地址迁移中,从活动背景中析出k位长的位串并入密钥序列中,为了获得迁移地址,约束化处理模块根据之前k位位串值的最大值与最小值的频数之差来进行约束化处理,得到一个修正值;然后由m模块把修正值并入地址序列,经过平移获取新的n维迁移地址; (4)密钥长度判断模块根据预设的参数判断密钥的长度是否足够,若不足够,则重复进行步骤(3)操作,若足够,则输出密钥; (5)生成分组系数与轮密钥Keyr---对解密轮数,系统自动实现每轮分组系数选定与轮密钥生成,并控制各轮分组系数在一定轮数范围内不重复。由基于广义信息域的伪随机码发生器产生长度为一个字节或字的位串,并按该位串的值在分组系数集合中选取第r轮的分组系数nr,然后返回步骤(3),由基于广义信息域的伪随机码发生器继续产生
长的轮密钥Keyr;重复步骤(5),直到所有的分组系数及轮密钥生成完毕,最后把各轮的轮密钥Keyr依次拼接成密钥K。此分组系数关系到步骤(6)、(7)、(8)的操作; 多轮解密时,记n′=max(nr),r=1,2,...,R,其中R是解密轮数,依次选取大小为2n′的块为单位,按步骤(6)、(7)、(8)进行R轮解密; (6)分组方案---对密钥K按分组系数nR-r+1进行分组,分组系数决定了密文分组置换解密的地址空间为
(7)置换运算---记轮密钥为,是由步骤(5)产生的KeyR-r+1,密文解密空间分组A=(A0,A1,...,Ai),相应的明文分组为其中Ki,Ai,
占1bit,即视为二进制流的形式,在完成位置交换后,按以下公式计算出A′值(A′作为第r+1轮的A使用) (8)对偶位置交换---密钥K分组的内容ki代表加密空间分组的组内地址,对ki按位取反得到
ki和
形成对偶地址对;分析各个ki的统计特性后进行相应的移位和对偶地址对应内容的交换处理;这些处理是由密钥的排列特性决定的,因此使用不同的密钥,解密时采取的移位及交换处理是不同的; 上述步骤(6)至(8)当为解密算法所进行的第r轮解密过程,一轮解密结束,若未完成R轮加密则重复进行步骤(6)至(8),否则转(9); (9)若密文未解密完毕,返回(6),否则,解密结束,返回明文。
上述方法中,步骤(1)、(2)、(3)所述的IF、IV、m模块中的m三元协调来实现在背景空间轨迹迁移,在迁移过程中析出k位密钥,同时修改迁移轨迹,直至生成的长度满足要求为止。
上述方法中,步骤(2)所述IV由SR、ST、SC中的一项或任意多项组成,其中SR、ST通过调用函数获得,实现IV的随机性和唯一性,指定内容由用户给定,实现IV的个性化,如“hello,我是××”,IV并不作为算法的初值使用,包含的是在活动背景中初始地址的信息。
上述方法中,(1)所述的物理重构的作用是把选定IF构造成具有一定离散度、在物理上可见的子空间;逻辑重构则是把由物理重构得到的空间映射为n维的逻辑空间,具有离散性及随机性;规格化IV是这个高维逻辑空间中某一点的地址,也是之后进行空间轨迹变换的初始地址。
上述方法中,步骤(1)所述的IF可以是任意类型的数据,本质上是以字节为单位的任意长的二进制0、1位串,具有一定的随机性且可认为它是首尾相连的。IF可由算法产生,如混沌/混合混沌系统生成,也可是图像、文本文件或内存的一段代码等。可以对其标号,以便于应用。在实验时考虑使用图像、文本文件作为广义信息域,或利用混合混沌系统根据给定不同的初值,从而产生不同的广义信息域。
上述方法中,步骤(1)所述的活动背景在选定广义信息领下的结构具有如下定义 其中 ABG-code活动背景号,便于通过代号引用; IF-code广义信息域号; [S1/L1][,S2/L2]…[Si/Li]…物理重构参数,可任意选择,其结果是产生确定的活动背景。其中Si是偏移,Li是长度,十进制表示。物理重构时的单位是字节; D1,D2,D3[Di[,…]]逻辑重构参数,Di为维定义,十进制表示,给出该维最大下标值,括号内可任选,逻辑重构时其单位是位。
上述方法中,步骤(1)所述的物理重构模块对该选定的IF进行物理重构,其具体操作如下 若物理重构参数为空,则活动背景与选定信息域等价;若物理重构参数非空,则依次选取一组物理重构参数[Si/Li],从广义信息域或中间结果的第Si字节起截取长度为Li字节长的0、1串作为有效信息。物理重构可以将一个广义信息域的信息扩展成多个不同的活动背景的物理信息块; 在物理重构中引入一组离散化规则、算法,达到单向可计算、高度隔离性和离散化的目标,因此,通过定义规则,使得物理重构具有以下特点 a、一次重构有可能使某个字节值产生多种变化,满足单向可计算性; b、重构保持随机特性,如0、1的比例; c、重构产生中间结果或活动背景的物理结构,满足单向可计算,但不存在反函数,无法逆向求出上层的结果,具有高度隔离性。
上述方法中,步骤(1)所述的逻辑重构模块对经物理重构的IF进行逻辑重构获取活动背景,其具体操作如下 把一维的字节线性空间转换为任意多维的位逻辑空间,把由物理重构得到的一维数据重构为D1×D2×…×Dn的信息块,则每一位对应一个地址,且每一个地址都可用(y1,y2,…,yn)表示,而D1,D2,…,Dn是事先约定好的每维最大下标值。
例如定义 表示选取代号为4的活动背景。要获得该活动背景,需要以文件名为Sample.txt的文件作为广义信息域,然后进行物理及逻辑重构。物理重构参数[34/256],[568/512]表示从第34字节和第568字节起,分别选取256和512字节长的二进制串,并合并成一个长为768字节(6144位)的二进制串。逻辑重构把该6144位长的二进制串映射成3维的空间,每维的最大下标值分别为456,355和756。
根据由广义信息域产生密钥的三元组可知,三元协同产生密钥,缺一不可。加/解密双方具有相同的广义信息域,是由双方事先约定的,不参与信息的传递过程。动态加密算法在封装状态下使用密钥,加密方按照事先约定好的信息域产生密钥并进行加密,之后把密文和信息头(包含ABG号和IV)传给解密方。解密方根据IV从约定的广义信息域中析出真正的解密密钥来解密。从加密方到解密方,密钥不显式出现,也不涉及密钥的传送。如果能确保广义信息域安全,IV和m即使公开也不影响安全性。此时密钥安全性问题转变为广义信息域安全性问题,密钥不再显式传送和管理,大大加强安全性。线性分析、差分分析、代数攻击等常规密码分析方法不适用于本实用新型系统。
目前很多加密系统的密钥被多次重复使用,从而降低系统的安全性。本实用新型可产生任意个数任意长度的密钥,从而大大提高系统的安全性。
上述实施例为本实用新型较佳的实施方式,但本实用新型的实施方式并不受上述实施例的限制,其他的任何未背离本实用新型的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本实用新型的保护范围之内。
权利要求1、基于广义信息域的动态加密系统,其特征在于包括相连接的基于广义信息域的伪随机码发生器、加解密子系统,该加解密子系统包括加密子系统、解密子系统;
其中加密子系统包括依次连接的分组系数与轮密钥生成模块、分组模块、对偶位置交换模块、置换运算模块;解密子系统包括依次连接的分组系数与轮密钥生成模块、分组模块、置换运算模块、对偶位置交换模块;且加密子系统、解密子系统共用同一个分组系数与轮密钥生成模块;
其中的基于广义信息域的伪随机码发生器包括依次连接的IV生成模块、IV规格化模块、m模块、约束化处理模块、密钥长度判断模块,所述m模块同时还与活动背景生成模块相连接;
同时,所述基于广义信息域的伪随机码发生器分别与加密子系统、解密子系统中的分组系数与轮密钥生成模块、对偶位置交换模块、置换运算模块相连接,分组系数与轮密钥生成模块还通过一个断点入口与m模块相连。
2、根据权利要求1所述基于广义信息域的动态加密系统,其特征在于所述活动背景生成模块主要由物理重构模块、逻辑重构模块连接组成。
专利摘要本实用新型提供一种基于广义信息域的动态加密系统,包括相连接的基于广义信息域的伪随机码发生器、加解密子系统,该加解密子系统包括加、解密子系统;基于广义信息域的伪随机码发生器包括依次连接的初始地址信息IV生成模块、IV规格化模块、m模块、约束化处理模块、密钥长度判断模块,m模块还与活动背景生成模块相连接,活动背景生成模块包括物理重构模块、逻辑重构模块;加、解密子系统均包括分组系数与轮密钥生成模块、分组模块、位置交换模块、置换运算模块。本实用新型引入广义信息域,实现密钥安全性问题向广义信息域安全性问题转移,抗常规密码分析能力强。
文档编号H04L9/20GK201256392SQ200820200428
公开日2009年6月10日 申请日期2008年9月12日 优先权日2008年9月12日
发明者张国基, 许洁斌, 黎凤鸣, 清 刘, 卓 丁 申请人:华南理工大学