【技术实现步骤摘要】
BWGCF分组密码算法实现方法
本专利技术属于信息安全
,涉及密码算法设计。
技术介绍
由于密码技术是信息安全的基础,各国都十分重视密码算法的研究。在这样的一个时代,密码已经由秘密对抗进入公开竞争和国际合作。BWGCF密码算法是一个迭代分组密码算法。该算法的分组长度/密钥长度支持128/128、128/256和256/256,BWGCF密码算法的基本拓扑结构由十六个八级反馈多项式构成,该十六个反馈多项式是所有的本原多项式,它们分别是:(1)f(x)=x8+x4+x3+x2+1(2)f(x)=x8+x5+x3+x1+1(3)f(x)=x8+x5+x3+x2+1(4)f(x)=x8+x6+x3+x2+1(5)f(x)=x8+x6+x4+x3+x2+x1+1(6)f(x)=x8+x6+x5+x1+1(7)f(x)=x8+x6+x5+x2+1(8)f(x)=x8+x6+x5+x3+1(9)f(x)=x8+x6+x5+x4+1(10)f(x)=x8+x7+x2+x1+1(11)f(x)=x8+x7+x3+x2+1(12)f(x)=x8+x7+x5+x3+1(13)f(x)=x8+x7+x6+x1+1(14)f(x)=x8+x7+x6+x3+x2+x1+1(15)f(x)=x8+x7+x6+x5+x2+x1+1(16)f(x)=x8+x7+x6+x5+x4+x2+1BWGCF密码算
【技术保护点】
1.BWGCF分组密码算法实现方法,其特征在于包括:BWGCF分组密码算法实现方法由下述四个算法构成:/n①BWGCF算法控选算法/n设子密钥为k
【技术特征摘要】
1.BWGCF分组密码算法实现方法,其特征在于包括:BWGCF分组密码算法实现方法由下述四个算法构成:
①BWGCF算法控选算法
设子密钥为k0,k1,k2,k3,…,kL-1,则BWGCF控选算法为:
W=ki0+2×ki1+4×ki2+8×ki3,
其中ki3,ki2,ki1,ki0为子密钥ki的后四比特。
②BWGCF算法T函数构造算法
(1)分组长度/密钥长度为128/128
T是的变换,是与密钥无关的固定的合成置换,它由非线性变换层和线性变换层两部分构成。
1)非线性变换τ
非线性变换τ由2个并行的8×8的S-盒构成,实际上为字节代替变换。
设输入为输出为则
(b0,b1)=τ(A)=(sbox(a0),sbox(a1)).
2)线性变换A
非线性变换τ的输出就是线性变换A(满足线性分支数和差分分支数都为3)的输入。设输入为输出为则
S-盒生产方式:
S-盒仿射等价于有限域GF(28)中的乘法逆函数。
定义GF(2)上可逆的仿射变换π如下:
设输入8比特变量a=(a0,a1,…,a7),输出8比特变量b=π(a)=(b0,b1,…,b7),则
定义有限域GF(28)中的乘法逆f如下:
在GF(28)中利用本原多项式
g(x)=x8+x7+x6+x5+x4+x2+1,
将x映射到x-1,“00”映射到自身。
S-盒生产方式为:
设输入输出则
y=sbox(x)=π(f(π(x))).
S-盒如下:
0
1
2
3
4
5
6
7
8
9
a
b
c
d
e
f
0
d6
90
e9
fe
cc
e1
3d
b7
16
b6
14
c2
28
fb
2c
05
1
2b
67
9a
76
2a
be
04
c3
aa
44
13
26
49
86
06
99
2
9c
42
50
f4
91
ef
98
7a
33
54
0b
43
ed
cf
ac
62
3
e4
b3
1c
a9
c9
08
e8
95
80
df
94
fa
75
8f
3f
a6
4
47
07
a7
fc
f3
73
17
ba
83
59
3c
19
e6
85
4f
a8
5
68
6b
81
b2
71
64
da
8b
f8
eb
0f
4b
70
56
9d
35
6
1e
24
0e
5e
63
58
d1
a2
25
22
7c
3b
01
21
78
87
7
d4
00
46
57
9f
d3
27
52
4c
36
02
e7
a0
c4
c8
9e
8
ea
bf
8a
d2
40
c7
38
b5
a3
f7
f2
ce
f9
61
15
a1
9
e0
ae
5d
a4
9b
34
1a
55
ad
93
32
30
f5
8c
b1
e3
a
1d
f6
e2
2e
82
66
ca
60
c0
29
23
ab
0d
53
4e
6f
b
d5
db
37
45
de
fd
8e
2f
03
ff
6a
72
6d
6c
5b
51
c
8d
1b
af
92
bb
dd
bc
7f
11
d9
5c
41
1f
10
5a
d8
d
0a
c1
31
88
a5
cd
7b
bd
2d
74
d0
12
b8
e5
b4
b0
e
89
69
97
4a
0c
96
77
7e
65
b9
f1
09
c5
6e
c6
84
f
18
f0
7d
ec
3a
dc
4d
20
79
ee
5f
3e
d7
cb
39
48
(2)分组长度/密钥长度为128/256
分组长度/密钥长度为128/256的T函数与分组长度/密钥长度为128/128的T函数相同。
(3)分组长度/密钥长度为256/256
T是的变换,是与密钥无关的固定的合成置换,它由非线性变换层和线性变换层两部分构成。
1)非线性变换τ
非线性变换τ由2个并行的16×16的S-盒构成,实际上为双字节代替变换。
设输入为输出为则
(b0,b1)=τ(A)=(sbox(a0),sbox(a1)).
2)线性变换A
非线性变换τ的输出就是线性变换A(满足线性分支数和差分分支数都为3)的输入。设输入为输出为则
S-盒生产方式:
定义有限域GF(216)中的乘法逆f如下:
在GF(216)中利用本原多项式
g(x)=x16+x5+x3+x+1,
将x映射到x-1,“00”映射到自身。
③BWGCF算法加密算法
(1)分组长度/密钥长度为128/128
分组长度/密钥长度为128/128的加密算法如下:
1)对128比特...
【专利技术属性】
技术研发人员:范修斌,王福驰,
申请(专利权)人:山东文斌信息安全技术有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。