APP下载

自适应混沌数据加密机制

2022-11-01徐江涛高志远

关键词:明文字符串加密算法

张 磊 ,庞 科,徐江涛,高志远

(1. 天津大学微电子学院,天津 300072;2. 天津中德应用技术大学软件与通信学院,天津 300350)

随着信息时代的到来,各种形式的信息开始以数据方式进行表达和传递.这类数字数据往往容易受到攻击和伪造.如今,物联网等信息通信技术(information and communication technologies,ICTs)[1]已被引入智能远程测控系统.因此,以前独立运行的控制系统被集成到开放式体系结构环境当中,这使得它们也继承了信息和通信技术环境中所具有的安全漏洞这一遗留问题.例如,通过错误配置的安全设备对工业控制、物联网和其他智能网络的终端进行未经授权的远程访问,可能引发对智能系统的非法攻击[2-4]. 因此,保证控制信息的安全性是智能系统设计的关键.特别是在人工智能当中,大数据安全与以往相比,变得尤为重要,它不仅仅需要每一个用户自行进行加密以实现数据的安全保护,还需要保证数据的完整性以实现加密检索.

目前,加密方法通常用于保护敏感数据不被窃取或篡改.在众多的加密算法中,数据加密标准(DES)算法[5-6]是最常用的加密方法.在被宣布为美国加密标准后,DES算法被广泛应用于交通管理、物流管理、金融保险等领域.利用S盒技术,DES良好的不可计算性使其可以有效地对抗分析[7]和定时攻击[8]. 然而,随着计算机算力的不断发展,密码空间较小的DES算法在20世纪90年代末被攻破.2008年,基于FPGA的RIVYERA计算机平均只用了一天就破解了DES算法.这表明典型的DES算法已不再是一种安全的加密机制[9].目前,在安全关键领域,DES已经由高级加密标准(advanced encryption standard,AES)算法[10-11]、三重数据加密标准(three data encryption standard,3DES)算法[12]或非对称加密(rivest,shamir and adleman,RSA)算法[13]所取代.与传统DES算法相比,3DES算法通过多次迭代进一步增加了算法的复杂度,在一定程度上提高了加密数据的安全性.然而,在某些差分攻击下该算法同样不堪一击[14].AES算法采用256 bit密钥,大大提升了密码空间,因此其被暴力破解的可能性非常低.然而,随着计算机性能的显著提高,它的安全性也越来越变得令人怀疑.一些密码分析算法[15]提出它们只需要暴力攻击所需时间的1/5~1/3就可以破解AES的密钥.与对称加密算法相比,非对称加密算法的公钥加密消除了双方共享秘密信息的要求[16].然而,大多数非对称加密方法都是使用代数结构构建的,这需要大量的代数计算和复杂的算法.因此,由于RSA对密钥空间的静态扩展,当面临动态安全需求时,非对称加密的数据加密效率非常低[17].此外,由于素数生成技术的局限性,公钥的生成仍然比较繁琐,很难满足大数据时代“一次一密钥”的要求.因此,非对称加密方法不能应用于具有实时性和可扩展性的智能控制数据加密系统.近年来,针对不同的特定应用提出了许多改进的加密算法[17-23],如云计算[19]、云存储安全[18]、实时图像处理[21-22]和音频文件加密[20].这些加密技术是根据不同应用的数据特点而设计的.因此,它们以可扩展性差和适用性有限为代价获得高强度加密.相反,DES方法已经在许多领域被采用了20多年.其相应的硬件设备和管理软件更加成熟实用,具有坚实的应用基础和丰富的商业资源.因此,改进DES算法以保证其安全性、通用性和高效性,一直是智能控制系统研究中的一个关键挑战和研究热点.

本文提出了一种基于DES加密算法的混沌加密机制——自适应混沌DES加密机制(adaptive chaotic data encryption standard mechanism,AC-DESM).该算法具有良好的普适性,可以应用于任何规模的数据集和任何类型的应用.所提出的混沌加密机制在传统DES加密算法的基础上为用户提供了一组加密规则.根据加密规则,用户可根据具体应用定制随机字符串、随机系数、混沌位置函数以及混沌密钥4个混沌因子,从而为该应用程序生成唯一的加密方法.与现有的加密技术相比,所提出的混沌加密机制颠覆了传统加密技术的思想,自适应地考虑了加密者、攻击者和加密方法对加密强度的综合影响.AC-DESM加密技术具有良好的安全性和鲁棒性.此外,由于所提出的加密机制是基于DES算法的,因此与现有基于DES算法开发的软硬件设备具有良好的兼容性.

