CN110677237A - 一种具有似混沌特性的文件加密方法 - Google Patents

一种具有似混沌特性的文件加密方法 Download PDF

Info

Publication number
CN110677237A
CN110677237A CN201911063986.6A CN201911063986A CN110677237A CN 110677237 A CN110677237 A CN 110677237A CN 201911063986 A CN201911063986 A CN 201911063986A CN 110677237 A CN110677237 A CN 110677237A
Authority
CN
China
Prior art keywords
bit
data
key
encryption
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911063986.6A
Other languages
English (en)
Other versions
CN110677237B (zh
Inventor
张建伟
孙海燕
吴作栋
蔡增玉
梁树军
王文倩
栗京晓
杜春锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou University of Light Industry
Original Assignee
Zhengzhou University of Light Industry
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhengzhou University of Light Industry filed Critical Zhengzhou University of Light Industry
Priority to CN201911063986.6A priority Critical patent/CN110677237B/zh
Publication of CN110677237A publication Critical patent/CN110677237A/zh
Application granted granted Critical
Publication of CN110677237B publication Critical patent/CN110677237B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/001Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using chaotic signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Abstract

本发明提出了一种具有似混沌特性的文件加密方法,其步骤如下:读取待加密源文件M的内容作为明文数据,基于无理数DES算法把明文数据进行分组并与密钥块进行迭代加密,迭代加密后的密文通过循环移位和置换得到明文加密信息;采用SM3杂凑算法把用户输入的密码预处理生成数字摘要,以E为底做自然对数运算将数字摘要生成无理数密钥;通过多重无理数异或操作,把无理数密分别与明文加密信息再次进行循环加密,构造出具有似混沌特性加密的环境,并加入验证信息组合文件,产生密文文件。本发明可以对格式不同的文件进行不同长度的加密,且具有抵御防御统计分析的能力;具有良好的密钥敏感性和扩展性,在抵御差分攻击和穷举攻击上表现性良好。

Description

一种具有似混沌特性的文件加密方法
技术领域
本发明涉及文件加密的技术领域,尤其涉及一种具有似混沌特性的文件加密方法。
背景技术
由于5G移动技术的不断成熟及对将来市场的深入应用,信息趋于共享性,个人文件的隐私保护问题越来越受到关注。而数据加密作为信息安全基础设施即服务的一种重要形式,保密性更是引起大部分人对公共存储的顾虑。根据调研机构RedLock公司的调查研究,超过89.2%的互联网用户个人文件资料曾被利用,主要原因是以下几个方面:1)明文存储在第三方,可能会因服务器受到攻击或者不可信第三方泄露用户的隐私;2)文件数据在传输过程中没有进行加密保护或者是加密技术太过于简单而密文容易被破解;3)缺失访问控制机制,没有自主设置访问权限,攻击者享有对资源的无限制访问权限。现阶段通常采用二种方式来对自己的文件进行隐私保护:一是对自己敏感和隐私的数据进行良好的保护工作,保证自己所处的互联网环境足够安全;二是对自己敏感和隐私的数据进行加密,使攻击者无法读取泄露的信息。对于加密数据的方式,市面上主流的加密算法如RSA、AES等是面向大规模商业级别应用的,算法复杂度比较高,运算开销大,耗费内存,不适合轻量级日常办公文件的保护。于是爨玉伟等人在改进了已有的DES(数据加密标准-对称加密)算法的基础上,扩展密钥长度,通过双重加密来增加文件加密的安全性,但其计算量和通信消耗比较大,不适合移动网络环境中。文献[1]---姚峰等人利用多种加密算法联合加密方式来保障文件数据的完整性和准确性,但其发明采用加密算法较为简单,而且解密效率低,不适合现代加密需求。Yang等人基于代理重加密提出了一个文件加密发明,但该发明复杂度高,运行效率低。而同态加密比起代理重加密而言,不需要数据解密就能对数据直接操作,用户不直接接触加解密。因此文献[锡晓峰,曹宝香.一种适用于云计算环境的改进全同态加密方案[J].计算机技术与发展,2015(2):144-147.]提出了同态加密的技术方案,但是对适用环境要求比较苛刻,需要第三方处理数据,存在隐私泄露的风险。
因此,现有文件加密方法主要存在以下两个问题:一般文件加密算法会对文件格式造成破坏导致文件打开失败或者格式不兼容的问题;另一种是第三方存储加密数据的隐私保护问题,目前还没有高效的防止入侵的手段。
发明内容
针对传统文件加密解密方法对用户不够透明并且密钥保存在用户文件中,多用户隔离性差的技术问题,本发明提出一种具有似混沌特性的文件加密方法,采取流读取的方式读取文件数据,采用无理数DES算法的思想,构造出具有似混沌特性来加密文件数据,有效减少了文件数据在传输过程中和在第三方存储中的欺诈行为,并能把加密文件的无损恢复的文件加密。
为了达到上述目的,本发明的技术方案是这样实现的:一种具有似混沌特性的文件加密方法,其步骤如下:
步骤一:读取待加密源文件M的内容作为明文数据,基于无理数DES算法把明文数据进行分组并与密钥块进行迭代加密,迭代加密后的密文通过循环移位和置换得到明文加密信息;
步骤二:采用SM3杂凑算法把用户输入的密码预处理生成数字摘要,以E为底做自然对数经过多重无理数异或运算将数字摘要生成无理数混沌密钥集;
步骤三:把无理数混沌密钥集中的无理数密钥分别与步骤一得到的明文加密信息再次进行循环加密,构造出具有似混沌特性加密的环境,并加入验证信息组合文件,产生密文文件。
所述基于无理数DES算法在DES算法的基础上增加了无理数异或的操作,把密钥和无理数序列进行移位或者异或处理;实现方法为:
(1)设DES原密钥K的长度为64位;
(2)产生64位随机数b;
(3)将DES原密钥K与随机数b进行按位异或运算,生成64位密钥。
所述步骤一中明文加密信息的获取方法是:
步骤1:以字节输入流的形式读取待加密的源文件M的内容作为明文数据,根据DES算法将明文数据进行IP置换映射成一个64位的分组,并把置换后的数据分为L0和R0两部分;
步骤2:利用轮函数f变换对置换后的两部分数据L0和R0进行16轮的变换,在每一轮的轮函数f变换中,使用不同的子密钥,最终生成数据L16和R16
步骤3:将数据L16和R16组成64比特作为输入块,进行IP逆置换得到最终的密文。
所述IP置换把明文数据按位重新组合进行置换,把置换后的数据分为L0和R0两部分;IP置换是将输入的64位数据块的某一位放到新数据的其他位,依此类推,即将输入的64位明文数据的第1位置换到第40位,第2位置换到第8位,第3位置换到第48位,以此类推,最后一位是原来的第7位;其中,L0是置换后的数据的前32位,R0是置换后的数据的后32位;所述IP逆置换是IP置换的逆运算。
所述子密钥是由64位密钥经密钥置换产生的16轮48位密钥;所述轮函数f变换经过一个异或运算并和左半部分结合形成新的右半部分,原来的右半部分成为新的左半部分;轮函数f变换的具体过程如下:
Figure BDA0002258737840000031
其中,⊕为异或运算,Ki是向第i层输入的48位的密钥,i=1,2,...,16,Li和Ri分别是第i轮置换的左半部分和右半部分数据,Li-1和Ri-1分别是第i-1轮置换的左半部分和右半部分数据;
所述轮函数f变化由四步运算构成:密钥置换置换生成16个子密钥Ki,i=0~16;扩展E置换将数据的右半部分从32位扩展到48位;将扩展后的右半部分分别与子秘钥进行异或运算通过后经过S-盒代替得到32比特输出;P-盒置换将每一位输入位映射到输出位,与左半部分Li-1异或运算,左右两部分交换将右半部分Ri-1作为左半部分Li
所述轮函数f变换的工作方法是:
1)、将DES算法的初始64位密钥通过置换选择PC-1表得到有效的56位密钥,将56位密钥分为2个28位数据C0和D0,C0=K57K49K41...K44K36,D0=K63K55K47...K12K4;将数据C0和D0分别循环左移1位或2位得到数据C1和D1,将数据C1和D1连接得到56位二进制C1D1=k1k2……k56;将二进制C1D1作为置换选择PC-2表的输入,按PC-2表的位置置换产生一个48位输出的子密钥K1,即为一个子密钥K1;经过PC-2表位置置换后的数据C1和D1再次经过循环左移变换,生成数据C2和D2,数据C2和D2合并,通过PC-2表生成子密钥K2;以此类推,得到子密钥K1~K16;所述PC-1表为置换选择表,64位输入块是D1~D64,经过PC-1表置换后是D57,D50...D4;PC-2表为置换选择表,先去掉56位的子密钥的第9、18、22、25、35、38、43、54位,从56位变成48位,48位输入块K1~k48经过PC-2表的位置置换后是k14、k17、k11...k32。则数据C1=k14,k17,...k2;数据D1=k41,k52,k31...k32
2)、通过扩展置换E把数据的右半部分Ri从32位扩展到48位,中间为32位,二边为扩展位;
3)、将扩展得到的数据和子密钥Ki进行异或运算处理后进行S-盒代替,8组4进制的结果值连接起来,得到32比特输出;
4)、将32位比特输出作为P-盒置换的输入块,将每一位输入位映射到输出位;经过P-盒置换的结果与最初64位分组的左半部分Li-1异或,然后左右两部分交换,将右半部分Ri-1作为左半部分Li,开始下一轮迭代。
所述多重无理数异或运算是:把用户输入的密码S通过SM3杂凑算法生成的数字摘要值Y中相邻的两个杂凑数转化成10进制数Xe,1<e<16;其次,令Xe分别以E为底做自然对数运算并取小数点前16位为数据集He;最后,将H1与H16做异或运算,...以此类推,产生8组无理数混沌密钥组成无理数混沌密钥集。
所述SM3杂凑算法的实现方法为:
步骤1、令密码S的长度为l比特,将比特“1”添加到l的末尾,再添加k’个“0”,k’是满足l+1+k’≡448mod512的最小的非负整数;然后再添加一个64位比特串,该比特串是长度l的二进制表示,填充后的数据S′的比特长度为512的倍数,其中,l<264;
步骤2、迭代过程:将填充后的数据S’按每512bits进行分组,得到数据S’=B(0),B(1)......B(t-1),其中,大小t=(1+k'+65)/512;对数据S’进行迭代:
FOR j=0TO t-1
V(j+1)=CF(V(j),B(j)),
ENDFOR
其中,CF()是压缩函数,V(0)为256比特初始值,V(j)和V(j)为迭代中的比特值,B(j)为填充后的消息分组,迭代后的结果为V(t)
步骤3、消息扩展:将消息分组B(j)按以下方法扩展生成132个字W0,W1,…,W67,W’0,W’1,…,W63
将密码分组B(j)划分为16个字W0,W1,…,W15
Figure BDA0002258737840000041
Figure BDA0002258737840000042
步骤4、压缩函数:A/B/C/D/E/F/G/H为字寄存器,SS1/SS2/TT1/TT2为中间变量,压缩函数V(i+1)=CF(V(i),B(i)),计算过程为:ABCDEFGH=V(i);FOR j=0to 63;中间变量SS1=((A<<<12)+E+(Tj<<<j))<<<7;SS2=SS1^(A<<<12);中间变量TT1=FFj(A,B,C)+D+SS2+Wj';中间变量TT2=GGj(E,F,G)+H+SS1+Wj;D=C;C=B<<<9;B=A;A=TT1;H=G;G=F<<<19;F=E;E=P0(TT2);ENDFOR;输出结果为256bit杂凑值=ABCDEFGH。
所述步骤三中循环加密的方法为:8组无理数DES分组明文加密的密文分别与8组无理数密钥做循环异或操作,产生最后的加密文件。验证信息组合文件指待加密文件的后缀名信息。
采用了IND-CC安全模型,安全性建立在随机预言机基础上,规约到离散对数假设中,攻击者
Figure BDA0002258737840000043
和挑战者
Figure BDA0002258737840000044
进行如下交互游戏:
(1)初始化阶段:挑战者
Figure BDA0002258737840000045
输入密码S,运用SM3杂凑算法可以获取到密码信息的数字摘要Y,通过这个信息敌手
Figure BDA0002258737840000046
仅能推测出数字摘要Y是在随机预言机上均匀选取的一个随机杂凑值;
(2)训练阶段I:敌手
Figure BDA0002258737840000051
向挑战者
Figure BDA0002258737840000052
发出对密文C的解密询问,即取无理数DES算法产生密文C,解密并把它发给敌手
Figure BDA0002258737840000053
这一过程可重复多项式有界次;多项式表示无穷次代数计算;
(3)挑战:敌手
Figure BDA0002258737840000054
输出二个长度相等的明文M0,M1和挑战的密码C;但是密码S不在一阶段中任何测试中出现,挑战者随机选择一个比特值β←R{0,1},计算密文C*=ε(Μβ),并将密文C*发送给敌手
Figure BDA0002258737840000055
其中,C*表示Μβ的密文,Μβ表示随机挑选的源文件,ε加密算法;
(4)训练阶段II:敌手
Figure BDA0002258737840000056
发出对密文C*产生的询问,规定S≠S*,挑战者以训练阶段I中的方式回应,重复多项式有界次;S*表示输入的密码;
(5)猜测:敌手输出猜测β'∈{0,1},如果β'∈β,则敌手攻击成功。
本发明的有益效果:采用SM3杂凑算法把密码有理化生成杂凑值,非线性打乱生成多个无规律唯一的混沌密钥集;将原始文件数据与随机的混沌密钥集进行分组无理化运算,构造出具有似混沌特性来加密数据。在离散对数难题的假设下,本发明具有IND-CPA安全和抵抗批量攻击的能力。通过实验分析表明,本发明在安全性上可以对格式不同的文件进行不同长度的加密,而且加密文件具有抵御更强的防御统计分析的能力;在效率方面具有良好的密钥敏感性和扩展性,在抵御差分攻击和穷举攻击上表现性良好。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的加解密的流程图。
图2为移动互联网环境下文件加密的安全威胁示意图。
图3为混沌加解密的原理图。
图4为本发明加解密实验图,其中,(a)为原始图像,(b)为加密后的图像,(c)为正确解密图像,(d)为错误解密图像。
图5为本发明加密前后图像的直方图,其中,(a)为原始图像直方图,(b)为加密后图像的直方图。
图6为本发明与现有加密算法的密钥空间与敏感性的示意图。
图7为本发明与现有加密算法执行效率的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图2所示,文件加密锁是指不依赖特殊硬件,用纯软件的方式来实现对文件的加密一种保护机制,它的最大优势是以极低的加密成本来保护用户的信息,一直活跃在信息安全领域。目前比较流行的文件加密锁方法主要采用嵌套密码学算法和加壳法。嵌套密码学算法主要是对文档采取多级处理加密方式,以复杂的密码学算法为核心,从底层实现无缝加密,使受保护的文档从创建、使用到最后被删除都一直处于被加密状态;加壳法是将保护的文件转化为虚拟代码,利用高级混淆和代码非等价变形技术,将文档转成一种功能上等价、但是难于阅读和理解代码、可充分干扰静态分析。因此,现有的文件加密仅仅是把二进制数据进行有特定规律的打乱,没有运用密码学基本原理甚至在实现上存在漏洞,在多项式时间的条件下容易被破解和恢复的问题。
本发明的一种具有似混沌特性的文件加密方法,总体设计采用嵌套无理数DES算法的思想,先采用SM3杂凑算法把密码非线性打乱生成混沌密钥集。在生成多个无规律密钥的基础上,将分段加密过的明文与由密钥生成的数据进行多次加密运算,从而实现具有似混沌特性的加密方法。本发明提出了一种似混沌特性加密方式,把文件数据进行非线性打乱,如果密码以及加密顺序未知,则将始终无法解开文件。而且在加密完成后,源文件后缀名改成加密文件缀名,这样源文件就以覆盖的形式自动变成加密文件,通过随机的方式将源文件覆盖后再进行删除,进而加强了加密的保密性。分析证明具有似混沌特性的无理数产生密钥让攻击者更难进行有效的攻击,对于不同的文件只能采用不同的攻击,无法批量的进行破解,这样即使个人的文件落入攻击者的手中,也需要大量的时间和精力进行破解,也给使用者在保护措施上争取的更多的时间。解密过程其实只是加密算法的逆运算,都只是对密文文件进行操作,算法思想和加密算法相同。具体加密方法如图1所示,其步骤如下:
步骤一:读取待加密源文件M的内容作为明文数据,基于无理数DES算法把明文数据进行分组并与密钥块进行迭代加密,迭代加密后的密文通过循环移位和置换得到明文加密信息。
基于无理数DES算法是一种分组密码,是将明文即待加密的源文件按初始置换映射划分成等长的组序列,分别对每一组序列进行加密或者和不同的密钥进行加密。该算法是在DES算法的基础上增加了无理数异或的操作,利用无理数序列具有无限无规律循环的特点,把密钥和无理数进行移位或者异或处理,增加了密钥的随机性和可扩展性,进而增强了信息的保密性。基于无理数DES算法就是在DES算法的基础上增加异或运算,简单的来说:
(1)假设DES原密钥长度为64位:
K=11111111 00000000 111111111 0000000 11111111 0000000 11111111111111111。
(2)产生64位随机数b,b的第一位有二种取值0或1。
(3)将DES原密钥K与随机数b进行按位运算异或运算,生成密钥K1和K2;接着b的第二位也有二种取值0或者1,也进行异或运算,相应的生成密钥K1K2K3K4,以此类推,DES原密钥K的密钥空间在此基础上扩大了264倍,为264×264=2128
基于无理数DES算法仍是一种分组密码,将明文序列划分成等长的分组,对每一组用相同的加密算法和不同的密钥进行加密。分组密码有其自身的特点,首先分组密码容易被标准化,其次分组密码很容易实现同步,即传输错误不会扩散。对于分组加密来说,对密钥长度的一系列要求是相互矛盾的。而使用具有似混沌特性的无理数产生密匙,可以增加密匙的复杂性,使用分组分别加密数据,使得算法具有良好的加密特性。具体算法如下:
步骤1:以字节输入流的形式读取待加密的源文件M的内容作为明文数据,明文数据一般指的是文件中的数据;根据DES算法将明文数据进行I P置换映射成一个64位的分组A。
IP置换就是把明文数据按位重新组合进行置换,把置换后的数据分为L0和R0两部分,L0为新数据的前32位,R0为新数据的后32位。IP置换是将输入的64位数据块的某一位放到新数据的其他位,依此类推,并把输出分为L0、R0两部分,每部分各为32位。即将输入的64位明文的第1位置换到第40位,第2位置换到第8位,第3位置换到第48位。以此类推,最后一位是原来的第7位。置换规则是规定的。L0(Left)是置换后的数据的前32位,R0(Right)是置换后的数据的后32位。
例如:64位输入块是D1~D64,则经过IP置换后是D58,D50...D7。则L0=D58,D50,D12...D8;R0=D57,D49,D41...D7
步骤2:经过IP置换后,进行16轮的轮函数f变换,使置换后的数据与密钥结合运算。密钥是由64位密钥经密钥置换产生的16轮48位子密钥。在每一轮的轮函数f变换中,通过使用不同的子密钥,使数据经过16轮轮函数f最终生成数据L16和R16。轮函数f的输出经过一个异或运算,并和左半部分结合形成新的右半部分,原来的右半部分成为新的左半部分。轮函数f由四步运算构成:密钥置换(Ki的生成,i=0~16);扩展E置换;S-盒代替;P-盒置换。轮函数f变换的具体过程如下:
Figure BDA0002258737840000081
其中,⊕为异或运算,Ki是向第i层输入的48位的密钥,i=1,2,...,16。轮函数f变换的主要工作原理是:
1)、DES算法的初始64位密钥通过置换选择PC-1表得到有效的56位密钥。PC-1表为置换选择表,64位输入块是D1~D64,则经过PC-1表置换后是D57,D50...D4。这56位密钥分为2个28位数据C0和D0,C0(28位)=K57K49K41...K44K36,D0(28位)=K63K55K47...K12K4。将数据C0和D0分别循环左移1位或2位,移位分别得到数据C1和D1并将数据C1和D1连接得到56位二进制C1D1=k1k2……k56。将二进制C1D1作为置换选择PC-2表的输入。PC-2表为置换选择表,先去掉56位的子密钥的第9、18、22、25、35、38、43、54位,从56位变成48位,再按PC-2表的位置置换,产生一个48位的输出子密钥K1,即为一个子密钥K1。例如:48位输入块是K1~k48,则经过PC-2表的位置置换后是k14、k17、k11...k32。则数据C1=k14,k17,...k2;数据D1=k41,k52,k31...k32。数据C1和D1再次经过循环左移变换,生成数据C2和D2,C2和D2合并,通过PC-2表生成子密钥K2。以此类推,得到子密钥K1~K16
2)、通过扩展置换E,把数据的右半部分Ri从32位扩展到48位。扩展置换改变了位的次序,重复了某些位。将右半部分R0按照扩展置换E规则进行扩展变换,中间为32位,二边为扩展位,扩展后为48位,得到E1=D32D1D2…D32D1
扩展置换的目的:a、产生与密钥相同长度的数据以进行异或运算,右半部分R0是32位,子密钥是48位,所以右半部分R0要先进行扩展置换之后与子密钥进行异或运算;b、提供更长的结果,使得在替代运算时能够进行压缩。
3)、将扩展得到的数据E1和第一个子密钥k1进行异或运算处理,然后进行S-盒代替。将数据E1和第一个子密钥k1进行异或运算处理得到M’1=m’1m’2m’3…m’48。将48比特分为8组6比特分组,每一组分别代入相应的S盒,得到4比特的结果值。S盒的计算是这样的:如果用m’1m’2m’3m’4m’5m’6表示第一组输入,S盒表中的行索引是m’1m’6组成的二进制数,列索引是m’2m’3m’4m’5组成的二进制结果是该盒的值。将8组4进制的结果值连接起来,得到32比特输出。
4)、将经过S-盒代替的32位输出作为P-盒置换的输入块。P-盒置换将每一位输入位映射到输出位。经过P-盒置换的结果与最初64位分组的左半部分L0异或,然后左右两部分交换,将右半部分R0作为左半部分L1,开始下一轮迭代。P-盒置换表共32位,为D1~D32。将32位的输入的第16位放在第一位,第七位放在第二位,第二十位放在第三位,以此类推。
步骤3:将步骤1输出的左半部分L0和右半部分R0进行16次的迭代,即进行16层的加密变换,这个运算过程为轮函数f变换。当得到L16和R16,并将此组成64比特作为输入块,进行IP逆置换得到最终的密文。IP逆置换是IP置换的逆运算。从初始置换规则中可以看到,原始数据的第1位置换到了第40位,第2位置换到了第8位。则IP逆置换就是将第40位置换到第1位,第8位置换到第2位。
本发明采用无理数DES算法的思想,将分组后的明文与48位密钥块进行迭代加密后,又利用置换和压缩等操作把密文数据进一步扩散和扰乱,使密文C'具有多重加密的效果。
步骤二:采用SM3杂凑算法把用户输入的密码预处理生成数字摘要,以E为底做自然对数经过多重无理数异或运算将数字摘要生成无理数混沌密钥集。
本发明首先利用SM3杂凑算法的迭代压缩结构和杂凑运算对数据的敏感性,将输入的密码通过布尔运算与置换进行预处理生成数字摘要,在压缩过程中充分的进行扩散和扰乱;其次,将32位数字摘要值转换为10进制数据,以E为底做自然对数运算,得到的数值舍去小数点并取前16位,产生8组无理数混沌密钥集。最后,8组无理数混沌密钥集对无理数DES加密的密文文件C进行循环加密,产生密文文件。具体算法如下:
输入:用户设置的密码S。
输出:密文文件C。
步骤1、采用写数据流的方法读取用户设置的密码S,令密码S的长度为l比特。首先将比特“1”添加到l的末尾,再添加k’个“0”,k’是满足l+1+k’≡448mod512的最小的非负整数。然后再添加一个64位比特串,该比特串是长度l的二进制表示。填充后的数据S′的比特长度为512的倍数。例如:对密码01100001 01100010 01100011,其长度l=24,经填充得到的比特串:
Figure BDA0002258737840000091
步骤2、将填充后的数据S’按每512bits进行分组,得到数据S’=B(0),B(1)......B(t-1),其中,大小t=(1+k'+65)/512。对数据S’按下列方式迭代:
Figure BDA0002258737840000092
其中,CF是压缩函数,V(0)为256比特初始值,B(j)为填充后的消息分组,迭代压缩的结果为V(t)
步骤3、将消息分组B(j)按以下方法扩展生成132个字W0,W1,…,W67,W’0,W’1,…,W63用于压缩函数CF:
1)、将密码分组B(j)划分为16个字W0,W1,…,W15
2)、
Figure BDA0002258737840000101
3)、
Figure BDA0002258737840000102
步骤4、A/B/C/D/E/F/G/H为字寄存器,SS1/SS2/TT1/TT2为中间变量,压缩函数V(i+1)=CF(V(i),B(i)),计算过程:ABCDEFGH=V(i);FOR j=0to 63;中间变量SS1=((A<<<12)+E+(Tj<<<j))<<<7;SS2=SS1^(A<<<12);中间变量TT1=FFj(A,B,C)+D+SS2+Wj';中间变量TT2=GGj(E,F,G)+H+SS1+Wj;D=C;C=B<<<9;B=A;A=TT1;H=G;G=F<<<19;F=E;E=P0(TT2);ENDFOR。输出结果为256bity杂凑值=ABCDEFGH=V(n)。
如:Y=SM3(01100001 01100010 01100011)=0F79C22A4A7D442E8939B695C04FFB93,S为用户要输入的密码,例如输入:01100001 01100010 01100011;k=64;初始值用于确定压缩函数寄存器的初态,初始值可以为7380166f 4914b2b9 172442d7 da8a0600a96f30bc 163138aa e38dee4d b0fb0e4e。
步骤5、多重无理数异或运算是:把数字摘要值Y中相邻的两个杂凑数转化成10进制数Xe,1<e<16。其次,令Xe分别以E为底做自然对数运算并取小数点前16位为数据集He;最后,将H1与H16做异或运算,...以此类推,产生8组无理数混沌密钥。
表1 16进制杂凑值转化为10进制数据的对应关系表
Figure BDA0002258737840000103
将十进制数Xe分别进行对数ln()运算,如公式(4)所示:
Figure BDA0002258737840000104
将数据集He转化成二进制分别进行异或运算,如公式(5)所示:
Figure BDA0002258737840000111
异或处理后的8组无规则的密钥称为无理数密钥集。
SM3杂凑算法是对长度为l,l<264比特的消息w,经过填充和迭代压缩,生成杂凑值,杂凑值长度为256比特。
(1)数据输入:接收数据w,其长度为l bits。
(2)数据填充:在数据w末尾添加值“1”,数据长度1bit。再添加k'bit数据,值为“0”,其中,k'为满足l+1+k’≡448mod512的最小非负整数;然后再添加一个64位比特串,该比特串是长度l的二进制表示。填充后的消息S′的比特长度为512的倍数。例如:对密码0110000101100010 01100011,其长度l=24,经填充得到的比特串:
Figure BDA0002258737840000112
(3)迭代过程:将填充后的数据S’按每512bits进行分组,得到数据S’=B(0),B(1)......B(t-1),其中,大小t=(1+k'+65)/512。对数据S’按下列方式迭代:
FOR j=0TO t-1
V(j+1)=CF(V(j),B(j))
ENDFOR
其中CF是压缩函数,V(0)为256比特初始值,B(j)为填充后的消息分组,迭代压缩的结果为V(t)
(4)消息扩展:将消息分组B(j)按以下方法扩展生成132个字W0,W1,,W67,W’0,W’1,,W63用于压缩函数CF:
1)、将密码分组B(j)划分为16个字W0,W1,,W15
2)、
Figure BDA0002258737840000113
3)、
Figure BDA0002258737840000114
(5)压缩函数:A/B/C/D/E/F/G/H为字寄存器,SS1/SS2/TT1/TT2为中间变量,压缩函数V(i+1)=CF(V(i),B(i)),计算过程:ABCDEFGH=V(i);FORj=0 to 63;SS1=((A<<<12)+E+(Tj<<<j))<<<7;SS2=SS1^(A<<<12);TT1=FFj(A,B,C)+D+SS2+Wj';TT2=GGj(E,F,G)+H+SS1+Wj;D=C;C=B<<<9;B=A;A=TT1;H=G;G=F<<<19;F=E;E=P0(TT2);ENDFOR。
(6)杂凑值:输出结果为256bit杂凑值,V(n)=ABCDEFGH=V(n)。
混沌系统是一种复杂的非线性系统,具有随机过程的遍历性和输出不可预测的特性。而且混沌序列的产生和复制也很简便,可以产生数量巨大、长度任意且奇偶相关特性较好的数字序列。所以,混沌系统具有相当程度的保密性,难以破译。通过对比分析,非周期无限长的数字序列也就是无理数序列和混沌序列具有非常多的相似性,是一种非常适合做混沌系统的初始条件。因此,利用具有似混沌特性的无理数序列应用到加密系统将能取得将是很好的加密效果。在图3中,P表示明文,C代表密文,F表示基于无理数DES算法。∑(K')为密钥流产生器,可以视为一个混沌系统模型,其生成的序列是不可预测的。由于混沌系统对初始值十分敏感,所以选用初始值作为密钥,即∑(0)。其中,P*表示解密的信息,K*代表解密密钥,F表示基于无理数DES算法,∑(0)混沌系统的解密密钥初始值。本发明利用对数运算生成无理数的思想生成具有伪混沌特性的无理数密钥,进行加密。
步骤三:把无理数密钥分别与步骤一得到的明文加密信息再次进行循环加密,构造出具有似混沌特性加密的环境,并加入验证信息组合文件,产生密文文件。
8组混沌密钥集对基于无理数DES算法加密的密文C’进行异或运算循环加密,并加入验证信息组合文件,产生密文文件C。
循环加密:8组无理数DES分组明文加密的密文分别于8组无理数密钥集做循环异或操作,产生最后的加密文件。
验证信息组合文件一般指文件的后缀名信息,本发明中源文件和密文文件的后缀名不一样,最后密文产生,再加上加密后缀名才能产生最后的加密文件。
基于无理数DES算法上的离散对数问题、SM3杂凑算法的数字摘要以及8组无理数密钥的似混沌密钥的生成是本发明讨论的重点。通常基于无理数DES算法上的对数问题构造出来的加密算法和普通的DES算法相比,具有以下特点:密钥空间的扩展性增强,数据加密的速率和安全性也得到了提升,并且无理数的特点也完美契合似混沌系统。本发明主要从以下四个方面进行安全性分析:
保密性是指攻击者从一个密文中获取任何明文信息在计算上是不可行的。而本发明采用混沌加密方式,使得局部选取的混沌密钥集,在分布形态上都与整体相似,产生的混沌密钥分布上不符合统计学原理,难以重构和预测,即使攻击者已经掌握了混沌序列的方程,也难以猜测决定混沌序列的参数及初始值。又考虑到SM3杂凑算法的不可逆转性,攻击者无法推导出关键字信息,使密码的保密性大大增强。下面为了证明本发明的保密性,采用了IND-CC安全模型,采用SM3杂凑算法把密码预处理生成杂凑值,把安全性建立在随机预言机的基础上,把本发明规约到离散对数假设中。具体的描述中,攻击者和挑战者
Figure BDA0002258737840000132
进行如下交互游戏:
(1)初始化阶段。挑战者输入密码S,运用SM3杂凑算法可以获取到密码信息的数字摘要Y,通过这个信息敌手
Figure BDA0002258737840000134
仅能推测出数字摘要Y是在随机预言机上均匀选取的一个随机杂凑值。
(2)训练阶段I。敌手
Figure BDA0002258737840000135
向挑战者
Figure BDA0002258737840000136
发出对密文C的解密询问。即取无理数DES算法产生密文C,解密并把它发给敌手
Figure BDA0002258737840000137
这一过程可重复多项式有界次。多项式表示无穷次代数计算,就是说不用考虑计算的复杂性。
(3)挑战。敌手
Figure BDA0002258737840000138
输出二个长度相等的明文M0,M1和挑战的密码C。但是唯一的限制是密码S不在一阶段中任何测试中出现,挑战者随机选择一个比特值β←R{0,1},计算密文C*=ε(Μβ),并将C*发送给敌手
Figure BDA0002258737840000139
其中,C*表示Μβ的密文,Μβ表示随机挑选的源文件,ε加密算法。
(4)训练阶段II。敌手发出对密文C*产生的询问,规定S≠S*,挑战者以训练阶段I中的方式回应,这一过程可重复多项式有界次。S*表示输入的密码。
(5)猜测。敌手输出猜测β'∈{0,1},如果β'∈β,则敌手攻击成功。敌手的优势定义为安全参数E’的函数:
Figure BDA00022587378400001311
如果对任何多项式时间的敌手
Figure BDA00022587378400001312
存在一个可忽略的函数ε(E'),使得
Figure BDA00022587378400001313
其中,K'表示初始化输入的参数,那么就称这个发明在选择明文攻击下具有不可区分性,称为选择密文安全。
本实验用来解释用户在遭到选择明文攻击时,攻击者没有攻击优势(小于50%的概率),具有安全性高的特点。
本发明利用无理数的似混沌特性对密钥空间进行了扩展,增加了子密钥产生的随机性,使得每一组的16次迭代所使用的子密钥都不相同,并且呈现伪随机变化。在几乎不增加时间开销的基础上扩展了其密钥空间,若无理数异或运算产生的伪随机数为64位,则密钥空间为2128,增强了数据的保密性,使其可以避免穷举法攻击。而且本发明采用具有似混沌特性的无理数序列进行异或循环加密,使其产生的混沌序列无法预测,可以很好的隐藏明文信息,保证了算法的安全性完全寓于密钥中。如果攻击者使用爆破的形式解密文件,即使是与正确的密钥只有很小的差距,解密所得到的明文也与真正的明文有着非常大的差距,无法从中获得任何关键信息。特别是经过SM3杂凑算法联合无理数异或处理,扩展性能进一步提升,一位密钥的变化,会扩散到整个传输的信息中,从而导致整个明文的改变,其良好的扩展性可以引起“雪崩效应”,增强了安全性。
本发明利用SM3杂凑算法加密速度快和DES算法分组加密、密钥管理简单的特点,将两者优势相结合,能得到较高的加解密效率。更重要的是经过似混沌加密处理,解决了数据加密需要严格的同步问题,形成了具有灵活性、实时性强的一系列特色。对比DES算法,本发明具有的无理化特性优化了密钥空间问题,增强扩展性;而且算法复杂度低,加密过后文件大小几乎相同,不需要设置奇偶校验或其他通讯开销。在办公方面,该算法只是对数据自身加密,不需要安装,不管是脱离操作系统,还是非法脱离安全环境,用户数据自身都是安全的,对环境的依赖性比较小。
本发明的计算成本主要体现在对数运算、分组异或运算、字加运算和移位运算,分别用Txor、Tmul、Texp、Tsh、Tpl、Tmod表示在执行一次加法、乘法、幂乘、移位、置换和模运算所需要的时间,而Thash表示执行Hash运算所需的时间,表示Hash运算的时间T有多长。ES表示建立额外的参数,EX表示计算出密钥的成本。本发明与现有的的RSA和DES算法的计算成本如表2所示。
表3-1 计算复杂度分析
Figure BDA0002258737840000141
本发明使用Matlab语言实现具有伪混沌系统的文件加密新方法,并在安全和效率方面进行测试分析。在安全性测试中,使用txt类文档(包含中英文字、数字)、标准测试图片lena.png(原图大小463kb)作为实验参考文件。效率测试中,选取大小不同的文件和不同长度的密码作为实验参数。
在安全测试中,首先模拟抵御穷举攻击,测试密钥的保护能力和恢复明文的可行性;其次模拟抵御统计攻击,测试攻击者在获取密文的各种情况下,是否能会恢复出完整的图像,并用直方图分析发明对于统计攻击的抵抗能力。具体实验结果和说明表4和图4所示。
表3 密文测试结果和说明
Figure BDA0002258737840000151
由表3结果说明,本发明不管是测试图片还是文档时,密文测试除非同时拥有用户的密码和全部密文才能恢复出正确完整的明文消息,其他项目都是恢复出离散的文字或者图片失真。这说明,在实际应用中,最坏的情况使攻击者获得密钥,并尝试着通过分析部分密文找到规律,但在图4中通过用本发明的加密发明对图4(a)所示图像Lena进行加密处理后的图像如图4(b)所示。可以看出经过似混沌环境下加密处理的数据已经完全失去了明文的所有特征,离散的数据并不具备任何规律,是不具备任何实际应用的。如果解密密码和加密密码一致,则可以无失真恢复原始图像,如图4(c)所示。一旦解密密钥的无理数序列发生细微变化,解密就会失败,如图4(d)。
图像加密算法抵御统一攻击的能力能通过直方图的分析反映出来。加密图像的算法越先进,加密后图像的直方图分布越均匀,抵御统计攻击的能力就越强。图5显示的是本发明加密前后的图像的直方图。通过对比加密前后的直方图发现,原始图像直方图5(a)更具有明显的统计特性,对统计攻击比较敏感;而加密后图像的直方图5(b)更趋于均匀化,具有更强的防御统计分析的能力。
在效率测试中,首先使用背景技术提到的RSA、AES和文献[1]的三个商用加密算法和本本发明做密钥敏感度和密钥空间对比分析,并得出结果验证本发明是否能抵御暴力攻击。其次,测试各个加密算法的执行效率,分析本发明是否具有实用价值。具体实验结果如图6和图7所示.
由图6密钥空间大小可以看出,本发明的密钥空间明显大于其他三个商用加密算法。这是因为基于DES无理数混沌映射产生的伪随机序列具有密钥多轮置换,迭代不重复的特点,使本发明中每轮迭代使用独立的轮密钥,具有无限的密钥空间。如果将SM3杂凑算法的控制参数也作为密钥产生的元素,密钥空间还有扩容的可能。因此,本发明具有足够大的密钥空间,可以抵御暴力攻击。而且本发明构造的似混沌加密环境对密钥极为敏感,从实验结果可以看出,仅仅是极其微小的密钥失配,仍然无法正确还原原始明文,雪崩效应明显,验证了本发明具有良好的密钥敏感性,可抵御差分攻击。
根据图7相关测试表明,当文件被本发明提到的算法各加解密运行100次取其平均值分析可得,基于无理数DES加密的似混沌加密算法具有更好的加解密效率,随着文件的增加,加密时间低于上述三种商用加密算法。这是因为本发明解密的过程中不需要“模除”运算,而且对解密数据容量的大小不敏感,和加密速率相差不大,特别适合大数据文件解密。此外,把上述加密算法部署到云环境中,本发明还具有较好的同步性和更快的执行速度,具有较强的实用性和有效性。
针对于目前在商用环境下文件的隐私保护发明中,加密算法计算成本和密钥存储开销大,传输过程中容易被窃取等问题,本发明采用无理数DES的思想,以SM3算法和无理数密钥联合生成具有似混沌的加密环境为基础来对文件数据进行加密。通过安全测试证明该发明在电子文件方面具有良好的安全性能和加解密效率,特别是效率方面有着较为明显的优势。而且为了避免破坏文件格式导致格式不兼容的问题,本发明只加密文件的数据部分,格式部分只做了模糊处理,并不影响用户操作。
与现有文件加密方法相比,本发明的主要创新点如下:
(1)首次将SM3杂凑算法用于解决文件数据加密的同步问题,较好地解决了恶意篡改而导致文件损坏的问题。考虑到传统的哈希算法不再安全高效,本发明采用了最新的中国商用加密算法SM3杂凑算法,利用SM3杂凑算法的杂凑运算对数据变化的敏感性,使密码非线性打乱同步生成多个无规律唯一的混沌密钥集,加强了似混沌加密处理后密文数据的灵活性,形成了实时性强、可靠性高的一系列特色。
(2)提出一种新的似混沌加密发明对文件进行加密。由于具有似混沌特性,使得局部选取的混沌密钥集在分布形态上都与整体相似。而且产生的似混沌密钥分布上不符合统计学原理,难以重构和预测,即使攻击者已经掌握了混沌序列的方程,也难以猜测决定混沌序列的参数及初始值。而且本发明使用混沌系统产生的无理数序列进行异或,可以很好的隐藏明文信息,无法预测的混沌序列可以保证算法的安全性完全寓于密钥中。如果攻击者使用爆破的形式解密文件,即使是与正确的密钥只有很小的差距,解密所得到的明文也与真正的明文有着非常大的差距,无法从中获得任何关键信息,使明文的保密性大大增强。
(3)基于混沌理论的选择加密方法,只加密文件的数据部分,而不破坏文件的格式,较好的解决了文件打开失败或者是格式上不兼容的问题。经过软件测试结果表明,本发明不仅具备了一般加密锁的基本技术指标,能够基本上保护个人PC文件的安全;而且采用透明加解密技术对数据进行强制加密,不改变用户原有的使用习惯,保护用户隐私,对数据的保护更为有效。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种具有似混沌特性的文件加密方法,其特征在于,其步骤如下:
步骤一:读取待加密源文件M的内容作为明文数据,基于无理数DES算法把明文数据进行分组并与密钥块进行迭代加密,迭代加密后的密文通过循环移位和置换得到明文加密信息;
步骤二:采用SM3杂凑算法把用户输入的密码预处理生成数字摘要,以E为底做自然对数经过多重无理数异或运算将数字摘要生成无理数混沌密钥集;
步骤三:把无理数混沌密钥集中的无理数密钥分别与步骤一得到的明文加密信息再次进行循环加密,构造出具有似混沌特性加密的环境,并加入验证信息组合文件,产生密文文件。
2.根据权利要求2所述的具有似混沌特性的文件加密方法,其特征在于,所述基于无理数DES算法在DES算法的基础上增加了无理数异或的操作,把密钥和无理数序列进行移位或者异或处理;实现方法为:
(1)设DES原密钥K的长度为64位;
(2)产生64位随机数b;
(3)将DES原密钥K与随机数b进行按位异或运算,生成64位密钥。
3.根据权利要求2所述的具有似混沌特性的文件加密方法,其特征在于,所述步骤一中明文加密信息的获取方法是:
步骤1:以字节输入流的形式读取待加密的源文件M的内容作为明文数据,根据DES算法将明文数据进行IP置换映射成一个64位的分组,并把置换后的数据分为L0和R0两部分;
步骤2:利用轮函数f变换对置换后的两部分数据L0和R0进行16轮的变换,在每一轮的轮函数f变换中,使用不同的子密钥,最终生成数据L16和R16
步骤3:将数据L16和R16组成64比特作为输入块,进行IP逆置换得到最终的密文。
4.根据权利要求3所述的具有似混沌特性的文件加密方法,其特征在于,所述IP置换把明文数据按位重新组合进行置换,把置换后的数据分为L0和R0两部分;IP置换是将输入的64位数据块的某一位放到新数据的其他位,依此类推,即将输入的64位明文数据的第1位置换到第40位,第2位置换到第8位,第3位置换到第48位,以此类推,最后一位是原来的第7位;其中,L0是置换后的数据的前32位,R0是置换后的数据的后32位;所述IP逆置换是IP置换的逆运算。
5.根据权利要求3所述的具有似混沌特性的文件加密方法,其特征在于,所述子密钥是由64位密钥经密钥置换产生的16轮48位密钥;所述轮函数f变换经过一个异或运算并和左半部分结合形成新的右半部分,原来的右半部分成为新的左半部分;轮函数f变换的具体过程如下:
Figure FDA0002258737830000021
其中,⊕为异或运算,Ki是向第i层输入的48位的密钥,i=1,2,...,16,Li和Ri分别是第i轮置换的左半部分和右半部分数据,Li-1和Ri-1分别是第i-1轮置换的左半部分和右半部分数据;
所述轮函数f变化由四步运算构成:密钥置换置换生成16个子密钥Ki,i=0~16;扩展E置换将数据的右半部分从32位扩展到48位;将扩展后的右半部分分别与子秘钥进行异或运算通过后经过S-盒代替得到32比特输出;P-盒置换将每一位输入位映射到输出位,与左半部分Li-1异或运算,左右两部分交换将右半部分Ri-1作为左半部分Li
6.根据权利要求5所述的具有似混沌特性的文件加密方法,其特征在于,所述轮函数f变换的工作方法是:
1)、将DES算法的初始64位密钥通过置换选择PC-1表得到有效的56位密钥,将56位密钥分为2个28位数据C0和D0,C0=K57K49K41...K44K36,D0=K63K55K47...K12K4;将数据C0和D0分别循环左移1位或2位得到数据C1和D1,将数据C1和D1连接得到56位二进制C1D1=k1k2……k56;将二进制C1D1作为置换选择PC-2表的输入,按PC-2表的位置置换产生一个48位输出的子密钥K1,即为一个子密钥K1;经过PC-2表位置置换后的数据C1和D1再次经过循环左移变换,生成数据C2和D2,数据C2和D2合并,通过PC-2表生成子密钥K2;以此类推,得到子密钥K1~K16;所述PC-1表为置换选择表,64位输入块是D1~D64,经过PC-1表置换后是D57,D50...D4;PC-2表为置换选择表,先去掉56位的子密钥的第9、18、22、25、35、38、43、54位,从56位变成48位,48位输入块K1~k48经过PC-2表的位置置换后是k14、k17、k11...k32,则数据C1=k14,k17,...k2;数据D1=k41,k52,k31...k32
2)、通过扩展置换E把数据的右半部分Ri从32位扩展到48位,中间为32位,二边为扩展位;
3)、将扩展得到的数据和子密钥Ki进行异或运算处理后进行S-盒代替,8组4进制的结果值连接起来,得到32比特输出;
4)、将32位比特输出作为P-盒置换的输入块,将每一位输入位映射到输出位;经过P-盒置换的结果与最初64位分组的左半部分Li-1异或,然后左右两部分交换,将右半部分Ri-1作为左半部分Li,开始下一轮迭代。
7.根据权利要求1-6中任意一项所述的具有似混沌特性的文件加密方法,其特征在于,所述多重无理数异或运算是:把用户输入的密码S通过SM3杂凑算法生成的数字摘要值Y中相邻的两个杂凑数转化成10进制数Xe,1<e<16;其次,令Xe分别以E为底做自然对数运算并取小数点前16位为数据集He;最后,将H1与H16做异或运算,…以此类推,产生8组无理数混沌密钥组成无理数混沌密钥集。
8.根据权利要求7所述的具有似混沌特性的文件加密方法,其特征在于,所述SM3杂凑算法的实现方法为:
步骤1、令密码S的长度为l比特,将比特“1”添加到l的末尾,再添加k’个“0”,k’是满足l+1+k’≡448mod512的最小的非负整数;然后再添加一个64位比特串,该比特串是长度l的二进制表示,填充后的数据S′的比特长度为512的倍数,其中,l<264;
步骤2、迭代过程:将填充后的数据S’按每512bits进行分组,得到数据S’=B(0),B(1)......B(t-1),其中,大小t=(1+k'+65)/512;对数据S’进行迭代:
Figure FDA0002258737830000031
其中,CF()是压缩函数,V(0)为256比特初始值,V(j)和V(j)为迭代中的比特值,B(j)为填充后的消息分组,迭代后的结果为V(t)
步骤3、消息扩展:将消息分组B(j)按以下方法扩展生成132个字W0,W1,…,W67,W’0,W’1,…,W63
将密码分组B(j)划分为16个字W0,W1,…,W15
Figure FDA0002258737830000033
步骤4、压缩函数:A/B/C/D/E/F/G/H为字寄存器,SS1/SS2/TT1/TT2为中间变量,压缩函数V(i+1)=CF(V(i),B(i)),计算过程为:ABCDEFGH=V(i);FOR j=0 to 63;中间变量SS1=((A<<<12)+E+(Tj<<<j))<<<7;SS2=SS1^(A<<<12);中间变量TT1=FFj(A,B,C)+D+SS2+Wj';中间变量TT2=GGj(E,F,G)+H+SS1+Wj;D=C;C=B<<<9;B=A;A=TT1;H=G;G=F<<<19;F=E;E=P0(TT2);ENDFOR;输出结果为256bit杂凑值=ABCDEFGH。
9.根据权利要求1或7所述的具有似混沌特性的文件加密方法,其特征在于,所述步骤三中循环加密的方法为:8组无理数DES分组明文加密的密文分别与8组无理数密钥做循环异或操作,产生最后的加密文件;验证信息组合文件指待加密文件的后缀名信息。
10.根据权利要求9所述的具有似混沌特性的文件加密方法,其特征在于,采用了IND-CC安全模型,安全性建立在随机预言机基础上,规约到离散对数假设中,攻击者
Figure FDA0002258737830000034
和挑战者
Figure FDA0002258737830000035
进行如下交互游戏:
(1)初始化阶段:挑战者
Figure FDA0002258737830000041
输入密码S,运用SM3杂凑算法可以获取到密码信息的数字摘要Y,通过这个信息敌手
Figure FDA0002258737830000042
仅能推测出数字摘要Y是在随机预言机上均匀选取的一个随机杂凑值;
(2)训练阶段I:敌手向挑战者发出对密文C的解密询问,即取无理数DES算法产生密文C,解密并把它发给敌手
Figure FDA0002258737830000045
这一过程可重复多项式有界次;多项式表示无穷次代数计算;
(3)挑战:敌手
Figure FDA0002258737830000048
输出二个长度相等的明文M0,M1和挑战的密码C;但是密码S不在一阶段中任何测试中出现,挑战者随机选择一个比特值β←R{0,1},计算密文C*=ε(Μβ),并将密文C*发送给敌手其中,C*表示Μβ的密文,Μβ表示随机挑选的源文件,ε加密算法;
(4)训练阶段II:敌手
Figure FDA0002258737830000047
发出对密文C*产生的询问,规定S≠S*,挑战者以训练阶段I中的方式回应,重复多项式有界次;S*表示输入的密码;
(5)猜测:敌手输出猜测β'∈{0,1},如果β'∈β,则敌手攻击成功。
CN201911063986.6A 2019-11-04 2019-11-04 一种具有似混沌特性的文件加密方法 Active CN110677237B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911063986.6A CN110677237B (zh) 2019-11-04 2019-11-04 一种具有似混沌特性的文件加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911063986.6A CN110677237B (zh) 2019-11-04 2019-11-04 一种具有似混沌特性的文件加密方法

Publications (2)

Publication Number Publication Date
CN110677237A true CN110677237A (zh) 2020-01-10
CN110677237B CN110677237B (zh) 2020-10-30

Family

ID=69086078

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911063986.6A Active CN110677237B (zh) 2019-11-04 2019-11-04 一种具有似混沌特性的文件加密方法

Country Status (1)

Country Link
CN (1) CN110677237B (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112035854A (zh) * 2020-08-13 2020-12-04 南京低功耗芯片技术研究院有限公司 基于比特置换的循环移位和固定置换表的抗功耗攻击方法
CN112104450A (zh) * 2020-08-27 2020-12-18 广东技术师范大学天河学院 一种对称式数据加密方法、系统及电子设备
CN112311527A (zh) * 2020-09-17 2021-02-02 裴文耀 一种主密钥变换为多项式表格子密钥查表的加密方法
CN112667586A (zh) * 2021-01-26 2021-04-16 浪潮通用软件有限公司 一种基于流处理的数据同步的方法、系统、设备及介质
CN112994874A (zh) * 2021-04-19 2021-06-18 工业信息安全(四川)创新中心有限公司 一种基于消息鉴别码算法的保留格式加密方法及解密方法
CN113111366A (zh) * 2021-04-27 2021-07-13 陈华贤 一种无理数加密方法
CN113378204A (zh) * 2021-07-01 2021-09-10 广东工业大学 一种结合混沌和sm9的复合标识密码方法
CN112118097B (zh) * 2020-09-07 2021-10-08 昆明理工大学 一种对称密钥加密方法
CN113836553A (zh) * 2021-09-22 2021-12-24 北京计算机技术及应用研究所 一种密码算法动态重构的分布式存储数据保护方法
CN113922945A (zh) * 2021-08-27 2022-01-11 天津七所精密机电技术有限公司 一种基于关键信息的报文完整性认证方法
CN113965311A (zh) * 2021-10-19 2022-01-21 北京安御道合科技有限公司 一种实现格式保持加密的方法、系统、介质、终端及应用
CN114124348A (zh) * 2021-11-22 2022-03-01 南京信息工程大学 一种基于混沌轮编码的光接入加密方案
CN114666049A (zh) * 2022-03-25 2022-06-24 中金金融认证中心有限公司 一种用于加密明文数据的方法及其相关产品
CN115102752A (zh) * 2022-06-17 2022-09-23 一汽奔腾轿车有限公司 一种基于商用密码算法的汽车数据安全存储方法
CN115883052A (zh) * 2022-10-24 2023-03-31 鼎铉商用密码测评技术(深圳)有限公司 数据加密方法、数据解密方法、设备及存储介质
CN116796361A (zh) * 2023-03-15 2023-09-22 深圳优钱信息技术有限公司 基于国密散列函数的敏感数据脱敏方法
CN116886270A (zh) * 2023-09-05 2023-10-13 山东科技大学 一种基于国密算法与双混沌系统的三波段加密方法
CN117459322A (zh) * 2023-12-22 2024-01-26 济南工程职业技术学院 基于物联网的计算机软件数据加密方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101867471A (zh) * 2010-06-11 2010-10-20 南京邮电大学 基于无理数的des认证加密算法
CN106656459A (zh) * 2016-11-17 2017-05-10 大唐微电子技术有限公司 一种针对sm3‑hmac的侧信道能量分析方法和装置
CN107145802A (zh) * 2017-05-09 2017-09-08 郑州云海信息技术有限公司 一种bios完整性度量方法、基板管理控制器和系统
CN108270545A (zh) * 2016-12-30 2018-07-10 广东精点数据科技股份有限公司 一种基于移动互联网的改进的des数据加密算法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101867471A (zh) * 2010-06-11 2010-10-20 南京邮电大学 基于无理数的des认证加密算法
CN106656459A (zh) * 2016-11-17 2017-05-10 大唐微电子技术有限公司 一种针对sm3‑hmac的侧信道能量分析方法和装置
CN108270545A (zh) * 2016-12-30 2018-07-10 广东精点数据科技股份有限公司 一种基于移动互联网的改进的des数据加密算法
CN107145802A (zh) * 2017-05-09 2017-09-08 郑州云海信息技术有限公司 一种bios完整性度量方法、基板管理控制器和系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
刘长琦: "基于混沌序列的DES算法改进及实现", 《中国优秀硕士学位论文全文数据库》 *
王静等: "基于无理数的DES加密算法", 《南京邮电大学学报(自然科学版)》 *
赵志远: "面向云存储的密文策略属性基加密方案研究", 《中国博士学位论文全文数据库》 *

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112035854A (zh) * 2020-08-13 2020-12-04 南京低功耗芯片技术研究院有限公司 基于比特置换的循环移位和固定置换表的抗功耗攻击方法
CN112035854B (zh) * 2020-08-13 2024-02-23 南京低功耗芯片技术研究院有限公司 基于比特置换的循环移位和固定置换表的抗功耗攻击方法
CN112104450A (zh) * 2020-08-27 2020-12-18 广东技术师范大学天河学院 一种对称式数据加密方法、系统及电子设备
CN112118097B (zh) * 2020-09-07 2021-10-08 昆明理工大学 一种对称密钥加密方法
CN112311527A (zh) * 2020-09-17 2021-02-02 裴文耀 一种主密钥变换为多项式表格子密钥查表的加密方法
CN112667586B (zh) * 2021-01-26 2023-04-25 浪潮通用软件有限公司 一种基于流处理的数据同步的方法、系统、设备及介质
CN112667586A (zh) * 2021-01-26 2021-04-16 浪潮通用软件有限公司 一种基于流处理的数据同步的方法、系统、设备及介质
CN112994874A (zh) * 2021-04-19 2021-06-18 工业信息安全(四川)创新中心有限公司 一种基于消息鉴别码算法的保留格式加密方法及解密方法
CN112994874B (zh) * 2021-04-19 2021-07-27 工业信息安全(四川)创新中心有限公司 一种基于消息鉴别码算法的保留格式加密方法及解密方法
CN113111366A (zh) * 2021-04-27 2021-07-13 陈华贤 一种无理数加密方法
CN113378204A (zh) * 2021-07-01 2021-09-10 广东工业大学 一种结合混沌和sm9的复合标识密码方法
CN113922945A (zh) * 2021-08-27 2022-01-11 天津七所精密机电技术有限公司 一种基于关键信息的报文完整性认证方法
CN113836553A (zh) * 2021-09-22 2021-12-24 北京计算机技术及应用研究所 一种密码算法动态重构的分布式存储数据保护方法
CN113836553B (zh) * 2021-09-22 2023-10-20 北京计算机技术及应用研究所 一种密码算法动态重构的分布式存储数据保护方法
CN113965311A (zh) * 2021-10-19 2022-01-21 北京安御道合科技有限公司 一种实现格式保持加密的方法、系统、介质、终端及应用
CN113965311B (zh) * 2021-10-19 2023-09-08 北京安御道合科技有限公司 一种实现格式保持加密的方法、系统、介质、终端及应用
CN114124348A (zh) * 2021-11-22 2022-03-01 南京信息工程大学 一种基于混沌轮编码的光接入加密方案
CN114666049B (zh) * 2022-03-25 2024-02-20 中金金融认证中心有限公司 一种用于加密明文数据的方法及其相关产品
CN114666049A (zh) * 2022-03-25 2022-06-24 中金金融认证中心有限公司 一种用于加密明文数据的方法及其相关产品
CN115102752A (zh) * 2022-06-17 2022-09-23 一汽奔腾轿车有限公司 一种基于商用密码算法的汽车数据安全存储方法
CN115883052A (zh) * 2022-10-24 2023-03-31 鼎铉商用密码测评技术(深圳)有限公司 数据加密方法、数据解密方法、设备及存储介质
CN116796361A (zh) * 2023-03-15 2023-09-22 深圳优钱信息技术有限公司 基于国密散列函数的敏感数据脱敏方法
CN116886270A (zh) * 2023-09-05 2023-10-13 山东科技大学 一种基于国密算法与双混沌系统的三波段加密方法
CN116886270B (zh) * 2023-09-05 2023-11-21 山东科技大学 一种基于国密算法与双混沌系统的三波段加密方法
CN117459322A (zh) * 2023-12-22 2024-01-26 济南工程职业技术学院 基于物联网的计算机软件数据加密方法
CN117459322B (zh) * 2023-12-22 2024-03-08 济南工程职业技术学院 基于物联网的计算机软件数据加密方法

Also Published As

Publication number Publication date
CN110677237B (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
CN110677237B (zh) 一种具有似混沌特性的文件加密方法
AU702766B2 (en) A non-deterministic public key encryption system
Simmons Symmetric and asymmetric encryption
US5193115A (en) Pseudo-random choice cipher and method
Schäfer et al. Security in fixed and wireless networks
De Cannière Analysis and design of symmetric encryption algorithms
US20140112469A1 (en) Novel encryption processes based upon irrational numbers and devices to accomplish the same
CN108833390B (zh) 一种基于矩阵变换的分组物理层加密方法
US20020159588A1 (en) Cryptography with unconditional security for the internet, commercial intranets, and data storage
US8190892B2 (en) Message authentication code with blind factorization and randomization
JP4470135B2 (ja) 擬似乱数生成システム
CN115987490A (zh) 一种适用于arx结构的轻量级分组密码算法白盒化构造方法
Kadry et al. An improvement of RC4 cipher using vigenère cipher
Hwang et al. IAR‐CTR and IAR‐CFB: integrity aware real‐time based counter and cipher feedback modes
Simmons Symmetric and asymmetric encryption
Nakahara Jr Lai-Massey Cipher Designs: History, Design Criteria and Cryptanalysis
CN111835506B (zh) 基于一次使用密码本的信息安全数字加密方法
AU750408B2 (en) A method of combining a serial keystream output with binary information
Barrachina Rico Multiple encryption method for improving the security in communications
CN116796345A (zh) 加解密方法、装置、设备及存储介质
Al-Nemri et al. New Block Cipher Encryption Based On OTP Algorithm
Kushwah et al. Web Application Based Text Encryption
Sharp Cryptography
Simmons 10. Symmetric and
AU750323B2 (en) A method of generating a key for a public key encryption system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant