一种密码算法的加性扩展实现方法技术

技术编号:37612833 阅读:11 留言:0更新日期:2023-05-18 12:04
本发明专利技术提供一种密码算法的加性扩展实现方法,在加密和解密过程中,其在不改变对称密码算法、非对称密码算法或流密码算法的核心密码算法前提下,对多种现有加解/解密密模式中的“按比特异或”运算,扩展为L比特的G

【技术实现步骤摘要】
一种密码算法的加性扩展实现方法


[0001]本专利技术涉及计算机通信安全领域,尤其涉及一种密码算法的加性扩展实现方法。

技术介绍

[0002]密码算法,包括对称密码算法(也称分组密码算法)、非对称密码算法(公钥算法)和流密码算法中,按比特异或是一种常用的运算。按比特异或的特点是异或结果仅影响一个比特,不影响相邻的其它比特,即:比特间无扩散。同时运算也相对简单,快捷。
[0003]因为异或的简单和无扩散性,使得能量攻击有了目标点,在选择明文攻击中,可根据不同比特逐位选择而确认能量的极大值和极小值,从而获取密钥相关信息,安全性低。

技术实现思路

[0004]基于此,本专利技术的目的在于提供一种密码算法的加性扩展实现方法,与按比特异或相比,安全性更高,适合多种分组密码的扩展并适合更多模式。为实现上述目的,本专利技术的技术方案如下:
[0005]一种密码算法的加性扩展实现方法,包括加密过程和解密过程;
[0006]在加密过程中,在不改变密码算法核心运算的情况下,将分组密码算法、非对称密码算法或流密码算法中现有的加密模式中的按比特异或运算扩展为按L比特的G
L
群加法运算或减法运算;
[0007]在解密过程中,在不改变密码算法核心运算的情况下,将分组密码算法、非对称密码算法或流密码算法中现有的解密模式中的按比特异或运算扩展为按L比特的G
L
群加法运算或减法运算;
[0008]其中,按比特长度L定义二进制加法群G
L
=(0~N

1),N=2
L
,L≥2,L为正整数;
[0009]定义群单位元、群逆元素和群加法与减法如下:
[0010]a)群单位元为0;
[0011]b)群逆元素:A的逆元素A
‑1为A
‑1=N

A;
[0012]c)加法“+”:
[0013]A∈G
L
,B∈G
L
,则C=A+B定义为:
[0014]C=A+B mod N,C∈G
L

[0015]符号∈表示属于,即B∈G
L
表示B属于G
L

[0016]d)减法
“‑”

[0017]A∈G
L
,B∈G
L
,则D=A

B定义为:D=A+B
‑1;
[0018]满足封闭性:
[0019]c)A∈G
L
,B∈G
L
,则C=A+B,且C∈G
L

[0020]d)A∈G
L
,B∈G
L
,则D=A

B=A+B
‑1,且D∈G
L

[0021]满足交换律:
[0022]A∈G
L
,B∈G
L
,则C=A+B=B+A,C∈G
L

[0023]在不改变分组密码算法核心运算的情况下,对多种加解密模式中的“按比特异或”运算,扩展为按“L比特的GL群加减法”运算。
[0024]为方便起见,本专利技术定义:分组数据在G
L
群的加减法运算如下:
[0025]已知:A、B、C和D是四个与分组长度N相同的二进制数,N=n*L,即:数据长度N可以被分拆成n个长度L的子数据段。则:
[0026]A=a1||a2||a3||

||a
n
,B=b1||b2||b3||

||b
n
,C=c1||c2||c3||

||c
n

[0027]D=d1||d2||d3||

||d
n
,其中||表示数据拼接,则:
[0028]为方便起见,本专利技术定义A与B的加法如下:
[0029]C=A+B=c1||c2||c3||

||c
n
,记作C=(A+B)
GL
[0030]其中:c1=a1+b1mod 2
L
,c2=a2+b2mod 2
L


,c
n
=a
n
+b
n mod 2
L

[0031]定义A与B的减法如下:
[0032]D=A

B=d1||d2||d3||

||d
n
,记作D=(A

B)
GL
[0033]其中:d1=a1‑
b1mod 2
L
,d2=a2‑
b2mod 2
L


,d
n
=a
n

b
n mod 2
L

[0034]进一步地,参照图1,对于所述分组密码算法,2≤L≤M,其中M为分组密码算法的分组长度,按L比特的G
L
群加法运算或减法运算具体如下:
[0035]两个分组长度为M的数据A和数据B,分别按照比特长度L分成m个子段,A={a1,a2,

,a
m
},B={b1,b2,

,b
m
}。
[0036]按L比特的G
L
群加法运算为:C=A+B={c1,c2,

,c
m
},其中,c
i
=a
i
+b
i mod2
L
,i=1,2,

,m;
[0037]按L比特的G
L
群减法运算为:D=A

B={d1,d2,

,d
m
},其中,d
i
=a
i

b
i mod2
L
,i=1,2,

,m;
[0038]其中,加法符号“+”表示G
L
群的加法运算,减法符号
“‑”
表示G
L
群的减法运算。
[0039]进一步地,在一个分组运算中,比特长度L为一个固定值,或者,比特长度L为2个或多个不同的值;
[0040]当比特长度L为一个固定值时,比特长度L为可被分组长度M整除的整数,即将原来M次比特的异或运算扩展为m次G
L
群加法或减法,表述为:L1=L2=

=L
m
=L,M=L1+L2+

+L本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种密码算法的加性扩展实现方法,其特征在于:包括加密过程和解密过程;在加密过程中,在不改变密码算法核心运算的情况下,将分组密码算法、非对称密码算法或流密码算法中现有的加密模式中的按比特异或运算扩展为按L比特的G
L
群加法运算或减法运算;在解密过程中,在不改变密码算法核心运算的情况下,将分组密码算法、非对称密码算法或流密码算法中现有的解密模式中的按比特异或运算扩展为按L比特的G
L
群加法运算或减法运算;其中,按比特长度L定义二进制加法群G
L
=(0~N

1),N=2
L
,L≥2,L为正整数;定义G
L
群单位元、群逆元素和群加法与减法如下:a)G
L
群单位元为0;b)G
L
群逆元素:A的逆元素A
‑1为A
‑1=N

A;c)G
L
加法“+”:A∈G
L
,B∈G
L
,则C=A+B定义为:C=A+B mod N,C∈G
L
;符号∈表示属于,即B∈G
L
表示B属于G
L
;d)G
L
减法
“‑”
:A∈G
L
,B∈G
L
,则D=A

B定义为:D=A+B
‑1;满足封闭性:a)A∈G
L
,B∈G
L
,则C=A+B,且C∈G
L
;b)A∈G
L
,B∈G
L
,则D=A

B=A+B
‑1,且D∈G
L
;满足交换律:A∈G
L
,B∈G
L
,则C=A+B=B+A,C∈G
L
。2.根据权利要求1所述的密码算法的加性扩展实现方法,其特征在于:对于所述分组密码算法,2≤L≤M,其中M为分组密码算法的分组长度,按L比特的G
L
群加法运算或减法运算具体如下:两个分组长度为M的数据A和数据B,分别按照比特长度L分成m个子段,A={a1,a2,

,a
m
},B={b1,b2,

,b
m
};按L比特的G
L
群加法运算为:C=A+B={c1,c2,

,c
m
},其中,c
i
=a
i
+b
i
mod2
L
,i...

【专利技术属性】
技术研发人员:闫鸣生闫申李国孟小林王金贵
申请(专利权)人:北京江南天安科技有限公司
类型:发明
国别省市:

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

1