本文的其余部分组织如下.第1节描述了DES加密和解密算法的基本流程.第2节详细介绍了所提出的混沌加密机制.第3节进行了AC-DESM的安全性分析.第4节列出并分析了基于不同长度源文件的不同加密技术的实验对比.最后,第5节给出了本研究的结论.

1 DES算法分析

DES算法由国际商业机器公司(International Business Machines Corporation,IBM)与美国国家安全局(National Security Agency,NSA)合作开发,1977年由美国国家标准局发布为数据加密标准.由于使用了私钥,DES算法的加密和解密过程是完全对称的,这使它成为对称加密的一个典型例子.它将原始消息分成大小相等的块,并逐一加密.DES使用64 bit私钥将64 bit明文块加密为64 bit密文.

1.1 DES加密

DES算法的基本流程如图1所示.DES采用混淆和扩散的概念来增强安全性.明文的加密过程包括3个阶段:初始置换(initial permutation,IP)、16轮置换和替换操作以及初始置换的逆操作.经过这3个数据处理阶段,最后获得的输出是64 bit密文,如图1所示.

图1 DES算法的基本流程Fig.1 Basic algorithm flow of data encryption standard

第1个DES阶段称为初始置换IP,只执行一次.初始置换的输入是64 bit的明文.这一阶段主要是通过重新排列明文的bit来实现扩散.置换的输入被分为2个32 bit部分,即左部分和右部分,分别命名为L0和R0.

在第2阶段,有16轮相同的数据处理流程,包括扩展置换、和密钥的异或、S盒置换、P盒置换和将L0做输入的异或.每轮输出的左右32 bit部分交换,作为下一轮的输入.

最后,将16次迭代的输出作为初始置换的逆函数IP-1的输入.对输入进行排列即可生成64 bit密文.

1.2 DES密钥生成

DES算法中的密钥生成函数完全独立于密码函数.最初,密钥大小是64 bit,在移除所有奇偶校验位之后,即每8 bit移除1 bit(即移除第8、16、24、 32、40、48、56和64 bit),最终将密钥减小到56 bit.随后,将这56 bit的置换密钥等分成两个28 bit.每对28 bit的部分通过压缩P盒来形成每一轮的子密钥.

1.3 DES解密

由于DES是一种对称算法,因此具有相同密钥的DES的解密过程只是加密过程的逆过程.其解密很容易实现,只需颠倒子密钥的顺序即可.

1.4 DES算法安全性

如上所述,DES加密密钥的有效部分只有56 bit,则用于DES加密的56 bit密钥的可能组合只有256≈7.2×1016个.其密码空间很小.如果明文是可用的或可识别的,通过暴力攻击就可以破解密文.到目前为止,由于计算机处理速度和网络带宽的提高,DES不再被认为是一种安全的加密机制.

对DES算法常用的攻击包括密码破解,它试图轮询密钥的所有可能性并强行破解密码;另一种常用的破解DES的方法是数据包嗅探器,通过在用户计算机到服务器的传输过程中收集的相关信息来进行密钥破解.

2 基于DES的自适应混沌数据加密机制

本节主要介绍AC-DESM进行数据加密和解密的具体流程.由于DES算法的数据安全性完全依赖于密钥,因此密钥的生成是基于DES的自适应混沌加密算法的关键.改进后的混沌密钥具有计算量小、完全随机性好等优点,在抵抗暴力攻击、差分攻击、已知(密文)攻击和数据包嗅探器等方面取得了显著的进展.

2.1 混沌密钥

AC-DESM的混沌密钥由4部分组成,如图2所示.第1部分是随机字符串的长度c,它代表随机字符串的byte数目;第2部分是明文的长度n,它表示明文的byte数目;第3部分是随机位置系数m,它作为参数用于Liebovitch映射函数的计算,从而获得随机字符串的插入位置.因此,它也被称为位置系数;密钥的最后一部分是一个随机填充字符串,即rStr.8 bit十六进制数字“8′hFF”用于分隔密钥的各个不同部分.除明文的n外,其余3个部分可以完全由用户为每个明文随机指定.

图2 混沌密钥的格式Fig.2 Chaotic key format

