密钥可变的内轮置换流密码加密方法技术

技术编号:8802968 阅读:216 留言:0更新日期:2013-06-13 07:04
本发明专利技术公开一种密钥可变的内轮置换流密码加密方法,其采用不同的数学运算符,快速实现密钥比特间的混淆性;在密钥流字节的计算中采用“纵向”扩散和“横向”压缩的相结合的比特混合置乱技术;密钥流字节采用多轮“迭代”方法得到,保证算法抵抗攻击;引入固定常量,破坏内轮函数结构,避免滑动攻击;种子密钥和初始向量的长度保证抵抗时空折中攻击;算法的运算符交替出现,分布均匀以抵抗一般的边信道攻击,特别功耗攻击;采用15轮的迭代内部状态具有足够的稳健性,足以抵抗传统的差分攻击;种子密钥长度可以根据安全强度选择;算法简洁、安全性高;各个密钥流块独立生成,特别适合平行计算,软件和硬件容易、快速实现,各种平台实现灵活。

【技术实现步骤摘要】

本专利技术涉及信息安全领域,具体涉及一种。
技术介绍
在数据传输过程中,部分敏感数据为了防止攻击者的窃听而需要进行加密处理,使得攻击者只能窃听到密文而无法获得任何有用信息,只用拥有密钥的合法接收者才能解密还原出真实消息。在数据加密算法中,有两大类加密算法。一是分组加密算法,二是流密码加密算法(也称为序列密码)。分组加密算法的加密数据是固定长度的(分成一组一组),而流密码加密算法的加密长度是一个可变范围很大的值。分组密码以一定大小作为每次处理的基本单元,而序列密码则是以一个元素(一个字母或一个比特)作为基本的处理单元。流密码加密算法具有实现简 单、便于硬件实施、加解密处理速度快、没有或只有有限的错误传播等特点,因此在实际应用中,特别是专用或机密机构中保持着优势,典型的应用领域包括无线通信和外交通信等。流密码加密算法具体应用环境和模式可见附图说明图1。首先消息发送方和接收方通过一个安全信道共享了一个种子密钥k,对于每一比特明文xi,发送方都使用一个流密码加密算法产生相对应的一比特密钥流zi,然后用Zi与xi异或掩盖明文而获得密文yi,即λ。消息接收方接收到yi后,使用相同的方法和相同的密钥产生相同的密钥流比特zUf zi与yi异或后即可恢复出明文xi,即。然而传统的流密码加密算法的内部操作不易实现,内部置乱效果不佳,易受到攻击等不足,因此还需要对传统的流密码加密算法进行进一步的改进。
技术实现思路
本专利技术所要解决的技术问题是提供一种安全强度高、算法简洁易于实现、并能灵活适用于各种平台的。为解决上述问题,本专利技术是通过以下方案实现的:,包括如下步骤:( I)内部状态初始化阶段:(1.1)随机选择3 8个32比特的种子密钥K= (kQ,k1;…,k7)和3个32比特的初始向量V= (y0,V1, v2),确定3个32比特的常量值0=( , C1, c2);启动2个32比特的计数向量 t=(tQ, ti);(1.2)开辟一个512比特的存储器X,该存储器分为16个字,每个字为32比特,即本文档来自技高网...

