ant系列分组密码算法

ant系列分组密码算法


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

~

mail

:

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条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信