密钥的第1部分是随机字符串的大小,由c表示.随机字符串由加密程序随机指定,可以根据Liebovitch映射函数的计算结果插入到明文的任何位置.它的大小c是不确定的,每次加密都是可变的.在这里,c被设计为可以在n2和2n+1之间进行随机选取,如式(1)所示.

这是因为,一个长度过小的随机字符串不能有效地增加原始文本的信息熵,而一个超大的随机字符串则以牺牲加密效率为代价提高安全性.因此,通过大量的实验和数据分析,该随机字符串长度大小的取值范围可以平衡有效性和加密效率.随机字符串的内容和长度都是变量,使得随机字符串具有较高的变异性,从而大大增加了密钥空间.此外,随机字符串的长度而不是随机字符串本身作为密钥的第1部分有助于有效避免嗅探攻击.用户可以根据应用程序设计出适合自己需求的随机字符串,并根据应用程序指定随机字符串的长度,从而自由地控制算法的复杂性和安全性.例如,随机字符串的长度可以设计为远远大于明文长度;然后,明文可以插入到随机字符串中,这可能会使攻击者误将随机字符串标识为明文.较长的随机字符串代表着密文安全性较高,相应地,其加密和解密时间也变得更长.

密钥的第2部分是明文的长度.该部分与随机字符串的位置配合,可以帮助加密者在明文中或随机字符串中确定插入位置,在解密过程中查找或删除随机字符串.此部分的长度(word)为常量,取决于当前需要加密的数据量.

第3部分是随机位置系数.该系数是用于计算与明文相混合的随机字符串位置的位置偏移系数.它的存在可以进一步提高技术的安全性,抵抗对密钥的暴力攻击.由于明文和随机字符串相对位置的随机性,随机位置系数是一个大小不确定的随机双浮点数. 第4部分是随机填充字符串,用rStr表示.为了使密钥符合标准长度,需要在密钥的末尾进行填充,使密钥长度为8 byte的整数倍数(8N byte,N是正整数),从而确保后续的DES加密所需的密钥能够满足算法的要求.通过在模“8”运算中叠加前3部分的总长度值和分隔符“8′hFF”,便可得到所需的随机填充字符串的大小.如果模数运算的结果不是“0”,这意味着当前密钥的大小不是“8”的倍数,必须执行随机填充字符串的自动填充,以确保密钥的大小达到N乘以8 byte.这里,随机填充字符串的内容是由系统随机生成的.

利用上述4个部分,系统就可以获得一个大小不确定、内容随机的密钥,满足8N byte长度要求.

在这里,随机串、随机位置系数、混沌映射函数和混沌密钥对混沌加密机制有着重要的影响,被称为混沌因子.任何混沌因子被攻击者获取都将大大增加混沌加密机制被破解的风险.从理论上讲,在这4个混沌因子中,随机串、随机位置系数和混沌映射函数都可以由用户自定义.但是,攻击者仍然可以通过分析用户的思维模式和行为习惯来破解该机制.因此,虽然本文所提出的混沌加密机制利用定制设计,提高了安全性,降低了分析可用数据破解机制的风险.然而,由于不安全的用户行为,混沌因子的安全性仍会不可避免地受到影响.

基于这些原因,密钥中被添加了随机填充字符串.现在混沌密钥被设计成由以下4部分组成:c、n、m和rStr,如上所述.这里,根据前3部分的长度生成一个随机填充字符串,通过填充随机位使混沌密钥的大小达到8 byte的整数倍.rStr的生成完全是随机的,没有可计算性和逻辑推理性.在这种情况下,攻击者即使获得密钥的前3部分,也无法通过计算或分析来破解密钥.rStr对于每个混沌密钥都是完全不同的和不规则的.每个混沌密钥的内容只能在其生成过程中确定.在此之前,没有人能够预测或计算一个特定混沌密钥的rStr的具体内容.这种设计进一步增强了AC-DESM的安全性,保证了攻击者即使公开了 用户定义的部分,也无法计算或分析特定加密的混沌密钥.

这构成了下文所述的N维DES加密和解密技术的核心.

2.2 随机串插入位置的计算

系统随机生成的随机字符串要被插入到明文中.明文中这个随机字符串被插入的位置称为插入位置p,是由Liebovitch映射函数生成的混沌序列的任何元素[24-25].

式中d1和d2是公式中的子区间端点,由用户自定义的特定公式生成,如式(6)所示.

