本发明专利技术提供了一种32比特分组长度的轻量级加密解密方法。将加密过程中32比特明文分为4个字节;对于前8轮和第9轮分别设置相应密钥;使明文经过8个轮变换,在8个轮变换之后第8轮输出的左边不需要进行再经过最后一个输出变换,得到输出密文。按照与加密过程相对应的方式进行解密过程,其中使得每轮输出的左边两个字节的变换位置。在密钥调度过程生成68个子密钥。
【技术实现步骤摘要】
本专利技术设及信息安全
,更具体地说,本专利技术设及一种32比特分组长度的 轻量级加密解密方法。
技术介绍
随着信息技术的发展,信息安全性的问题却愈来愈显得突出,保证信息安全的一 个重要技术就是密码学。密码学在信息安全技术中扮演着基础的角色,是攻击者最难攻破 的模块。而分组密码又是密码学中最常用的算法,是信息安全中的主力,通常称为信息安全 中的释马。目前学术界对分组密码的设计和研究已经相当成熟,每年都有很多新的加密算 法推出。由于物联网等相关技术的进步,人们发现传统的加密算法已经在资源受限的环境 中无法得到的广泛应用,因此,对资源消耗较少、实现效率较高的轻量级密码算法的设计已 经成了学术界关注的热点。 对于轻量级密码算法的设计,目前常用的算法的长度都是64比特长度的,例如 PRESENT、LBlock等,64比特的密钥长度,穷举攻击需要264次加密过程,对于非政府或军事 组织来说还是很难破译的。例如,为了攻击64比特的RC5算法,dis化化Uted. net花了4年10 个月的时间,使用了7万台计算机才能恢复其密钥。所W,目前的64比特密钥的算法对于抵 抗个人和小规模组织的攻击还是能够提供一定的安全性。 目前已有的轻量级算法主要采用Feistel结构及其扩展和SPN结构(代换置换网 络),如PRESENT采用代换置换网络结构,LBlock主要采用的是Feistel扩展结构等。除了 FeiStel结构和SPN结构外,还有一类比较成熟的分组密码设计结构Lai-Massey结构,W IDEA,FOX算法为代表。其中IDEA是一个饱经考验的密码,在经过20多年的密码分析过程中, 最好的结果是最近提出的Biclique攻击方法将攻击复杂度降低到穷举攻击复杂度的1/4, 而且对于Biclique攻击,AES算法也不能幸免。所W ,IDEA算法还是一个很安全的算法。 IDEA算法是一个比较特殊的算法,其安全性建立在S个不相合的代数群运算上。 其主要运算是对16比特的数据块进行异或,模21巧日法,模2^+1乘法运算,由于运=个运算 彼此在不同的代数群上,结合律,分配律均不使用,从而使得IDEA算法的混淆速度非常快, 在经过4.5轮迭代后IDEA算法就能抵抗差分分析攻击。但IDEA算法的缺陷是其密钥调度过 于简化,仅仅是简单的线性移位,目前所有对IDEA的攻击都是利用其密钥调度的缺陷。 原始的IDEA算法的上层结构并不具有理论意义上的伪随机性,所WVaudenay对 IDEA算法的结构进行了微小的改动,添加了一个正交置换,从而使其具有理论意义上的伪 随机性,并且将此结构称为Lai-Massey结构,该结构被证明是经过3轮后具有伪随机性,4轮 后具有强伪随机性的。
技术实现思路
本专利技术所要解决的技术问题是针对现有技术中存在上述缺陷,提供一种能够可证 明安全性、并且使得目前已有对IDEA算法的攻击都无效的易于实现的加密算法。其中,本发 明基于IDEA和Lai-Massey结构设计了一个32比特分组长度、64比特密钥长度的分组密码的 加密解密算法。 具体地,为了实现上述技术目的,根据本专利技术,提供了一种32比特分组长度的轻量 级加密解密方法,包括: 加密过程:将加密过程中32比特明文分为4个字节Xl、X2、X3、X4;对于パ9,设置第r 轮的密钥为KiT,......,K/,而且设置第9轮的密钥为Ki9,......,K49 ;使明文经过8个轮变换,在8 个轮变换之后第8轮输出的左边不需要进行再经过最后一个输出变换,得到输出密文Yi、Y2、 &、Y4; 解密过程:按照与加密过程相对应的方式进行解密过程,其中使得每轮输出的左 边两个字节的变换位置,同时将W下面的方式计算解密密钥kiT:化 lr,k2r,k3r,k/) = (K^(…-r),-K2(…-r),-K3(…-r),K4-(…-r)),当r=l,..,9; (k5r,k6r) = 化5r,K6r),当r=l,..,8; 密钥调度过程:密钥调度将64比特的主密钥分为8个字节Ki, ..,K8;设置第一轮子 密钥为化iT,. .,K/) =化1,. .,Ks)。 优选地,在密钥调度过程中,若第r轮子密钥为化. .,K/),则第轮的子密钥 由第r轮子密钥通过作如下变换生成:),其中 Primes是小于整数256的54个素数集合,初始第I轮设置i = 0,后面每运行一次乘法操作后 将i递增; 第二步骤:使r+1轮子密钥化1^,..,齡+1)循环左移一个字节; 而且,重复第一步骤和第二步骤8次,然后再将r+1轮子密钥循环左移13比特,一直 到生成了 68个子密钥为止。 综上所述,本专利技术的加密算法是对32比特IDEA算法版本的改进,在轮函数中增加 了正交置换,从而使得结构具有可证明安全性,同时采用了 IDEA算法中良好的乘法加法混 淆模块,增加了算法混淆性,并且修改了密钥生成算法,避免了线性密钥调度过程,从而使 得最新的Biclique攻击对本专利技术的加密算法不成立。在软件实现上,本专利技术的加密算法算 法比其他大多数32比特分组算法要快很多,只比美国国家安全局最新设计的SIMON和S阳CK 慢40%左右。在硬件实现上,本专利技术的加密算法也非常容易。考虑到美国国家安全局设计的 算法目前还未被验证具有良好的安全性,所W本专利技术的加密算法是一个有利的32比特分组 长度的候选分组密码算法。【附图说明】 结合附图,并通过参考下面的详细描述,将会更容易地对本专利技术有更完整的理解 并且更容易地理解其伴随的优点和特征,其中: 图1示意性地示出了根据本专利技术优选实施例的本专利技术优选实施例的32比特分组长 度的轻量级加密解密方法的示意图。 需要说明的是,附图用于说明本专利技术,而非限制本专利技术。注意,表示结构的附图可 能并非按比例绘制。并且,附图中,相同或者类似的元件标有相同或者类似的标号。【具体实施方式】 为了使本专利技术的内容更加清楚和易懂,下面结合具体实施例和附图对本专利技术的内 容进行详细描述。 本专利技术提供了一种32比特分组长度的轻量级密码算法,该算法设计了一个32比特 分组长度,64比特密钥长度的分组密码的加密算法。该算法基于IDEA和Lai-Massey结构,对 IDEA算法的32比特版本的轮函数进行了修改,添加了正交置换,使得其具有可证明安全性, 并且修改了密钥调度过程,从而使得目前已有对IDEA算法的攻击都对本加密算法攻击无 效。本加密算法的软件实现非常简单,其速度要比目前已有的大多数32比特分组长度算法 要快很多,硬件实现也很简单,运使得本加密算法成为32比特分组长度轻量级分组密码中 有力的候选算法。 本专利技术的加密算法算法并非仅仅是IDEA算法的32比特版本,而是对其轮函数进行 了修改,添加了正交置换,并且修改了密钥调度过程,从而使得目前已有对IDEA算法的攻击 都对本专利技术的加密算法攻击无效。本专利技术的加密算法的软件实现也是非常简单的,其速度 要比目前已有的大多数32比特分组长度算法要快很多。 本专利技术的加密算法是一个32比特分组长度、64比特密钥长度的加密算法,其包括8 轮轮函数和一个输出变换,其基于IDEA算法,采用Lai-Massey结构,但是轮函数和密钥调度 过程都与ID本文档来自技高网...
【技术保护点】
一种32比特分组长度的轻量级加密解密方法,其特征在于包括:加密过程:将加密过程中32比特明文分为4个字节X1、X2、X3、X4;对于r<9,设置第r轮的密钥为K1r,……,K8r,而且设置第9轮的密钥为K19,……,K49;使明文经过8个轮变换,在8个轮变换之后第8轮输出的左边不需要进行再经过最后一个输出变换,得到输出密文Y1、Y2、Y3、Y4;解密过程:按照与加密过程相对应的方式进行解密过程,其中使得每轮输出的左边两个字节的变换位置,同时将以下面的方式计算解密密钥kir:(k1r,k2r,k3r,k4r)=(K1‑(10‑r),‑K2(10‑r),‑K3(10‑r),K4‑(10‑r)),当r=1,..,9;(k5r,k6r)=(K5r,K6r),当r=1,..,8;密钥调度过程:密钥调度将64比特的主密钥分为8个字节K1,..,K8;设置第一轮子密钥为(K1r,..,K8r)=(K1,..,K8)。
【技术特征摘要】
【专利技术属性】
技术研发人员:林智伟,罗宜元,陈炜家,徐禄丰,
申请(专利权)人:上海电机学院,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。