乱码本有限单向变换及其加解密应用
【技术领域】
[0001] 本发明涉及数据加密,特别涉及大流量通信中数据加解密以及大数据存储加解 LU O
【背景技术】
[0002] 通信加密的目的在于保持明文的秘密不被窃听者知晓。与之对应的是密码分析, 其目的在于恢复被加密的明文。根据现代应用密码学的理论,现有的加密方法一般分成两 类:一类是以DES、AES为代表的对称加密算法,一类是以RSA和ECC为代表的非对称加密算 法。通信中很多加密方法都依赖于这两种基本的算法,或者是这两种算法的优化变种,或者 是依赖于这两种算法的原理。但这两类加密方法都存在一个共同的缺陷:速度太慢。首先, 非对称加密方法加密的速度为毫秒级,基本上,无法直接应用于流数据的加密解密,通常只 能用于交换密码或数字签名。用硬件DES、AES实现比较快,最快可以少于10时钟周期,但 用软件实现同样加密算法就会慢很多,最少也需要1000个CPU周期,如果将其应用于流数 据加密ECB、CBC、CFB、OFB加密时,开销更大,假如该加密方法应用于大文件的加密开销更 是惊人。
【发明内容】
[0003] 本发明所要解决的问题:
[0004] 1.提高大流量数据通信加密解密的速度;
[0005] 2.提高大数据存储加密解密的速度。
[0006] 为解决上述问题,本发明所采用的方案如下:
[0007] 根据本发明的乱码本有限单向变换的方法,该方法包括以下步骤:
[0008] GTl :获取初始乱码本;
[0009] GT2 :乱码本单向变换后与电文异或;
[0010] GT3 :重复执行步骤GT2并控制步骤GT2执行的轮次数限于变换限值;
[0011] 其中,所述乱码本单向变换为采用单向函数对乱码本进行运算;所述变换限值大 于1。
[0012] 进一步,根据本发明的乱码本有限单向变换的方法,所述初始乱码本包含多个原 子乱码本;所述原子乱码本是指乱码本单向变换时原子乱码本作为不可拆分的整体参与单 向变换。
[0013] 进一步,根据本发明的乱码本有限单向变换的方法,所述步骤GT2的乱码本单向 变换中各轮次之间或采用累进变换模式,或采用密文链变换模式,或采用明文链变换模式; 所述累进变换模式中,上个轮次乱码本单向变换的输出作为下一轮次乱码本单向变换中的 输入;所述密文链变换模式中,上个轮次乱码本单向变换与电文异或的结果与初始乱码本 异或作为下一轮次乱码本单向变换中的输入;所述明文链变换模式中,上个轮次用于被变 换的电文与初始乱码本异或作为下一轮次乱码本单向变换中的输入。
[0014] 进一步,根据本发明的乱码本有限单向变换的方法,所述步骤GT2的乱码本单向 变换中,轮次作为乱码本单向变换的参数输入。
[0015] 进一步,根据本发明的乱码本有限单向变换的方法,所述步骤GT2的乱码本单向 变换为缩变换;所述缩变换为乱码本单向变换中,输入的乱码本长度大于输出的乱码本长 度。
[0016] 进一步,根据本发明的乱码本有限单向变换的方法,所述的变换限值为非固定值。
[0017] 进一步,根据本发明的乱码本有限单向变换的方法,所述的单向函数包含有下述 运算之一或下述运算之组合:循环移动、多项式运算、非线性置换。
[0018] 进一步,根据本发明的乱码本有限单向变换的方法,所述的单向函数包含环移小 部哈希运算;所述的环移小部哈希运算包括如下步骤:
[0019] Tl :将乱码本根据当前轮次数循环移动;
[0020] T2 :从循环移动后的乱码本中选取IenHashi字节长度的字符串txtHashi ;
[0021] T3 :对字符串txtHashi进行杂凑运算得到杂凑值txtHasho ;
[0022] T4 :将txtHasho与循环移动后的乱码本进行线性组合运算;
[0023] 其中,IenHashi 取值为 8 ?256。
[0024] 进一步,根据本发明的乱码本有限单向变换的方法,所述步骤T3中进行杂凑运算 的输入还包括当前轮次。
[0025] 进一步,根据本发明的乱码本有限单向变换的方法,还包括以下步骤:
[0026] FBS :根据轮次数从单向函数库中选择单向函数;
[0027] 所述单向函数库包括了各种不同的单向函数。
[0028] 进一步,根据本发明的乱码本有限单向变换的方法,所述步骤GT2替换为乱码本 单向变换后与电文相加或相减。
[0029] 进一步,根据本发明的乱码本有限单向变换的方法,所述步骤GT3替换为:判断初 始乱码本的生成时间,当初始乱码本的生成时间在限定时限内时执行步骤GT2。
[0030] 进一步,根据本发明的乱码本有限单向变换的方法,所述步骤GT3替换成:判断电 文是否完成变换异或,如果存在待变换异或的电文则重复执行步骤GT2。
[0031] 根据本发明的一种基于乱码本有限单向变换的数据处理装置,包括处理器和存储 器;所述处理器用于执行程序指令;所述存储器存储有程序指令集;当所述处理器执行所 述程序指令集时,使得该数据处理装置可以执行上述的乱码本有限单向变换的方法。
[0032] 根据本发明的乱码本有限单向变换的装置,该装置包括随机码本模块、变换异或 模块和轮次控制模块;所述随机码本模块用于获取初始乱码本;所述变换异或模块包括单 向函数模块和电文异或模块,用于对乱码本单向变换后与输入的电文异或;所述单向函数 模块用于对乱码本执行单向变换,即采用单向函数对乱码本进行运算;所述电文异或模块 用于单向变换后的乱码本与输入的电文异或;所述轮次控制模块用于控制乱码本执行单向 变换的轮次数使其限于变换限值;其中,所述变换限值大于1。
[0033] 进一步,根据本发明的乱码本有限单向变换的装置,所述初始乱码本包含多个原 子乱码本;所述原子乱码本是指乱码本单向变换时原子乱码本作为不可拆分的整体参与单 向变换。
[0034] 进一步,根据本发明的乱码本有限单向变换的装置,该装置还包括工作链接模块; 所述工作链接模块为累进变换链接模块或密文链接模块或明文链接模块;所述累进变换链 接模块用于使得上个轮次乱码本单向变换的输出成为下一轮次乱码本单向变换的输入;所 述密文链接模块用于使得上个轮次乱码本单向变换与电文异或的结果与初始乱码本异或 作为下一轮次乱码本单向变换中的输入;所述明文链接模块用于使得上个轮次输入的电文 与初始乱码本异或作为下一轮次乱码本单向变换中的输入。
[0035] 进一步,根据本发明的乱码本有限单向变换的装置,所述单向函数模块执行的乱 码本单向变换时,轮次作为乱码本单向变换的参数输入。
[0036] 进一步,根据本发明的乱码本有限单向变换的装置,所述变换异或模块中所述的 乱码本单向变换为缩变换;所述缩变换为乱码本单向变换中,输入的乱码本长度大于输出 的乱码本长度。
[0037] 进一步,根据本发明的乱码本有限单向变换的装置,所述的变换限值为非固定值。
[0038] 进一步,根据本发明的乱码本有限单向变换的装置,所述单向函数模块包含有下 述运算之一或下述运算之组合:循环移动、多项式运算、非线性置换。
[0039] 进一步,根据本发明的乱码本有限单向变换的装置,所述的单向函数模块包含 环移小部哈希运算模块;所述环移小部哈希运算模块包括循环移动模块、小部选取模块、 哈希函数模块和线性合并模块;所述循环移动模块用于将乱码本根据当前轮次数循环移 动;所述小部选取模块用于从循环移动后的乱码本中选取IenHashi字节长度的字符串 txtHashi ;所述哈希函数模块用于对字符串txtHashi进行杂凑运算得到杂凑值txtHasho ; 所述线性合并模块用于将txtHasho与循环移动后的乱码本进行线性组合运算。
[0040] 进一步,根据本发明的乱码本有限单向变换的装置,所述哈希函数模块中进行杂 凑运算时的输入还包括当前轮次数。
[0041] 进一步,根据本发明的乱码本有限单向变换的装置,该装置还包括单向函数库模 块;所述单向函数库模块用于根据轮次数从单向函数库中选择单向函数。
[0042] 进一步,根据本发明的乱码本有限单向变换的装置,所述电文异或模块替换成电 文相加模块或电文相减模块;所述电文相加模块用于单向变换后的乱码本与输入的电文相 力口;所述电文相减模块用于单向变换后的乱码本与输入的电文相减。
[0043] 进一步,根据本发明的乱码本有限单向变换的装置,所述轮次控制模块替换成时 限控制模块;所述时限控制模块用于判断初始乱码本的生成时间,当初始乱码本的生成时 间在限定时限内时所述单向函数模块执行乱码本单向变换。
[0044] 进一步,根据本发明的乱码本有限单向变换的装置,所述轮次控制模块替换成电 文检查模块;所述电文检查模块判断电文是否完成变换异或,如果存在待变换异或的电文 则所述单向函数模块执行乱码本单向变换。
[0045] 根据本发明的一种乱码本有限单向变换电路,该电路包括轮次控制器、单向函数 单元、电文异或单元;所述单向函数单元包括初始乱码本输入接口、与电文异或单元输入相 连的输出接口;所述电文异或单元包括与单向函数单元输出相连的输入接口、电文输入接 口以及变换输出接口;其中,所述轮次控制器用于记录单向函数单元执行操作的轮次数,并 控制单向函数单元对每个原子乱码本执行操作的轮次数限于变换限值;所述单向函数单元 用于对通过初始乱码本输入接口输入的初始乱码本按原子乱码本执行单向函数运算的操 作;所述电文异或单元用于实现由单向函数单元变换后的乱码本与通过电文输入接口输入 的电文执行逻辑异或的操作,并通过所述变换输出接口输出。
[0046] 进一步,根据本发明的乱码本有限单向变换电路,所述的单向函数单元包括按位 为单位的非线性置换。
[0047] 进一步,根据本发明的乱码本有限单向变换电路,该电路还包括参数配置单元;所 述的参数配置单元通过非易失性存储器存储乱码本有限单向变换中的参数。
[0048] 进一步,根据本发明的乱码本有限单向变换电路,在所述初始乱码本输入接口处 设有初始异或单元,在所述变换输出接口处设有密文链接器;所述初始异或单元包括与所 述密文链接器相连的输入接口、与所述单向函数单元相连的输出接口;所述密文链接器包 括与所述变换输出接口相连的输入接口、与所述初始异或单元输入相连的输出接口;所述 密文链接器用于缓冲存储经所述电文异或单元输出的电文,并将输出的电文等待一个轮次 输入至所述初始异或单元;所述初始异或单元用于根据所述初始乱码本输入接口输入的原 子乱码本与从所述密文链接器获得的上个轮次的输出的电文进行异或后输入至所述单向 函数单元。
[0049] 进一步,根据本发明的乱码本有限单向变换电路,在所述初始乱码本输入接口处 设有初始异或单元,在所述电文输入接口处设有明文链接器;所述初始异或单元包括与所 述明文链接器相连的输入接口、与所述单向函数单元相连的输出接口;所述明文链接器包 括与所述电文输入接口相连的输入接口、与所述初始异或单元输入相连的输出接口;所述 明文链接器用于缓冲存储经所述电文输入接口输入的电文,并将输入的电文等待一个轮次 输入至所述初始异或单元;所述初始异或单元用于根据所述初始乱码本输入接口输入的原 子乱码本与从所述明文链接器获得的上个轮次的输入的电文进行异或后输入至所述单向 函数单元。
[0050] 进一步,根据本发明的乱码本有限单向变换电路,该电路还包括随机序列生成单 元、随机采样单元、采样寄存器;其中,所述随机采样单元连接一随机信号输入接口;所述 随机采样单元用于根据对随机信号输入接口输入的随机信号量进行采样获得随机量,并将 得到的随机量存入所述采样寄存器内;所述随机序列生成单元连接所述采样寄存器和所 述单向函数单元,并连接有乱码本输出接口;所述随机序列生成单元用于从采样寄存器内 读取随机量通过随机序列生成函数将随机量生成随机序列作为初始乱码本输出,输出的初 始乱码本经所述初始乱码本输入接口传入所述单向函数单元,并经所述乱码本输出接口输 出。
[0051] 进一步,根据本发明的乱码本有限单向变换电路,在所述乱码本输出接口处还设 有加密单元;所述加密单元用于通过采用标准加密方法实现对由随机序列生成单元生成的 初始乱码本进行加密,然后将加密后的初始乱码本输出至所述乱码本输出接口。
[0052] 进一步,根据本发明的乱码本有限单向变换电路,所述电文异或单元替换成电文 相加单元或电文相减单元;所述电文相加单元用于实现由单向函数单元变换后的乱码本与 通过电文输入接口输入的电文执行数学相加的操作,并通过所述变换输出接口输出;所述 电文相减单元用于实现由单向函数单元变换后的乱码本与通过电文输入接口输入的电文 执行数学相减的操作,并通过所述变换输出接口输出。
[0053] 根据本发明的基于乱码本有限单向变换的数据加密存储的方法,包括如下步骤:
[0054] Svl :获取初始乱码本;
[0055] Sv2:根据初始乱码本,采用上述的乱码本有限单向变换的方法对明文加密得到密 文;
[0056] Sv3 :将初始乱码本存入乱码区;
[0057] Sv4 :将密文存入密文区;
[0058] 其中,乱码区是用于存储初始乱码本的区域,密文区是用于存储密文数据的区域。
[0059] 进一步,根据本发明的基于乱码本有限单向变换的数