索引k在本研究中采用的是明文长度n的最后一个byte.k的定义由加密者自主选择.

为了提高算法的效率,对嵌入明文的混沌码的位置进行了归一化处理.被插入的随机字符串或明文的长度设置为1.00,插入的明文或随机字符串所在的位置是介于0~1.00之间的浮点数.满足式(6)要求的任何函数都可用于生成参数d1和d2,用来计算一个随机插入位置.

利用混沌映射函数计算插入位置的方法大大提高了算法的安全性,使得除非攻击者可以在某一个特定加密中获得用来计算d1和d2的特定公式,否则根本无法定位明文中的随机字符串,进而无法正确地解析明文信息或将其伪装为有效信息来攻击网络终端设备.

混沌加密技术的设计模式是开放的,用户可以根据具体要求选择混沌因子.开放的混沌因子包括随机字符串的内容和大小以及计算混沌位置的函数,因此加密系统可以为特定应用而定制.

2.3 AC-DESM加密

AC-DES算法是在DES加密算法的基础上,将密钥截为N个8 byte的混沌子密钥,从而实现了N维DES加密.AC-DESM加密流程如图3所示.

图3 AC-DESM加密流程Fig.3 AC-DESM encryption flow

第1步是通过将随机字符串与明文混合,生成要加密的原文O.利用用户定义的明文长度n、随机位置系数m和混沌位置函数计算处插入的位置.按照所计算的位置,随机字符串被插入到明文中,或者,与之相反,将明文根据位置信息插入到随机字符串当中,以生成需要进行加密的原文O.生成的原文O就是N维DES加密的输入.

与此同时,对混沌密钥进行截取.DES算法需要一个8 byte的密钥.因此,必须将长度为8N byte的混沌密钥按照一组8 byte进行截取,截取出N个加密子密钥 {K1, K2,…, KN}.每个8 byte的子密钥 Kt(1 ≤t ≤N)被设置为某一个维度加密的密钥,t是一个正整数.

本研究采用顺序截取模式,从左到右依次截取混沌密钥生成加密子密钥集,从右向左生成解密子密钥集,如图4所示.用户也可以根据需要自定义密钥截取方法.

图4 混沌密钥截取算法示意Fig.4 Schematic diagram of chaotic key interception

随后,就是利用所产生的原文O和混沌子密钥集 {K1,K2,…, KN}进行N维DES加密.对于第t维DES加密而言,t-1维的加密输出Ct-1是当前维度加密的输入,利用相应的子密钥Kt作为DES密钥进行第t维DES加密,从而生成新一个维度的密文Ct.而Ct将作为第t+1维加密的原文Ot+1.以此类推,最后所得到的密文C是第N维DES加密的结果.

经过N次DES加密后,最后得到的密文C具有更高的安全性.如果截取方法不同,对于攻击者来说,即使获得了密文和混沌密钥,也无法确定每个维度加密对应的子密钥,即使使用云计算资源也无法破解密文.

作为一种加密技术,AC-DESM结合了封闭性和开放性的优点,提出了一套混沌加密规则.遵循这些规则,用户可以设计专属的特定加密算法来满足特定需求,而不是遵循固定的模式.加密规则对所有人开放;然而,随机位置系数、混沌位置函数和随机字符串都是用户自己定制的.例如,对于混沌位置p,开发者可以采用符合规则的任意两个变量函数来生成参数d1和d2.因此,用户定制的每一种特定的加密算法都是世界上唯一针对用户的具有自身混沌位置函数的加密算法.这种用户专属的加密属性对于大数据时代的信息安全格外重要.因此,对于AC-DESM加密技术,密文和混沌密钥均可以公开传输.由于混沌位置函数的私密性和独立性,攻击者即使收集到密文和混沌密钥,了解AC-DESM加密技术的规则,也无法破解密文.此外,密文C是N维DES加密的产物.每个维度的解密都代表了计算资源的指数级消耗.这对于攻击者来说,即使有计算机辅助也并不容易实现.

AC-DESM加密算法的伪代码如下所示.

2.4 AC-DESM解密

AC-DESM解密流程与AC-DESM加密流程相反.解密过程一般包括3个部分:解析混沌密钥、对接收到的密码文本进行N维解密、在解密后的原始文本中定位并去除随机字符串.AC-DESM解密流程如图5所示.

图5 AC-DESM解密流程Fig.5 AC-DESM decryption flow

