2024年6月19日发(作者:)
密码学报
ISSN
2095-7025
CN
1
CM
195
/TN
Journal
of
Cryptologic
Research
^ 2019, 6(6): 748-759
©《密码学报》编辑部版权所有.
http
://
www
.
jcr
.
cacrnet
.
Tel
/
Fax
: +86-10-82789618
分组密码专刊
ANT
系列分组密码算法
陈师务
A
樊燕红
A
付勇
A
黄鲁宁
A
王美琴
W
1.
山东大学网络空间安全学院,青岛
266237
2. 密码技术和信息安全教育部重点实验室,青岛266237
通信作者:王美琴,
E
~
:
mqwang
@
sdu
.
摘要:
我们设计了 一款新的系列分组密码算法
一
ANT
,
其包含
3
个版本,根据分组长度/密钥长度可
以分别记为
ANT
-128/128、
ANT
-128/256
和
ANT
-256/256.
ANT
算法采用了经典的
Feistel
结构,轮
函数采用比特级的
设计,
仅包含与操作,循环移位操作和异或操作
(
AND
-
Rotation
-
XOR
).
结合
Expand
-
then-compress
的设计思想,使
ANT
算法达到了较好的扩散速度.得益于精心构造的比特级轮函数,在
保证算法达到较高安全性的同时,还具有出色的硬件性能,非常适合轻量级实现.在硬件实现环境
(HJTC
110
nm
标准元件库)下,
ANT
-128/128
加解密基于轮实现的硬件面枳仅为
3220
GE
.
而轮函数仅采用与
操作作为非线性操作,相比传统的
S
盒算法
,
ANT
算法在侧信道防护实现上更具优势
.
在软件方面,
ANT
算法在设计过程中就充分考虑到
bitslice
的实现速率.測试结果也表明,
ANT
算法具有出色的多路软件性
能.针对现有常见的攻击方法
,我
们对
ANT
算法进行了全面的安全性分析,分析结果表明
ANT
系列算
法各个版本均具有较高的安全冗余.
关键词:
轻量级分组密码;
Feistel
结构;
AND
-
Rotation-XOR
操作;吞面比;
bitslice
实现
中图分类号:
TP
309.7 文献标识码:
A
DOI
: 10.13868/
j
.
cnki
.
jcr
.000338
中文引用格式:陈师尧,樊燕红,付勇,黄鲁宁,王美琴.
ANT
系列分组密码算法丨
J
].密码学报,2019, 6(6):
748-759.
英文引用格式
:CHEN
S
Y
,
FAN
Y
H
,
FU
Y
,
HUANG
L
N
,
WANG
M
Q
.
On
the
design
of
ANT
family
block
ciphers
[
J
].
Journal
of
Cryptologic
Research
, 2019, 6(6): 748-759.
On the Design of ANT Family Block Ciphers
CHEN
Shi
-
Yao
1’2,
FAN
Yan
-
Hong
1’2,
FU
Yong1,2,HUANG
Lu
-
Ning1,2,WANG
Mei
-
Qin
1’2
1. School of Cyber Science and Technology, Shandong University, Qingdao 266237, China
2. Key Laboratory of Cryptologic Technology and Information Security, Ministry of Education, Shandong
University, Qingdao 266237, China
Corresponding author: WANG Mei-Qin, E-mail: mqwang@ *
基金项目:国家自然科学基金(
61572293, 61502276, 61692276);
国家密码发展基金(
MMJJ20170102
);山东省重大科技
创新工程(
2017CXGC0704);
山东省自然科学基金(
ZR2016FM22)
*
Foundation: National Natural Science Foundation of China (61572293, 61502276, 61692276); National Cryptography
Development Fund (MMJJ20170102); Major Scientific and Technological Innovation Projects of Shandong Province,
China (2017CXGC0704); Natural Science Foundation of Shandong Province, China (ZR2016FM22)
收稿日期:
2019-11-20
定稿日期:
2019-12-10
陈师尧等:
ANT
系列分组密码算法
749
Abstract
:
This
paper
presents
a
new
family
of
block
ciphers
named
as
ANT
.
According
to
block
-
size
/
keysize
,
it
has
three
versions
,
namely
ANT
-128/128,
ANT
-128/256,
and
ANT
-256/256.
The
ANT
cipher
adoptes
the
classical
Feistel
structure
and
has
a
bit-based
round
function
,
which
is
composed
of
AND
,
Rotation
,
and
XOR
operations
.
Combined
with
the
Express
-
then-compress
design
principle
,
ANT
achieves
fast
speed
of
diffusion
.
The
bit-based
round
function
ensures
ANT
a
high
level
security
and
a
competitive
performance
in
hardware
implementation
,
and
is
very
suitable
for
lightweight
imple
mentation
.
Since
AND
operation
is
the
only
non-linear
operation
,
ANT
also
has
an
obvious
advantage
for
the
protective
implementations
against
side-channel
attack
.
Considering
software
performance
,
the
bitslice
efficiency
was
taken
into
consideration
during
the
algorithm
design
,
making
ANT
to
have
an
efficient
bitslice
implementation
.
Some
state
-
of
-
the-art
cryptanalytic
methods
have
been
conducted
on
ANT
,
which
show
that
all
versions
of
ANT
have
high
security
margins
.
Key
words
:
lightweight
block
cipher
;
Feistel
construction
;
AND
-
Rotation-XOR
operations
;
through
-
put/area
ratio
;
bitslice
implementations
i引言
i
.
i
背景
近年来,随着日常生活中物联网设备越来越多,这些资源受限设备下的数据传输安全也越来越受到人
们的重视.传统的分组密码如
AESW
等并不适合一些资源受限的环境.因此,轻量级的分组密码成为了
当前的一个研宄热点.密码学界也设计了许多轻量级的分组密码,如
LED
Pl
、
LBlockW、Rectangle
«、
PRINCE
[
S
1和
Zorro
[6]等.其中,一些高效的轻量级算法己经成为了
ISO
/
IEC
标准,如
PRESENT
171
和
CLEFIA
伴随着5
G
技术的广泛应用,物联网所承载的通讯设备的数量必然会与日俱增.因此,为
了更好地适应物联网设备多样化以及轻量化的趋势
,NIST
W
在征集新的标准密码算法时也自然会考虑到
这些应用场景和需求.
然而,学界并未对轻量级给出严格的定义,不同的受限应用环境也有不同的需求.比如,面积小丨尺寸
受限的芯片设备)、功率低(被动式
RFID
)、能耗少(电池供能的设备)以及延时低(磁盘加密因此,人们
通常关注的指标有功率、能耗、硬件面积和吞吐量.但当把这些指标都纳入考虑范围,不同轻量级算法之
间的比较自然是一项非常复杂的工作.通常来说,硬件面积是大家公认的一个主要性能指标.近年来,人们
也提出了一个更全面的指标一吞面比,来衡量一个密码算法硬件实现过程中性能与资源消耗折衷的能力.
在一定程度上,一个密码算法功率和能耗的高低也可以通过其吞面比反映出来.正是在这些指标需求的推
动下,近年来涌现出许多优秀的轻量级密码算法,其中大部分都是
SPN
结构的算法,如
SKINNY
[W1和
GIFT
Ml
等.与之相比,
Feistel
结构的算法由于扩散性较慢,并未受到轻量级设计的青睐.但
Feistel
结
构具有天然的加解密一致的优势,这对硬件实现非常有利.因此,如何达到更快的扩散速度,对基于
Feistel
结构的轻量级分组密码设计至关重要,也决定着其是否能发挥出优异的硬件性能.
结合这样的背景和需求,我们致力于设计一款适合轻量级实现,同时具有较好软件性能且安全强度高
的分组密码算法.
1.2主要贡献
本文给出了一个主要面向硬件实现兼具出色多路软件性能的分组密码算法一
ANT
,其包含三个版本:
ANT
-128/128、
ANT
-128/256 和
ANT
-256/256.其主要特点如下:
•实现效率高•
ANT
算法采用经典的
Feistel
结构,具有加解密一致的优势.而精心构造的基于比
特级的轮函数,仅采用了与操作、循环移位操作和异或操作(
AND
-
Rotation
-
XOR
).这些设计理
念的结合,使
ANT
算法的硬件实现性能优异,所有版本均具有较小的面积和较高的吞面比.其中,
ANT
-128/128在硬件实现平台
(HJTC
110
nm
标准元件库)下,加解密基于轮的实现仅需硬件面
积3220
GE
.软件方面,在设计过程中充分考虑了
bitslice
的实现性能,因此
ANT
算法具有出色
的多路软件实现速率.
750
JoumaZ
〇/
CVyptoZopic
ilesearcft
密码学报
Vol
.6,
No
.6,
Dec
. 2019
•安全强度高•我们基于可满足性问题
(Boolean
satisfiability
problem
,
SAT
)的自动化搜索方
法112]对现有常见的攻击方法进行了分析.分析结果表明
ANT
算法能够抵抗现有攻击方法,各版
本具有充分的安全冗余.
•侧信道防护代价小.目前的侧信道攻击大多针对算法中的
S
盒进行.
ANT
算法采用
AND
操作作
为唯一的非线性操作,同传统的
S
盒算法相比,其针对侧信道攻击的防护更容易实现且代价更小.
1.3本文框架
本文章节内容安排如下:第2节给出
ANT
的算法描述,第3节介绍
ANT
的算法设计原理,第4节
和第5节分别给出
ANT
算法的安全性分析和软硬件实现结果.最后,第6节总结全文.
2 ANT算法描述
本节将给出
ANT
系列分组密码算法的详细说明.
ANT
系列分组密码算法采用了经典的
Feistel
结
构,其所有分组可用
ANT
-2
n
/
m
表示.不同分组的相应参数在表1中具体给出.
表
1 ANT
系列分组密码算法相应参数
Table
1
Parameters for ANT family block cipher
分组比特长度(
2n)
密钥比特长度(
m)
字比特长度(
n)
轮数(
R)
算法名称
128
128
256
128
256
256
64
64
128
46
48
74
ANT-128/128
ANT-128/256
ANT-256/256
本文中采用的一些符号表示如下:
•
a
: =
Xr
^
llXrj
—2||... |卜0:
n
比特变量从高位到低位
•
a
:《
a
:变量
a
:左移位
a
比特.
•
x
€ 变量
a
:左循环移位6比特.
•
a
: ® 2/:变量和变量
y
进行异或操作.
•
a
; ©2/:变量
a
:和变量2/进行与操作.
2.1轮函数
k
n
Ki
h+i
图1
ANT
算法轮禹数
r»+i
Figure 1 Round function of ANT
ANT
算法的轮函数仅采用
AND
,
Rotation
,
XOR
三种操作,结构如图1所示,可以由如下公式表示:
= RKi(h,ri) — {G
〇
(li
s
〇
) ©Gi(/j si) © r,
® Ki,U)
其中,轮数变量
i
有0
S
i
<凡注意为保证加解密一致,最后一轮的左右支经过轮函数之后不进行交换.
循环移位参数(
s
〇,
Sl
)在
ANT
所有的分组中均设置为(3,16).
G
。和
Gi
为比特级的非线性函数,包含2
层,2层之间是一层比特级的置换.在具体介绍
G
〇和
Gx
之前,先引入如下表示:
陈师尧等:
ANT
系列分组密码算法
751
令# =
xU
|
xU
…||4表示
Go
/
G
的
n
比特输入变量,2/0 = …丨|说表示
Go/Gi
第一层的
n
比特输出变量.类似的,
a
;1 =
a
:
U
;
rJl
_2||...||
a
^和
y
1 =
yUyi
-2||…丨分别表示
Go
/
Gi
第二层的
n
比特输入变量和输出变量.
PERM
表示
Go
/
Gi
中所采用的相同的比特级置换.如下
给出非线性函数
G
〇和
Gi
的公式表达(其中下标变量
j
有0 $
j
<
n
),并在附录中给出
ANT
-128所采
用的
Go
/
Gi
的示意图(见附录中的图6和图7).
对于
G
〇:
y1 = G
〇
(x°)
先经过
G
〇中的第一层
(4+3
〇
丨
?+2)
④工?,
工?,
if
j
mod
4
三
0,
otherwise
y
?=
再经过中间的置换
PERM
^PERM〇) =
Vj
最后经过第二层
(
Xj
y
)
+3
〇
x
}+2) ©
x
],
if
j
mod
4 = 0,
otherwise
类似的,对于
G
1:
2/1 =
G
!(
x
°)
先经过
Gi
中的第一层
(x°+2 ©X^+1) ©X^,
y
?=
if
j
mod
4=1,
otherwise
再经过中间的置换
PERM
xPERM(i) =
Vj
最后经过第二层
(x1j+2Qx)+l)®x)1
if
j
mod
4=1,
otherwise
对于不同
ANT
分组中所采用的置换
PERM
,其表达式如下(
PERM
置换的表格形式见表2和表3),
对于
ANT
-128:
(j
+ 58)
mod
64,
PERM
⑴
if
j
mod
4 = 3,
if
j
mod
4 = 2,
if
j
mod
4 = 1,
if
mod
4
三
0
=
(j
+ 54)
mod
64,
(j
+ 30)
mod
64,
(j
H
- 2)
mod
64,
752
JowmaZ
〇/
CV
t
/
p
Z
o
Z
c
^
zc
/^
esearc/i
密码学报
Vol
.6,
No
.6,
Dec
. 2019
表
2 ANT-128
的
PERM
Table 2 PERM in ANT-128
3
PERM
〇)
3
PERM
(
j
)
3
PERM
(
j
)
j
PERM
(
j
)
•
0
2
161832
3448
50
131
1747
33
6349
15
2
561883424
5040
361191335
2951
45
4
6
2022
36
385254
5
35
21
5137
353
19
6
60
2212
38
285444
71
231739
335549
8
10
24
264042
5658
93925
55417
5723
10
0
26
164232
5848
1152721
4337
5953
12
1428
30
44
466062
134329
594511
6127
144
3020
463662
52
15931
254741
6357
表
3 ANT-256
的
PERM
Table 3 PERM in ANT-256
3
PERM
(
j
)
3
PERM
(
j
)
3
PERM
(
j
)
j
PERM
(
j
)
023234
64
669698
1
6333
95651279731
2120
3424
665698
88
3
1253529
67619993
4
636
386870
100
102
5
67
3799
693
101
35
6124
3828
706010292
7
1
3933
716510397
8
10
40
42
7274104106
97141
1
10
0
42
32
746410696
11
54337
7569107101
12
1444
46
7678108110
1375
45107
771110943
14
4
4636
7868110
100
159
4741
7973111
105
1618
4850
8082112
114
17
7949
1118115113
47
18
8
5
104
19
13
5145
83
77115
109
20
22
52548486116118
21
83
531158519117
51
22
125444
8676118
108
23
17
55
49
87
81
119
113
24
265658
88
90120
122
2587
575
2616
584890
80122112
27
21
59
5391
85123117
28306062
92
94124126
2991
61
123
9327
12559
30206252
9484126116
31256357
95
89
127
121
陈师尧等:
ANT
系列分组密码算法
753
对于
ANT
-256:
〇' + 122)
mod
128,
if
3
mod
128,
mod
4 =三3,
mod
4 三=2,
mod
4 =
=1,
mod
4 ==0
PERM
(
j
)=
0 +
H
8)
0+62)
ifj
mod
128,
if
j
mod
128,
0' + 2):
ifj
2.2密钥生成算法
分组密码算法可采用或者4
ri
比特长度的主密钥
K
,因此使用如下2种基于线性反馈移位
寄存器(
LFSR
)的密钥扩展方案.
对于
ANT
-2
n
/2
n
: 2
n
比特的主密钥
K
... ||
fc
〇可以分成2个字(高
n
比特和低
n
比特),
ANT
Kl
t
fc
2
n
-
lp
2
n
-2|| …||
U
〇 =
fcn
-
l
||
fcn
-2|| …||
fc
〇
仏,心作为图2中
LFSR
的初始状态.每次根据第
i
轮子密钥
K
和第
(i
+ 1)轮子密钥
K
i+1可以更新
出第
(i
+ 2)轮子密钥扣+2,其中0 $
i
<丑- 2.
LFSR
在进行更新时
,(i
+ 1)作为轮常数,当前寄存器
A
:
i
+1中的状态经过
Feistel
结构的4操作(见图3)迭代更新3次.注意不同分组下,义操作的输入分成
了 8个
f
比特的变量,
义7丨
卜
_
丨
|;«:0,
其中的移位参数
(
to
,。)
在表4中给出.如下给出
ANT
-2
n
/2
n
密钥
生成算法的更新表达式:
Ki+2 = A3(Ki+1)®Ki®(i+l)
X7
X
q
X5
X4
X2
X
X
q
图
2 ANT-2n/2n
密钥生成算法
图
3 A
操作
Figure 2 Key schedule of ANT-2n/2n Figure 3 Operation
A
表
4 A
橾作中的(
to
,。)移位参数
Table
4
Parameters
(
t
〇,
ti
)
in
A
operation
to
算法名称
7
7
15
1
1
1
ANT-128/128
ANT-128/256
ANT-256/256
对于
ANT
-2
n
/4
n
:类似的,4
n
比特的主密钥
K
=
=
A
:
4n-1 ||^
:
4n-2||
…
||fc3n
,
…||
fc
〇可以分成4个字,
A
:
3n_l||
灸
3n-2|| …||fen
,
私=
Ki
= fc2n-lp2n-2|| ' ' ' ||^n,
K〇
- fcn-l ||fcn_2 || • • • ||A
:〇
作为图4中
LFSR
的初始状态.每次根据第
i
轮子密钥第
(i
+ 1)轮子密钥
Ki
+1,第
(i
+ 2)轮子密钥
i
^+2和第
(i
+ 3)轮子密钥可以更新出第
(i
+ 4)轮子密钥
K
i+4,其中
0
S
i
< /? —4.
LFSR
在进行更新时
,(i
+ 1)作为轮常数,当前寄存器
ATi
+3中的状态经过
Feistel
结构的
^4操作(见图3)迭代更新3次.注意不同分组下,操作的输入分成了 8个
f
比特的变量,义7丨丨...丨|;^,
754
JcmmaZ
〇/
CrypWo
仍
.c
iiesearc/i
密码学报
Vol
.6,
No
.6,
Dec
. 2019
移位参数同样见表
4.
如下给出
ANT-2n/4n
密钥生成算法的更新表达式:
Ki+4
=
A
3(
Ki
+3) 0 ® 0
(t
+ 1)
图
4 ANT-2n/4n
密钥生成算法
Figure 4 Key schedule of ANT-2n/4n
3 ANT算法设计原理
3.1
Feistel
结构结合
Expand
-
then-compress
思想
Feistel
结构是一种经典的分组密码结构.与
SPN
结构相比,具有加解密一致的优势,有利于减小硬
件实现代价.但由于
Feistel
结构每次只更新部分数据,导致基于
Feistel
结构的算法同基于
SPN
结构的
算法相比扩散速度较慢.因此,
ANT
算法在设计的过程中,采用了
Expand
-
then-compress
的设计思想,
将算法的一支先进行扩展复制,再分别进入两个非线性函数和
Gi
.—方面,可以增加扩散速度;另一
方面,可以并行处理以减小轮函数时延.这种设计思想被许多分组密码所采用,如
DES
1131、
PICARO
^
和
SIMON
[15】等.
3.2比特级非线性函数
Go/Gi
非线性函数和
Gi
均为2层结构,并且均采用比特级的设计,仅包含
AND
,
Rotation
和
XOR
三
种操作.相比于传统的
S
盒算法,这样可以极大地减小硬件面积,同时针对侧信道防护的代价很小.除去
中间一层所采用的相同置换
PERM
,
G
0和
Gi
分别由相近的
nibble
基本单元组成,如图5.
而+
3
而
+2
尤
i+1
尤
i+3
尤
i+2 «^i+l
AND
■►〇
Vi
+3
Vi
-^2
Vi+l
Vi
(
右)中的
nibble
基本单元
Figure 5 Basic nibbles in
G
〇
(left) and
G
(right)
图
5 G
〇
(
左)和
由于和
Gi
中的
nibble
基本单元非常简单,仅有
1
个非线性操作
AND
和
1
个线性操作
XOR
组成.因此,置换
PERM
的选择直接影响到算法的安全性,其选择的原则有以下几点:
•保证每个比特经过
Go
/
Gi
后都经过非线性操作.
•保证经过压缩操作之后每个比特的代数度至少为2次.
•结合循环移位参数(
SC
),^)1达到较好的扩散效果.
•方便进行
bitslice
软件实现.
1
循环移位参数(
s
〇,
Sl)
的选取主要是避免相关性对安全性评估造成影响,所以
s
〇
,Sl
的差值非
4
的倍数.通过穷搜在小
分组的特定轮数下所有循环移位参数,以对差分
/
线性抵抗能力为指标进行选取,最终确定为(
3,16
),并将此参数应用到大分组
上,发现仍能达到较好的安全性
.
陈师尧等:
ANT
系列分组密码算法755
从结果看,
ANT
算法的各个分组均达到了较好的扩散性.其中,
ANT
-128的全扩散轮数为5轮,
ANT
-256的全扩散轮数为7轮.考虑到
ANT
算法的轻量级设计和
Feistel
结构,这个扩散速度己经较快
(
SIMON
-128算法的全扩散轮数为13轮).
3.3
密钥生成算法
算法的密钥生成算法在设计时主要考虑以下几点:(1)硬件代价小;(2)扩散性好;(3)匹配轮函
数的时延.因此,我们采用了近年来逐渐被广泛采用的线性的密钥生成算法,通过
LFSR
的形式来更新子
密钥.结合
Feistel
结构的
A
操作,通过迭代多次来换取较大硬件面积才能够达到的扩散效果,这种方式
最早运用在基于
SPN
结构的
CUBE
分组密码算法[161中.我们针对
ANT
算法进行扩展,在保证较好扩
ANT
散效果的同时,进一步减小硬件代价(比如令变量经过
M
移位操作后仅剩下1比特
4 ANT算法安全性分析
4.1
差分分析和线性分析
差分分析(
DC
) 和线性分析(
LC
) 1181均是经典的密码分析方法.为了展示
ANT
系列分组密码
算法对差分攻击和线性攻击的抵抗能力,在表5中给出了不同分组最优的差分特征和线性特征的搜索情况
(利用
SAT
/
SMT
技术进行搜索).由此可以得到,
ANT
-128不存在超过27轮的有效差分或线性特征(28
轮的差分特征的下界为49 + 42 + 42 = 133),
ANT
-256不存在超过47轮的有效差分或线性特征(45
x
6 = 270).
表
5 ANT
算法差分特征和线性特征搜索结果(概率以一
log2j)
形式给出,线性特征使用相关度)
Table 5 Searching results of difTerential/linear characteristics for ANT (probability is given as — log2
p
and the
correlation is used for linear trail)
特征
差分
轮数
2
ANT-128
ANT-256
ANT-128
ANT-256
2
2
1
1
3
4
4
2
2
4
8
8
4
4
5
12
12
6
6
6
20
20
10
10
7
28
28
14
14
8
36
45
20
23
9
42
-
26
10
49
-
>28
-
线性
我们还对
ANT
算法的
differential
和
linear
hull
效应进行了测试,结果发现
ANT
系列算法的
differential
和
linear
hull
效应不显著.根据搜索得到
ANT
-128的6轮最优差分路线(概率为2_2
D
)和6
轮最优线性路线(相关性为首先,利用
SAT
/
SMT
技术进行路线堆积
I
1'发现理论堆积的效果不
显著.然后,随机取100个密钥,在每个密钥下选取224的数据量对路线进行验证.实验结果与理论堆积
的结果相符合.因此,
ANT
系列分组密码算法有较好的差分和线性抵抗能力,设置的轮数足够抵抗差分攻
击和线性攻击.
4.2
不可能差分分析和零相关线性分析
不可能差分分析(
IDC
”2<),211和零相关线性分析(
ZC
) 分别是对差分分析和线性分析方法的拓展.
同样利用
SAT
/
SMT
技术,我们利用比特级的搜索方式
p
3]对不同分组
ANT
的不可能差分和零相关线
性路线进行搜索,结果如表6.
表
6 ANT
算法搜索到的最长
IDC
和
ZC
区分器轮数
Table 6 Longest IDC and ZC distinguishers found for ANT
IDC
路线轮数
9
13
ZC
路线轮嶔
10
13
算法名称
ANT-128
ANT-256
因此,不可能差分和零相关线性攻击对
ANT
系列分组密码算法不够成威胁.如下给出一条
ANT
-128
的9轮
IDC
路线示例:
(i0, r
〇
) = 0000, 8000) (Z9, r9) = (4000, 0000)
756
〇/
CVypb
/
o
仍
c
iiesear
'
c/i
密码学报
Vol
.6,
No
.6,
Dec
. 2019
4.3
积分分析
积分攻击1241利用特定的明文集合在密文处的非随机的代数性质来区分随机置换和目标密码算法.
本文利用
SAT/SMT
技术,基于比特级的可分性1251对不同分组的
ANT
算法进行积分路线搜索.对于
ANT-128,
经搜索发现不存在超过
16
轮的积分路线;对于
ANT-256,
经过搜索发现不存在超过
21
轮的
积分路线.因此
,
ANT
系列分组密码算法的轮数足以抵抗积分攻击.
5 ANT算法性能分析
5.1
软件性能
我们对
ANT
系列分组密码算法进行了
64-bit Windows
下的
CBC
单路加/解密速度测试
,
CBC
多
路解密速度测试和
32-bit ARM
下的
CBC
单路加/解密速度测试.测试过程采用
256
字节短数据进行一
次
CBC
模式下的加密,包含了密钥生成算法的时间.如此进行多次并且每次加密均运行一次完整的密钥
生成算法,最后取速率的平均值.测试环境分别为:
.Windows7, i7-6700, 8 GB DDR4 2400M. VS 2017, x64, avx2.
•
STM32F103ZET6,
主频
72 MHz. EWARM8.2.
具体测试结果见表
7.
可以发现,针对
bitslice
而设计的比特级轮函数结构,使
ANT
算法具有较好的
多路运行速率.
表
7 ANT
算法软件速率优化
C
实现
Table 7 Software performance of ANT under C optimized implementations
实现平台分组
CBC
单路加密
/
解密速率(
Mbps)
597
581
587
2.2
2.1
2.2
CBC
多路解密速率(
Mbps)
6065
6137
2635
-
-
-
ANT-128/128
64-bit Windows
ANT-128/256
ANT-256/256
ANT-128/128
32-bit ARM
ANT-128/256
ANT-256/256
5.2
硬件性能
我们利用
Verilog HDL
语言对
ANT
系列分组密码算法进行了基于单轮的实现,采用
32
个分组数据
进行加/解密,且至少调用1次密钥扩展算法.硬件仿真数据如表8.
表
8
基于单轮实现的硬件指标(综合采用
HJTC 110 nm
标准元件库)
Table 8 Hardware performance for round-based implementations (synthesized with HJTC 110 nm standard cell
libarary)
对比项
运行周期(
Cycles)
时钟约束(
ns)
加密速率(
Mbps)
解密速率(
Mbps)
面积(
um2)
等效门电路数(
GE)
加密吞面比(
Mbps/um2)
解密吞面比(
Mbps/um2)
ANT-128/128
2991
2.14
1300.28
1260.05
31234.66
3220.40
0.0416
0.0403
ANT-128/256
3121
2.07
1288.24
1248.42
49160.10
5068.57
0.0262
0.0254
ANT-256/256
4811
2.14
1616.57
1566.94
63201.84
6516.36
0.0256
0.0248
可以观察到,得益于简单的
AND-RX
结构,
ANT
算法的硬件实现代价非常小,再结合上
Feistel
结
陈师尧等:
ANT
系列分组密码算法
757
构加解密一致的特性,使得
ANT
算法具有优异的硬件实现性能,各版本均具有较高的吞面比.
ANT
-
128/128分组加解密基于轮实现仅需硬件面积3220
GE
.
6总结
本文给出了一款新的分组密码算法一
ANT
,其设计目标是:相比于国际上传统的分组密码算法,更适
合轻量级实现,具有优异吞面比,便于侧信道防护且代价小,同时适合
bitslice
软件多路实现的分组密码
算法.因此在设计过程中,
ANT
算法采用了经典的
Feistel
结构并结合
Expand
-
then
-
compress
的设计理
念.在关键的轮函数上,采用了比特级的设计(与操作,异或操作,置换操作和循环移位操作),与传统利用
S
盒作为非线性组件的算法相比,其硬件面积小且侧信道防护代价小•一些组件如比特级置换的选取也考
虑了软件多路
bitslice
的实现性能.密钥生成算法的设计,一方面采用了近年来应用广泛的线性的密钥生
成算法,达到了较好的扩散性.另一方面,硬件实现代价小并且匹配了轮函数的时延.针对现有常见攻击
方法的安全性分析也表明
ANT
系列分组密码算法具有足够的安全冗余.
References
[1] DAEMEN J, RIJMEN V. AES proposal: Rijndael[OL]. 1999.
/ ~joan/papers/ JDA—VRI_Ri j ndael—V 2_
[2] GUO J, PEYRIN T, POSCHMANN A, et al. The LED block cipher[C]. In: Cryptographic Hardware and
Embedded Systems—CHES 2011. Springer Berlin Heidelberg, 2011: 326-341. [DOI: 10.1007/978-3-642-23951-
9—22]
[3] WU W L, ZHANG L. LBlock: A lightweight block cipher[C]. In: Applied Cryptography and Network Security—
ACNS 2011. Springer Berlin Heidelberg, 2011: 327-344. [DOI: 10.1007/978-3-642-21554-4_19]
[4] ZHANG W, BAO Z, LIN D, et al. RECTANGLE
:
A bit-slice lightweight block cipher suitable for multiple
platforms[J]. Science China Information Sciences, 2015, 58(12): 1-15. [DOI: 10.1007/sll432-015-5459-7]
[5] BORGHOFF J, CANTEAUT A, Gt)NEYSU T, et al. PRINCE: A low-latency block cipher for pervasive comput
ing applications[C]. In: Advances in Cryptology—ASIACRYPT 2012. Springer Berlin Heidelberg, 2012: 208-225.
[DOI: 10.1007/978-3-642-34961-4_14]
[6] GERARD B, GROSSO V, NAYA-PLASENCIA M, et al. Block ciphers that are easier to mask: How far can
we go?[C]. In
:
Cryptographic Hardware and Embedded Systems_CHES 2013. Springer Berlin Heidelberg, 2013:
383-399. [DOI: 10.1007/978-3-642-40349-1_22]
[7] BOGDANOV A, KNUDSEN L R, LEANDER G, et al. PRESENT: An ultra-lightweight block cipher[C]. In:
Cryptographic Hardware and Embedded Systems—CHES 2007. Springer Berlin Heidelberg, 2007: 45Q-466. [DOI:
10.1007/978-3-540-74735-2_31]
[8] SHIRAI T, SHIBUTANI K, AKISHITA T, et al. The 128-bit blockcipher CLEFIA (Extended Abstract) [C]. In:
Fast Software Encryption—FSE 2007. Springer Berlin Heidelberg, 2007: 181-195. [DOI: 10.1007/978-3-540-
74619-5_12]
[9] NIST. NIST Lightweight Standardization Process[OL]. /Projects/lightweight-cryptography
[10] BEIERLE C, JEAN J, KOLBL S, et al. The SKINNY family of block ciphers and its low-latency variant MAN-
TIS[C]. In: Advances in Cryptology—CRYPTO 2016, Part II. Springer Berlin Heidelberg, 2016: 123-153. [DOI:
10.1007/978-3-662-53008-5_5]
[11] BANIK S, PANDEY S K, PEYRIN T, et al. GIFT: A small present[C]. In: Cryptographic Hardware and
Embedded Systems—CHES 2017. Springer Cham, 2017: 321-345. [DOI: 10.1007/978-3-319-66787-4_16]
[12] SONG L, HUANG Z, and YANG Q. Automatic differential analysis of ARX block ciphers with application to
SPECK and LEA[C]. In: Information Security and Privacy—ACISP 2016, Part II. Springer Cham, 2016: 379-394.
[DOI
:
10.1007/978-3-319-40367-0_24]
[13] Data encryption standard (DES)[S/OL]. Federal Information Processing Standards Publication 46-3. 1999.
/csrc/media/publications/fips/46/3/archive/1999-10-25/documents/
[14] PIRET G, ROCHE T, CARLET C. PICARO—A block cipher allowing efficient higher-order side-channel re-
sistance[C]. In: Applied Cryptography and Network Security—ACNS 2012. Springer Berlin Heidelberg, 2012:
311-328. [DOI: 10.1007/978-3-642-31284-7_19]
[15] BEAULIEU R, SHOR D, SMITH J, et al. The SIMON and SPECK lightweight block ciphers[C]. In: Proceedings
of the 52nd Annual Design Automation Conference. ACM, 2015: Article No. 175. [DOI: 10.1145/2744769.2747946]
758
Journal of Cryptologic Research
密码学报
Vol.6, No.6, Dec. 2019
[16] BERGER T P, FRANCQ J, MINIER M. Cube cipher: A family of quasi-involutive block ciphers easy to mask[C].
In: Codes, Cryptology, and Information Security—C2SI 2015. Springer Cham, 2015: 89-105. [DOI: 10.1007/978-
3-319-18681-8_8]
[17] BIHAM E, SHAMIR A. Differential cryptanalysis of DES-like cryptosystems[C]. In: Advances in Cryptology—
CRYPTO ’90. Springer Berlin Heidelberg, 1990: 2-21. [DOI: 10.1007/3-540-38424-3—1]
[18] MATSUI M. Linear cryptanalysis method for DES cipher[C]. In: Advances in Cryptology—EUROCRYPT 593.
Springer Berlin Heidelberg, 1993: 386-397. [DOI: 10.1007/3-540-48285-7_33]
[19] SOOS M, NOHL K, CASTELLUCCIA C. Extending SAT solvers to cryptographic problems[C]. In: Theory and
Applications of Satisfiability Testing—SAT 2009. Springer Berlin Heidelberg, 2009: 244-257. [DOI: 10.1007/978-
3-642-02777-2_24]
[20] BIHAM E, BIRYUKOV A, SHAMIR A. Cryptanalysis of Skipjack reduced to 31 rounds using impossible dif
ferent ials[C]. In: Advances in Cryptology—EUROCRYPT
,
99. Springer Berlin Heidelberg, 1999: 12-23. [DOI
10.1007/3-540-48910-X_2]
[21] KNUDSEN L R. Deal: A 128-bit block cipher[R]. Technical Report 151, Department of Informatics, University of
Bergen, Bergen, Norway, 1998.
[22] BOGDANOV A, RIJMEN V. Linear hulls with correlation zero and linear cryptanalysis of block ciphers[J]. Design.
Codes and Cryptography, 2014, 70(3): 369-383. [DOI: 10.1007/sl0623-012-9697-z]
[23] CUI T T, CHEN S Y, FU K, et al. New automatic search tool for impossible differentials and zero-correlation linear
approximations[J]. SCIENCE CHINA Information Sciences. To be published. [DOI: 10.1007/sl 1432-018-1506-4]
[24] KNUDSEN L R, WAGNER D A . Integral cryptanalysis[C]. In: Fast Software Encryption—FSE 2002. Springer
Berlin Heidelberg, 2002: 112-127. [DOI: 10.1007/3-540-45661-9—9]
[25] XIANG Z J, ZHANG W T, BAO Z Z, et al. Applying MILP method to searching integral distinguishers based
on division property for 6 lightweight block ciphers[C]. In: Advances in Cryptology—ASIACRYPT 2016, Part I.
Springer Berlin Heidelberg, 2016: 648-678. [DOI: 10.1007/978-3-662-53887-6—24]
作者信息
陈师尧(
1992-
:
),
湖北襄阳人,
樊燕红(
1979-)
,山东聊城人,
博士生.主要研宄领域为对称
密码算法的安全性分析和实现
.
博土•生.1:耍研宄领域为对称
細算法的安全性分析
.
^
sychen@
fanyh@
付勇(
1981-)
,山东寿光人,副
研究员.主要研宄领域为密码
工程
.
黄鲁宁(
1979-)
,山东海阳人
,
助理研宄员.主要研宂领域为
对称密码算法的安全性分析
.
yongfu0976@uang@
王美琴(
1974-)
,宁夏银川人,
教授.主要研究领域为对称密
码算法的设计和分析
.
mqwang@
陈师尧等:
ANT
系列分组密码算法
759
附录
发布者:admin,转转请注明出处:http://www.yc00.com/web/1718776710a2752495.html
评论列表(0条)