当前位置: 首页 > 专利查询>李勇周彭凯专利>正文

一种主密钥变换为多项式表格子密钥查表的加密方法技术

技术编号:27235999 阅读:20 留言:0更新日期:2021-02-04 12:05
本发明专利技术的目的是提供一种主密钥变换为多项式表格子密钥查表的加密方法,其特点在于将主密钥生成多项式静态表格,子密钥动态查表,包括密钥单元数据储存模块,数据寄存模块,数据加密模块,其中密码每次加密或解密一个字节,需要从子密钥中两次得到查表需要的多项式表格排列序号。具体实施方式为,主密钥生成多项式表格,初始化子密钥,循环加密或解密一个字节,子密钥更新,直到加密或解密结束。直到加密或解密结束。直到加密或解密结束。

【技术实现步骤摘要】
一种主密钥变换为多项式表格子密钥查表的加密方法


[0001]本专利技术涉及信息安全加密
,尤其是涉及一种主密钥变换为多项式表格子密钥查表的加密方法。

技术介绍

[0002]目前流行且经典的加解密技术是分组密码AES,AES分组字长是 16个字节(128位),密钥长度分为128位、192位和256位,对应的迭代分为10轮、12轮和14轮。
[0003]AES的缺点:
[0004]1).明文字长不是16的倍数时,需要填充至16的倍数,导致密文长度恒为16的倍数。当明文长度不是16的倍数时密文长度大于明文长度,在实际应用中不利于流文件的加密。
[0005]2).密钥长度长,迭代次数多,加密时间长;密钥长度短,短迭代次数少,加密时间短。
[0006]本专利技术的技术解决方案
[0007]密码密文长度恒等于明文长度,不需要填充,在实际应用中有利于流文件的加密。
[0008]本专利技术迭代次数恒为两次动态查表(等效为8次静态查表),因此加密时间的长短与密钥长度无关。
[0009]本专利技术主要解决了明文分组长度和密钥长度成正比的问题。
[0010]例如分组密码AES,分组字长是16个字节(128位),密钥长度分为128位、192位和256位,迭代分为10轮、12轮和14轮。
[0011]假若再增大密钥长度,那么分组长度和迭代次数都会随之增大,填充也会增大,加密速度会随着密钥长度的增加变得更慢。
[0012]本专利技术每次加密一个字节,即分组一个字节。如果按照分组密码设计,那么迭代次数会很大,速度会很慢,而且安全强度不够。如果按照流密码设计,会存在复杂的伪随机密钥流发生器等诸多技术问题。
[0013]另外,本专利技术效率高速度快的原因主要是:将类似AES密码的复杂的行列转换等复杂计算变换为查表计算,不但节省时间而且节省内存;单独算法的实质是流密码,并行组合可以得到分组密码,各单独算法都是互不相关的。
[0014]所以,本专利技术采用了创新的主密钥生成多项式静态表格,子密钥动态查表的设计,彻底解决了明文分组长度和密钥长度成正比的问题。

技术实现思路