2.4.1 混沌密钥的解析

在解密端获得混沌密钥后,可以从字符串“8′hFF”分隔的密钥中提取出随机字符串的大小、随机位置系数以及明文的大小.混沌位置的计算方法与加密过程相同.这是在为获得原始文本O之后从其中移除随机字符串做的准备.

由于计算参数d1和d2的函数是由加密者或解密者或两者共同定义的,攻击者即使成功获得混沌密钥及其组合规则,也无法知道如何计算插入位置从而破解密文.

2.4.2 N维解密

AC-DESM加密是一个N维DES加密,其加密密钥是从混沌密钥截取的一系列加密子密钥{K1, K2,… , KN}. 那么作为加密的逆过程,解密也是一个N维DES解密过程.通过反向截取混沌密钥,生成N个8 byte的解密混沌子密钥 {K1′ , K2′ ,…, KN′ },从而实现N维DES解密.与N维DES加密不同,第t维解密的密文输入是第t-1维解密的原始文本Ot-1.在N维DES解密完成后,将获得预期的原始文本O,即N维DES解密的结果,如图5所示.

2.4.3 随机字符串的移除

根据第2.4.1节所计算的插入位置,就可以在原文中定位与明文混合在一起的随机字符串.如果计算的位置为p,则从位置p开始进行删除,随机字符串的大小在第2.4.1节混沌密钥解析中获得,即可 通过从原始文本中删除随机字符串来获得最终的 明文S.

即使随机字符串的大小和位置被破解,原文O也被解密,除非攻击者能够捕获混沌位置函数,否则也无法破解密文.这是因为即使得到了混沌位置,也需要破解混沌位置的完整计算规则才能完整地从原文O中剔除随机字符串.混沌位置函数可以隐藏在服务器端,不需要同密文和混沌密钥一起进行传输,因此攻击者无法获得.由于随机串的存在,用户可以根据需要定制随机位置系数和混沌位置函数,因此即使在一种应用场景下,AC-DESM加密算法因为攻击者获取了该应用场景下的混沌位置函数而被破解,攻击者也只能在该应用场景下破解AC-DESM加密算法.在其他应用场景下由于用户可以采用不同的混沌位置函数,因此,攻击者依然无法在其他应用场景下破解AC-DESM加密算法.AC-DESM为用户提供一种加密机制,基于该加密机制,用户可以根据自己的应用需求创建自己独特的加密算法.

AC-DESM解密算法的伪代码如下.

2.4.4 AC-DESM的自适应性

随机字符串的插入位置是由混沌位置函数式(2)和式(3)确定的.在混沌密钥中,n和m是式(2)和式(3)的初始参数.随机位置系数m以及2个混沌位置函数f1和f2可以由用户自己定义.这里给出的式(2)只是一个参考函数.本文的混沌加密机制允许用户根据具体需求定制和开发混沌映射函数.式(3)比较灵活,只要函数的取值范围在0~1之间,用户可以根据自己的需求进行定义.因此,在理论上,ACDESM并没有采用固定插入策略的设计方法,而是在使用AC-DESM时,通过定义混沌因子,由用户自定义插入策略,建立自己独特的混沌加密算法.利用用户自定义的混沌位置函数和随机位置系数m,用户可以计算出随机字符串在明文中或明文在随机字符串中的插入位置.插入位置可以是一个或多个,这是根据用户定义的混沌位置函数来确定的.

基于AC-DESM,用户可以通过自定义混沌位置函数获得唯一的插入位置,进而建立唯一的混沌加密算法.该混沌加密机制具有良好的适应性和可扩展性.一方面,AC-DESM的开放式设计思想为用户提供了一种设计模式.用户可以根据自己的需求选择混沌因子,根据混沌加密规则定制自己独特的混沌加密算法.另一方面,AC-DESM加密机制是闭合的.用户不能修改系统的加密和解密机制.所有混沌因子的设计都必须符合混沌加密机制的规则.因此,所提出的AC-DESM算法能够很好地保证混沌加密算法的安全性.插入位置只有用户自己知道.用户可以在不同的加密阶段、不同的加密时间、不同的加密频率、不同的加密场景中使用不同的混沌位置函数.即使破解者破解了其中一个加密算法,也无法根据可用信息推断出其他加密算法.这种设计思想大大增加了破解的难度,提高了混沌加密算法的安全性.