【技术保护点】
密钥可变的内轮置换流密码加密方法,其特征是包括如下步骤:(1)内部状态初始化阶段:(1.1)随机选择3~8个32比特的种子密钥K=(k0,k1,…,k7)和3个32比特的初始向量v=(v0,v1,v2),确定3个32比特的常量值c=(c0,c1,c2);启动2个32比特的计数向量t=(t0,t1);(1.2)开辟一个512比特的存储器X,该存储器分为16个字,每个字为32比特,即X=x0x1x2x3x4x5x6x7x8x9x10x11x12x13x14x15(1.3)将种子密钥K、初始向量v、计数向量t和常量值c分别注入存储器X中,即令X=x0x1x2x3x4x5x6x7x8x9x10x11x12x13x14x15=k0v1k6c0k5k3c1t1t0c2k1k7v0k4v2k2;(2)密钥流生成阶段:(2.1)定义Xr=roundr(X),其中roundr(X)又分为行运算roundodd(X)和列运算roundeven(X);(2.2)若r为奇数即roundodd(X)的变化规则为:将存储器X的第一行x=(x0,x1,x2,x3)变化到y=(y0,y1,y2,y3),有:a0=x0+x3,a3=(x2+a0)y0=[x0⊕(a0+a1)]<<<[rmod8]y1=x1⊕[(a2+y0)>>>[rmod8]]y2=[x2⊕(a3+y1)]<<<5y3=x3⊕[(a1+y2)<<<23];将存储器X的第二行x=(x4,x5,x6,x7)变化到y=(y4,y5,y6,y7),有:a4=x4+x7,a7=(x6+a4)y4=[x4⊕(a4+a5)]<<<[rmod8]y5=x5⊕[(a6+y4)>>>[rmod8]]y6=[x6⊕(a7+y5)]<<<5y7=x7⊕[(a5+y6)<<<23];将存储器X的第三行x=(x8,x9,x10,x11)变化到y=(y8,y9,y10,y11),有:a8=x8+x11,a11=(x10+a8)y8=[x8⊕(a8+a9)]<<<[rmod8]y9=x9⊕[(a10+y8)>>>[rmod8]]y10=[x10⊕(a11+y9)]<<<5y11=x11⊕[(a9+y10)<<<23];将存储器X的第四行x=(x12,x13,x14,x15)变化到y=(y12,y13,y14,y15),有:a12=x12+x15,a15=(x14+a12)y12=[x12⊕(a12+a13)]<<<[rmod8]y13=x13⊕[(a14+y12)>>>[rmod8]]y14=[x14⊕(a15+y13)]<<<5y15=x15⊕[(a13+y14)<<<23];上述,+表示mod232运算,表示mod2运算,>>表示右循环移位;(2.3)若r为偶数(即roundeven(X))的变化规则为:将存储器X的第一列x=(x0,x4,x8,x12)变化到y=(y0,y4,y8,y12),有:a0=x0+x12,a3=(x8+a0)y0=[x0⊕(a0+a1)]<<<[rmod8]y4=x4⊕[(a2+y0)>>>[rmod8]]y8=[x8⊕(a3+y4)]<<<5y12=x12⊕[(a1+y8)<<<23];将存储器X的第二列x=(x1,x5,x9,x13)变化到y=(y1,y5,y9,y13),有:a4=x1+x13,a7=(x9+a4)y1=x1⊕[(a4+y5)<<<[rmod8]]y5=x5⊕[(a6+y1)>>>[rmod8]]y9=[x9⊕(a7+y5)]<<<5y13=x13⊕[(a5...

【技术特征摘要】
1.密钥可变的内轮置换流密码加密方法,其特征是包括如下步骤: (1)内部状态初始化阶段: (1.0随机选择3 8个32比特的种子密钥K= (kQ,k1;…,k7)和3个32比特的初始向量V= (V。, V1, V2),确定3个32比特的常量值C= (C。,C1, C2);启动2个32比特的计数向量t=(t0, ti); (1.2)开辟一个512比特的存储器X,该存储器分为16个字,每个字为32比特,SP2.根据权利要求1所述的密钥可变的内轮置换流密码加密方法,其特征是,在上述步骤(1.0中, 所述种子密钥K=(kQ,k1;…,k7)为3X32比特时,则种子密钥K=(kQ,k1;…,k7)随机选取前面3个字,余下的5个字则固定为全“O”或全“ I” ; 所述种子密钥K= (k0, k1;…,k7)为4X32比特时,则种子密钥K= (k0, k1;…,k7)随机选取前面4个字,余下的4个字则固定为全“O”或全“ I” ; 种子密钥K= (k0, k1;…,k7)为5X32比特时,则种子密钥K=...

【专利技术属性】
技术研发人员:丁勇韦永壮李新国丁继强官秀国
申请(专利权)人:桂林电子科技大学
类型:发明
国别省市:

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

1