一种可变密钥多重加密方法技术

技术编号:14191717 阅读:151 留言:0更新日期:2016-12-15 10:30
本发明专利技术涉及一种可变密钥多重加密方法,包括密钥生成,明文数据加密和密文数据解密;所述密钥生成通过7比特种子生成128比特伪随机序列作为密钥1,将所述128比特伪随机序列逆序输出,得到密钥2;所述明文数据加密使用密钥1、密钥2对64比特明文进行三重TEA加密算法处理求得64比特密文;所述密文数据解密使用密钥1、密钥2对64比特密文进行三重TEA解密算法处理求得64比特明文。本发明专利技术解决了当前多数加密算法在软硬件开销和安全性上难以同时兼顾的问题。

Variable key multiple encryption method

The invention relates to a multiple variable key encryption methods, including key generation, encryption and decryption of ciphertext plaintext data; the key is generated by a 7 bit seed to generate 128 bit pseudo random sequence as key 1, the 128 bit pseudorandom sequence reverse output, get the key 2; the plaintext data is encrypted with the key 1 2, the key of the 64 bit plaintext is three TEA encryption algorithm to obtain 64 bits of ciphertext; the ciphertext decryption key data 1, 2 key three TEA decryption algorithm processing 64 bits of the 64 bit obtained plaintext ciphertext. The invention solves the problem that most of the current encryption algorithms are difficult to take care of both in the hardware and software cost and security.

【技术实现步骤摘要】