与插入位置设计类似,AC-DES中的随机字符串的设计也是基于开放设计的概念.随机字符串可以由用户定义.用户可以根据自己的具体需求设计各种类型的随机字符串,从而提高了根据应用场景设计的混沌加密算法的安全性和效率.随机字符串的大小可以决定性地影响混沌加密算法的安全性和效率. 为了进一步提高算法的安全性,所提出的ACDESM算法允许用户在8 byte的N维加解密过程中自定义混沌密钥截取算法.根据用户定义的加密算法,每个DES加密结果根据子密钥的不同截获位置而不同.用户定义的拦截算法需要两个条件.首先,它每次必须截获8 byte,这是DES的基本要求.因此,对于每个维度的DES加密和解密,必须使用8 byte作为最小截取单元.其次,截取算法应该具有截取顺序的可逆性.在加密过程中,根据算法顺序进行截取,解密过程需要按照加密的相反顺序进行截取,因此,用户需要提供截取顺序相反的截取算法.

3 AC-DES机制的安全性分析

本文从密钥空间、密钥敏感性、统计分析以及差异分析4个方面对AC-DES加密机制的安全性进行分析.

3.1 密钥空间

在公开密钥加密技术中,密钥空间必须足够大,才有可能避免暴力攻击[26].密钥空间是用于执行加密操作的密钥数[27-28].为了抵抗具有高效并行处理能力的现代计算机所进行的暴力攻击,算法的密钥空间必须大于2128[27,29],即加密及解密密钥的大小必须超过128 bit.AC-DES加密机制的密钥空间取决于随机字符串的长度c、明文的长度n、随机位置系数m和随机补码字符串的大小.

因此,所提出的AC-DES机制的密钥长度为

式中r表示随机补码字符串的长度.根据它的定义,r必须介于0~64之间.考虑到最坏的情况,r=0,这意味着式(4)的前3项长度之和正好是64的倍数. 随机位置系数是一个双精度浮点数,其位宽为64 bit.

从而,可以得出,密钥的可能性为

式中bc、bn和br分别表示随机字符串、明文和随机补码字符串的bit数目.基于式(1)中对于随机字符串长度c的定义,可以看出,随着明文长度的增长,密钥的可能性将大幅增加.从式(8)可以明显看出,如果明文和随机字符串的大小之和大于64 bit (8 byte),则该机制的密钥空间就能够大于2128,因此所提出的AC-DES加密机制很容易满足密钥空间的要求.

3.2 统计学分析

AC-DES加密机制的密钥的长度被定义为8 byte的整数倍.倍数N设置为

从式(8)中,可推导出倍数N为

很明显,N几乎完全取决于随机字符串和明文的大小.对于不同的明文,它们的长度和插入的随机字符串是不同的,因此攻击者无法从以前的案例中确定本次加密中N的大小.

传统DES算法的复杂度设定为O(DES).在DES加密的N次迭代之后,所提出的AC-DESM加密机制的算法复杂度表示为

与传统的DES算法相比,AC-DESM算法复杂度呈指数增长,能够非常有效地抵抗暴力攻击.

3.3 香农熵

对于一个非线性系统,算法的加密质量一般用加密信息的香农熵来进行评价.香农熵[24]是信息随机程度的度量.n byte的文本的香农熵为

式中P(wi)是文本中一个词汇的出现概率.

在自然语言的演化过程中,产生了语义和语境的特征.当计算机解码时,通常是通过统计语言模型来进行语义识别的.所得到的句子是否合理取决于它的可能性的大小.

假设S代表一个有意义的句子,它由一系列单词w1,w2,…,wn按特定顺序组成.组成这个句子的长度是n,则S在原文中出现的概率为P(S).

根据条件概率公式,S的概率等于每个词的条件概率的乘积.因此,P展开为

根据马尔可夫假设,每个词出现的概率仅与前一个词有关,与其他词无关,则P(S)可以进一步简化为

条件概率定义公式为

式中P(wi-1,wi)和P(wi-1)分别是联合概率和边缘概率.

根据大数定律,当统计数据量足够大时,统计概率就等效为条件概率,即

式中k(wi-1,wi)、k(wi-1)和k分别表示wi-1和wi在文本中一起出现的次数、wi-1出现的次数和原文的总词汇量.