[0015]本专利技术的目的是提供一种主密钥变换为多项式表格子密钥查表的加密方法,其特点在于将主密钥生成多项式静态表格,子密钥动态查表,包括密钥单元数据储存模块,数据寄存模块,数据加密模块,其中密码每次加密或解密一个字节,需要从子密钥中两次得到查表需要的多项式表格排列序号,具体方法步骤为:
[0016]进一步地,主密钥生成,配置信息包括j-1位CRC8初始值,其中并行迭代模块包括i*j个迭代单元;第i-1行第0列迭代单元用于接收所述信息字段中对应位的信息值;第0行第j-1列迭代单元用于响应时钟信号,根据所述CRC8初始值及生成多项式中对应次幂的系数,计算出第0行第j-1列迭代单元的输出值;第i行第j列迭代单元用于响应所述时钟信号,根据第i-1行第j-1迭代单元的输出值与生成多项式中对应次幂的系数,计算出第i行第j列迭代单元的输出值,i 与j皆为正整数,CRC8生成多项式表格密码采用CRC8可逆的多项式静态表格,即CRC8明文和密文都是一个字节,所以有192个多项式是可逆的,64个多项式是不可逆的;
[0017]进一步地,初始化子密钥;
[0018]进一步地,在数据寄存模块中循环加密或解密一个字节;
[0019]进一步地,子密钥在数据加密模块更新;
[0020]进一步地,密钥于储存模块运行直到加密或解密结束;
[0021]以上加密运算步骤均所用CRC8多项式可逆运算
[0022]进一步地,所述步骤S4,S5中子密钥两次加密过程中,数据储存模块内的子密钥由数据加密部件中获取。
[0023]进一步地,在步骤S1中,所述主密钥由使用者自行设定范围在 16-256字节,然后通过可逆的CRC运算生成多项式静态表格。其中,所述主密钥和多项式表格是等价的。如果在嵌入式领域应用,在直接提供多项式表格的情况下可省略多项式表格的生成过程。
[0024]进一步地,在数据寄存模块中所述多项式静态表格由16-256个字节组成,所述多项式静态表格是由主密钥连续的四个字节经过四次 CRC8运算的可逆运算得到。其中加密多项式静态表格和解密多项式静态表格互为逆表格,所述加密多项式多项式静态表格由CRC8运算的正运算得到,所述解密多项式静态表格由CRC8运算的逆运算得到。
[0025]进一步地,所述子密钥长度为32位四个字节,生成过程为输入,置换,输出,其中置换过程为查询多项式静态表格过程,每加密一个字节,需要两次置换过程。
[0026]进一步地,所述多项式静态表格可以压缩,压缩比为16:1,所述每个多项式静态表格占用16个字节。
[0027]进一步地,密码加密或解密一个字节时,采用子密钥二次查表,所述表格为四重多项式表格,并且在两次查表之间插入非线性盒计算,提高抗击差分攻击等各种攻击能力,加密或解密一个字节后,子密钥被更新并且环移。
附图说明
[0028]图1为本专利技术加密解密方法示意图。
具体实施方式
[0029]下面结合附图具体介绍本专利技术
[0030]根据附图1本专利技术加密或解密需要两轮置换,两轮之间插入非线性S盒以便提高应对各种差分攻击。
[0031]32位子密钥分为四个字节,分别为输入、置换1(查表1)、置换2(查表2)、输出。置换1(查表1)和置换2(查表2)同时又提供256 个四重多项式置换表格的查表索引。
[0032]所以,FSP每个字节的安全强度是2
32
+256!(其中,!表示阶乘)。
[0033]每个四重多项式置换表格由四个字节密钥迭代产生,这在数学中是排列问题,即65536*65536=4294967296中取256,它的计算复杂度比256!要大很多,即FSP每字节的安全强度远远大于2
32
+256!。
[0034]由于本专利技术一次加密一个字节,无法与主密钥进行充分异或运算。如果采用多轮迭代,会使加密速度变得很慢。因此,本专利技术采用了与众不同的主密钥多项式静态表格,而子密钥动态查表的方式,充分发挥了分组密码多轮迭代和流密码伪随机密钥流的优点。
[0035]本专利技术主密钥多项式静态表格分为加密表格和解密表格,两个表格互为逆表格,表格的生成过程是CRC8的可逆运算。
[0036]在数学上CRC是不可逆的。但是,经过软件测试证明,在一定条件下,CRC是可逆的,不满足条件的CRC是不可逆的。
[0037]软件测试结果如下:
[0038]当CRC多项式中包含“+1”时,CRC可逆。否则不可逆。
[0039]在左移CRC中,多项式数字表达式(权值)最低位为“1”时(奇数), CRC可逆。
[0040]在右移CRC中,多项式数字表达式(权值)最高位为“1”时(负数), CRC可逆。
[0041]所以,多项式数字表达式本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种主密钥变换为多项式表格子密钥查表的加密方法,其特征在于将主密钥生成多项式静态表格,子密钥动态查表,包括密钥单元数据储存模块,数据寄存模块,数据加密模块,其中密码每次加密或解密一个字节,需要从子密钥中两次得到查表需要的多项式表格排列序号,具体方法步骤为:S1:主密钥生成,配置信息包括j-1位CRC8初始值,其中并行迭代模块包括i*j个迭代单元;第i-1行第0列迭代单元用于接收所述信息字段中对应位的信息值;第0行第j-1列迭代单元用于响应时钟信号,根据所述CRC8初始值及生成多项式中对应次幂的系数,计算出第0行第j-1列迭代单元的输出值;第i行第j列迭代单元用于响应于所述时钟信号,根据第i-1行第j-1迭代单元的输出值与生成多项式中对应次幂的系数,计算出第i行第j列迭代单元的输出值,i与j皆为正整数,CRC8生成多项式表格密码采用CRC8可逆的多项式静态表格,即CRC8明文和密文都是一个字节,故有192个多项式是可逆的,64个多项式是不可逆的;S2:初始化子密钥;S3:在数据寄存模块中循环加密或解密一个字节;S4:子密钥在数据加密模块更新;S5:密钥在储存模块运行直到加密或解密结束;以上加密运算步骤均采用CRC8多项式可逆运算。2.根据权利要求1所述的一种主密钥变换为多项式表格子密钥查表的加密方法,其特征在于,所述步骤S4,S5中子密钥两次加密过程中,数据储存模块内的子密钥由数据加密模块中获取。3.根据权利要求1所述的一种主密钥变换为多项式表格子密钥查表...

【专利技术属性】
技术研发人员:裴文耀李勇周彭凯
申请(专利权)人:李勇周彭凯
类型:发明
国别省市:

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1