本专利技术涉及一种可变密钥多重加密方法
技术介绍
目前大多数加密算法的运算过程较为复杂,对于处理速度有限的嵌入式应用来说,往往需要复杂的硬件逻辑进行运算加速,从而导致了成本和功耗上的增加。因此传统的加密算法很难在低软硬件开销和高安全性上同时兼顾。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种可变密钥多重加密方法,解决当前多数加密算法在成本和安全性上难以同时兼顾的问题。为实现上述目的,本专利技术采用如下技术方案:一种可变密钥多重加密方法,其特征在于:包括密钥生成,明文数据加密和密文数据解密;所述密钥生成通过7比特种子生成128比特伪随机序列作为密钥1,将所述128比特伪随机序列逆序输出,得到密钥2;所述明文数据加密使用密钥1、密钥2对64比特明文进行三重TEA加密算法处理求得64比特密文;所述密文数据解密使用密钥1、密钥2对64比特密文进行三重TEA解密算法处理求得64比特明文。进一步的,所述密钥1和密钥2由7比特种子通过7阶m序列生成算法生成,具体步骤如下:步骤S11:输入一个7比特种子,将其作为初始值加载到7阶线性反馈移位寄存器电路中,所述7阶线性反馈移位寄存器电路由7个寄存器串接而成,按移位方向顺序定义为1至7阶寄存器,每输入一个时钟周期作一次移位操作;步骤S12:生成一个周期的时钟信号提供给所述7阶线性反馈移位寄存器电路;步骤S13:将寄存器的值往高阶方向移位,将第3阶寄存器与第7阶寄存器的输出值进行异或运算所得的值移入第1阶寄存器,将第7阶寄存器即最后一级寄存器的输出值作为电路输出的比特值;步骤S14:判断累计生成的时钟周期数,如果小于128,则返回步骤S12,如果等于128则执行步骤S15;步骤S15:将输出的比特值按顺序排列而成的128比特序列记为密钥1;将密钥1的比特序列逆序输出,得到另一个128比特序列,记为密钥2。进一步的,所述三重TEA加密算法包括以下三个步骤:步骤S21:以密钥1对64比特明文做TEA加密处理,结果记为C1;步骤S22:以密钥2对C1做TEA解密处理,结果记为C2;步骤S23:以密钥1对C2做TEA加密处理,结果即为所求64比特密文。进一步的,所述三重TEA解密算法包括以下三个步骤:步骤S31:以密钥1对64比特密文做TEA解密处理,结果记为P1;步骤S32:以密钥2对P1做TEA加密处理,结果记为P2;步骤S33:以密钥1对P2做TEA解密处理,结果即为所求64比特明文。进一步的,所述TEA加密处理的具体步骤如下:步骤S41:将待加密的数据分成v(0)和v(l)两部分,各32比特,并定义中间变量y=v(0),z=v(l);将密钥1或密钥2分成k(0),k(1),k(2)和k(3)四部分,各32比特,并定义中间变量a=k(0),b=k(1),c=k(2),d=k(3);定义中间变量并赋初值:Sum=0,Delta=0X9E3779B9,n=16;步骤S42:判断n的值,若n>0则执行步骤S43,否则执行步骤S44;步骤S43:顺序执行下列运算并赋值:Sum=Sum+Delta,y=y+(((z<<4)+a)∧(z+Sum)∧((z>>5)+b)),z=z+(((y<<4)+c)∧(y+Sum)∧((y>>5)+d)),n=n-1,完成后转跳转至步骤S42;步骤S44:将计算结果进行保存:v(0)=y,v(1)=z,此时密文在v(0)和v(1)中共64位,TEA加密处理结束。进一步的,所述TEA解密处理的具体步骤如下:步骤S51:将待解密的数据分成v(0)和v(l)两部分,各32比特,并定义中间变量y=v(0),z=v(l);将密钥1或密钥2分成k(0),k(1),k(2)和k(3)四部分,各32比特,并定义中间变量a=k(0),b=k(1),c=k(2),d=k(3);定义中间变量并赋初值:Sum=0XC6EF3720,Delta=0X9E3779B9,n=16;步骤S52:判断n的值,若n>0则执行步骤S53,否则执行步骤S54;步骤S53:顺序执行下列运算并赋值:z=z-(((y<<4)+c)∧(y+Sum)∧((y>>5)+d)),y=y-(((z<<4)+a)∧(z+Sum)∧((z>>5)+b)),Sum=Sum-Delta,n=n-1,完成后转跳转至步骤S52;步骤S54:将计算结果进行保存:v(0)=y,v(1)=z,此时明文在v(0)和v(1)中共64位,TEA解密处理结束。进一步的,所述密钥1和密钥2的传递通过所述7比特种子的传递实现。本专利技术与现有技术相比具有以下有益效果:本专利技术的密钥通过数据量很小的种子生成,方便密钥的传递与保管,同时密钥带有伪随机特性,增加了破解难度;加解密过程使用了多重TEA运算,大大提升了加密安全性能;算法精简高速,十分适合低功耗与低成本的应用需求。附图说明图1是本专利技术的密钥生成算法流程图。图2是本专利技术的三重TEA加密算法流程图。图3是本专利技术的三重TEA解密算法流程图。具体实施方式下面结合附图及实施例对本专利技术做进一步说明。本专利技术提供一种可变密钥多重加密方法,包括密钥生成,明文数据加密和密文数据解密;所述密钥生成由7比特种子通过7阶m序列生成算法生成128比特伪随机序列作为密钥1,将所述128比特伪随机序列逆序输出,得到密钥2;请参照图1,具体步骤如下:步骤S11:输入一个7比特种子,将其作为初始值加载到7阶线性反馈移位寄存器电路中,所述7阶线性反馈移位寄存器电路由7个寄存器串接而成,按移位方向顺序定义为1至7阶寄存器,每输入一个时钟周期作一次移位操作;步骤S12:生成一个周期的时钟信号提供给所述7阶线性反馈移位寄存器电路;步骤S13:将寄存器的值往高阶方向移位,将第3阶寄存器与第7阶寄存器的输出值进行异或运算所得的值移入第1阶寄存器,将第7阶寄存器即最后一级寄存器的输出值输出作为电路输出的比特值;步骤S14:判断累计生成的时钟周期数,如果小于128,则返回步骤S12,如果等于128则执行步骤S15;步骤S15:将输出的比特值按顺序排列而成的128比特序列记为密钥1;将密钥1的比特序列逆序输出,得到另一个128比特序列,记为密钥2。所述明文数据加密使用密钥1、密钥2对64比特明文进行三重TEA加密算法处理求得64比特密文;请参照图2,具体包括以下三个步骤:步骤S21:以密钥1对64比特明文做TEA加密处理,结果记为C1;步骤S22:以密钥2对C1做TEA解密处理,结果记为C2;步骤S23:以密钥1对C2做TEA加密处理,结果即为所求64比特密文。所述密文数据解密使用密钥1、密钥2对64比特密文进行三重TEA解密算法处理求得64比特明文;请参照图3,具体包括以下三个步骤:步骤S31:以密钥1对64比特密文做TEA解密处理,结果记为P1;步骤S32:以密钥2对P1做TEA加密处理,结果记为P2;步骤S33:以密钥1对P2做TEA解密处理,结果即为所求64比特明文。进一步的,所述TEA加密处理的具体步骤如下:步骤S41:将待加密的数据分成v(0)和v(l)两部分,各32比特,并定义中间变量y=v(0),z=v(l)本文档来自技高网...
一种可变密钥多重加密方法