当在明文中随机插入随机字符串时,明文的上下文将被破坏.在明文中同时出现的相关词构成有意义句子的概率大大降低,进而导致P(S)被大大降低.此外,插入随机字符串的原文的大小也显著增加. 这2个变量使得大数定律成立的条件被击倒,开始受到原文总词汇量的影响,不再等于相对频度,使计算机识别几乎成为不可能.因此,当上下文之间的关联跨度过大时,计算机无法识别一个有意义的句子.这确保了即使攻击者通过暴力攻击获得原文,也无法删除没有密钥的随机字符串,从而无法从原文中获取有效信息.此外,较小的P(wi)会导致较大的香农熵,这意味着即使存在长距离依赖,统计攻击也变得几乎是不可能的.

3.4 周期分析

在进行随机字符串插入位置生成的混沌映射计算中,二维参数d1和d2是由不同的用户定义函数提供的.

Liebovitch映射是一种典型的混沌映射.其结果仅对初始条件敏感,即参数d1和d2.该映射具有良好的随机性、长期不可预测性和普适性.只要d1和d2的值不同,得到的混沌序列就是完全不同的.此外,插入位置的最后确定还取决于当前明文大小(索引是n的最后一个byte),根据明文长度值的最后一个byte来决定从混沌映射结果序列中选择其中一个作为插入位置.因此,选择哪一个结果作为特定明文的插入位置是完全随机的、非周期的和非收敛的.

考虑到所有这些因素,特定明文的随机字符串的插入位置是唯一的,并且与另一明文不相关,因此,它对周期分析攻击有很高的抵抗力.

4 实验和分析

在本节中对所提出的AC-DESM加密技术进行了两组实验.第1组是评估随机字符串和明文的长度对算法效率和鲁棒性的影响.这组实验被用来评估随机字符串和明文的不同长度比例对加密和解密时间以及系统性能的影响.第2组实验主要是通过加密不同长度的明文来比较所提出的技术与几种典型的加密技术的性能.

实验是在Java环境下进行的.所采用的电脑的中央处理器(central processing unit,CPU)为3.1 GHz的英特尔酷睿i7、内存为16 GB,开发环境是JavaJDK1.8.随机字符串和随机位置系数都是系统生成的随机数.实验中用于计算d1和d2的混沌参数函数定义为

式中:p表示混合在明文中的随机字符串的位置;n是明文的长度;m={m1,m2}是随机位置系数,m1是d1的输入,m2是d2的输入.对于d1和d2,相同的函数出现在不同的输入中,随机位置系数m由两部分组成:m1是m的高32 bit;m2是m的低32 bit.

4.1 随机字符串长度的影响

对于每个具有特定大小的明文,随机字符串与明文的长度比分别设定为1.5和2.0.明文的大小在1000~100000字之间,以1000为单位递进.根据明文和随机字符串的具体大小,进行了50次加密和相应的解密,记录每次加密和解密的时间,时间的度量单位是ms.

图6(a)显示了不同长度的明文和随机字符串的标准化平均加密时间和解密时间.为了便于比较不同长度的随机字符串的效果,对于每个固定大小的明文,将明文长度等于1000字时的平均加解密时间设置为1.00,其他情况下的平均值被归一化为该情况下相应结果的比率.

从图6(a)中可以清楚地看到,当随机字符串的长度与明文的长度成正比时,平均加密和解密时间随着明文长度的增加而增加.此外,随机字符串与明文的长度比越大,平均时间的增长率越大.这种趋势表明,对于相同长度的明文,AC-DESM技术的算法复杂度随着长度比的增加而增加.特别地,当长度比为2.0时,意味着随机字符串的长度是明文的2倍,平均解密时间的增长率显著高于平均加密时间的增长率.这意味着解密过程变得更加复杂,并且技术的安全性显著提高.

图6(b)显示了在特定的明文长度和特定的长度比例下,50次加密和解密时间的变化系数(coefficient of variation,CV).CV表示一个变量的标准差与均值的比值,通过计算CV来度量相对离散度,从而反映算法的鲁棒性.从图6(b)可以看出,随机字符串越长,AC-DESM的鲁棒性就越高.根据对所得数据的统计分析,对特定明文和特定长度的随机字符串的加、解密CV的数量统计如表1所示.对不同长度的明文和随机字符串总共做了800个加密和解密时间的标准差值.表1表明,CV≤0.1的次数超过85.3%.AC-DESM技术具有良好的稳定性.这意味着对于不同的明文和随机字符串,长度的变化不会导致CV产生大的波动,这确保了该技术的健壮性.

图6 不同随机插入码与明文长度比的AC-DESM加密及解密时间统计Fig.6 Statistics of AC-DESM encryption and decryption time with various size ratios of the random string to plaintext

表1 800个加密及解密时间的标准方差统计Tab.1 Quantity statistics of 800 standard deviation values of the encryption and decryption time

4.2 与其他加密技术的比较

在第2组实验中,使用100组不同长度的明文进行数据加密和相应的解密,评估了所提方法(ACDESM)的安全性能,每组有20次加密和20次相应的解密.一组的明文长度在1000~100000字之间,以1000字为单位依次递加.AC-DESM每次加密的随机字符串长度在1~32字之间随机变化.

为了评价系统的安全性能,采用加、解密时间作为衡量不同技术安全性能的指标之一.考虑到实验过程中的硬件效果以及系统和软件线程,每次加解密的实验结果都有一定的偏差.为了尽可能地消除这种影响,在相同的条件下,对每组进行20次加密和解密.为了提高分析的有效性和准确性,采用平均加解密次数作为每种长度的明文的有效加解密次数.此外,计算CV,即标准差与变量平均值的比值,以测量结果相对离散度,进而反映算法的鲁棒性.

在这项研究中,通过对不同长度的明文加密及解密,对3种最常用的加密技术,即DES、3DES和AES进行了性能对比.图7(a)、(b)分别描述了具有不同明文长度的不同加密技术的平均加密、解密时间及其对应的变化系数CV.为了定量比较不同加密技术的性能,表2~表5中列出了100种明文长度的部分实验结果,包括平均加、解密时间和CV.

表2 不同加密技术的平均加密时间Tab.2 Average encryption time of various techniques ms

表5 不同加密技术的解密变化系数Tab.5 CV of decryption of various techniques

图7 不同加密技术下加密及解密时间统计Fig.7 Statistics of encryption and decryption time of various techniques

这些结果清楚地表明,AC-DESM算法的平均加、解密时间明显高于其他算法.因为算法复杂度的显著提高,AC-DESM以较长的数据处理时间为代价提供了更好的安全性.此外,较低的变化系数使得AC-DESM的鲁棒性与DES相当.实验结果和结果分析有效地验证了该加密技术的有效性和鲁棒性.因此,AC-DESM能够满足高安全性和稳定性的要求,能够为各种长度的数据提供更好的加密.

表3 不同加密技术的加密变化系数Tab.3 CV of encryption of various techniques

表4 不同加密技术的平均解密时间Tab.4 Average decryption time of various techniques ms

5 结 语

本文讨论了人工智能及大数据安全领域的核心问题:数字数据的加密和解密,提出了一种全新的可定制加密机制来实现各种应用中的数字数据加密.此外,本文还建立了一套混沌加密规则,帮助加密者定制自己独特的混沌因子,进而构建自己专属的混沌加密算法.通过定制随机字符串、随机位置系数、混沌位置函数和混沌密钥,加密者可以在使由混沌因子计算所得到的位置将随机字符串与明文混合,并进行N维DES加密生成密文.与传统的加密技术只关注加密本身的强度不同,AC-DESM通过建立混沌加密规则将加密者和攻击者一起集成到加密当中.通过定制混沌加密的混沌因子,加密者可以很容易地开发出自己的混沌加密算法;由于这种定制,当前算法即使被破坏了,也同样可以通过全新的混沌因子定制来避免下一次的加密被破解,其安全性对攻击者具有良好的鲁棒性,显著提高了混沌加密的安全性.混沌加密的高鲁棒性使得该机制适合于抗干扰要求高的应用.与此同时,实验数据也表明,由于DES的加解密效率较低,基于DES的混沌加密机制的加解密效率较低.为了克服这一问题,下一步的工作就是提高混沌加密机制的效率,进一步完善该机制的开放创新模型,兼容更高效安全的加密技术,实现在各种应用场景下的最优加密性能.

猜你喜欢

明文字符串加密算法
奇怪的处罚
一种基于PowerBuilder环境字符串相似度算法
教育云平台的敏感信息保护技术研究
SQL server 2008中的常见的字符串处理函数
倍增法之后缀数组解决重复子串的问题
一种改进的加密算法在空调群控系统中的研究与实现
基于Jave的AES加密算法的实现
奇怪的处罚
最简单的排序算法(续)