【技术保护点】
一种可变密钥多重加密方法,其特征在于:包括密钥生成,明文数据加密和密文数据解密;所述密钥生成通过7比特种子生成128比特伪随机序列作为密钥1,将所述128比特伪随机序列逆序输出,得到密钥2;所述明文数据加密使用密钥1、密钥2对64比特明文进行三重TEA加密算法处理求得64比特密文;所述密文数据解密使用密钥1、密钥2对64比特密文进行三重TEA解密算法处理求得64比特明文。

【技术特征摘要】
1.一种可变密钥多重加密方法,其特征在于:包括密钥生成,明文数据加密和密文数据解密;所述密钥生成通过7比特种子生成128比特伪随机序列作为密钥1,将所述128比特伪随机序列逆序输出,得到密钥2;所述明文数据加密使用密钥1、密钥2对64比特明文进行三重TEA加密算法处理求得64比特密文;所述密文数据解密使用密钥1、密钥2对64比特密文进行三重TEA解密算法处理求得64比特明文。2.根据权利要求1所述的可变密钥多重加密方法,其特征在于:所述密钥1和密钥2由7比特种子通过7阶m序列生成算法生成,具体步骤如下:步骤S11:输入一个7比特种子,将其作为初始值加载到7阶线性反馈移位寄存器电路中,所述7阶线性反馈移位寄存器电路由7个寄存器串接而成,按移位方向顺序定义为1至7阶寄存器,每输入一个时钟周期作一次移位操作;步骤S12:生成一个周期的时钟信号提供给所述7阶线性反馈移位寄存器电路;步骤S13:将寄存器的值往高阶方向移位,将第3阶寄存器与第7阶寄存器的输出值进行异或运算所得的值移入第1阶寄存器,将第7阶寄存器即最后一级寄存器的输出值作为电路输出的比特值;步骤S14:判断累计生成的时钟周期数,如果小于128,则返回步骤S12,如果等于128则执行步骤S15;步骤S15:将输出的比特值按顺序排列而成的128比特序列记为密钥1;将密钥1的比特序列逆序输出,得到另一个128比特序列,记为密钥2。3.根据权利要求1所述的可变密钥多重加密方法,其特征在于:所述三重TEA加密算法包括以下三个步骤:步骤S21:以密钥1对64比特明文做TEA加密处理,结果记为C1;步骤S22:以密钥2对C1做TEA解密处理,结果记为C2;步骤S23:以密钥1对C2做TEA加密处理,结果即为所求64比特密文。4.根据权利要求1所述的可变密钥多重加密方法,其特征在于:所述三重TEA解密算法包括以下三个步骤:步骤S31:以密钥1对64比特密文做TEA解密处理,结果记为P1;步骤S32:以密钥2对P1做TEA加密处理,结果记为P2;步骤S33:以密钥1对P2做TEA解密处理,结果即为所求64比特明文。5.根据权利要求3或4所述的所述可变密钥多重加密方法,其特征在于:所述TEA加密处理的具体步骤如下:...

【专利技术属性】
技术研发人员:钟杨源江典棋刘伟城朱宇耀
申请(专利权)人:福州福大海矽微电子有限公司
类型:发明
国别省市:福建;35

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

1