Identification of sm4 Block Cipher System Based On Randomness Characteristics - 2021

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

第38卷第 9期 计 算 机 应 用 研 究 Vo

l.38No.


021年 9月 Ap
pli
cat
io
nRe
sea
rcho
fCo
mpu
ter
s Sep.20
21

基于随机性特征的 SM4分组密码体制识别 
纪文桃 a,李媛媛 a,秦宝东 a,b
(西安邮电大学 a
.网络空间安全学院;b.无线网络安全技术国家工程实验室,西安 7
101
21)

摘 要:对加密算法的识别是进行密码分析的首要工作。目前的识别方案涵盖了分组密码的识别、流密码的识
别以及对称密码和公钥密码混合算法的识别。随着国密算法的应用普及,其安全性也备受关注。针对国密算法
提出了基于随机性特征的 S M4分组密码体制识别,将国密 S M4算法与国际主要标准分组密码算法进行识别。
利用随机性测试方法对密文进行特征提取,从而得到特征向量,由这些特征向量构成特征空间,最后借助机器学
习算法对特征空间进行训练和测试。实验结果表明,S M4与其他分组密码算法的识别率高达 9 0%以上。后续工
作可以对分类算法和特征选取两个方向进行突破,来验证密码识别方案的有效性和可行性。
关键词:随机性测试;密码体制识别;机器学习;S M4算法;特征提取
中图分类号:TP3 93 文献标志码:A 文章编号:100
13
695(2
021)0
90
48
282
10


oi:
10.
197
34/
j.i
ssn.
100
13
695.
202
1.0
1.0
019


den
tif
ic
ati
ono
fSM4b
loc
kci
phe
rsy
ste
mba
sedo
nra
ndo
mfe
atu
res


iWe
nta
o ,LiYu
any
uana,Qi
nBa
odo
nga
,b

(a.Sc
hoo
lofCy
ber
spa
ceSe
cur
it
y,b
.Nat
io
nalEngi
nee
ri
ngLab
ora
tor
yfo
rWi
re
les
sSe
cur
it
y,Xi
’anUn
ive
rsi
tyo
fPo
sts& Te
lec
ommu
nic
ati
ons

Xi
’an7
1012
1,Ch
ina)

Abstr
act:Th eidenti
fi
c at
iono fencry
ptio
na lg
ori
thmsi sthep r
imarytas
ko fcrypta
n a
lysi
s.Th ec ur
renti
denti
fic
ati
ons chemes
cov
erthei dentif
icat
iono fblockcipher,t
s heidenti
fi
c a
tionofstr
eamc i
phers,andt heident
if
icat
ionofhybri
da l
gori
thmso fsym
metr
icciphe rsandpub l
i cke ycipher
s.Wi t
ht hepopular
izat
ionofCh i
nesenati
onalcrypt
ographicalgo
rit
hms,theirsecur
ityhas
al
soatt
rac te
dmuc ha t
tenti
o n.Forthen at
iona
lsecre
ta l
gorit
hm,t hi
spaperp r
oposedtheS M4b loc
kc i
phersyst
emi dent
if
icat
ion
bas
edo nr andomc har
acterist
ic,a
s ndidenti
fi
edthena ti
onalsecretSM4a lgor
it
h m wit
hth ema i
ni nt
ernat
io
nalstandardb l
ock
ci
pheralgo r
ithm.I tusedt her a
nd o
mne s
stestmethodtope rf
ormfeatur
ee xt
ract
iono nthec i
phert
exttoobtai
nf e
atur
ev ecto
rs.
Thes
ef e
a tureve c
torsf
or medt hefeat
urespace.Final
ly,itusedma chi
nelearni
nga l
g o
rit
hmst otr
ainandtestthefea
turespace.
Exper
iment alresul
tssho wt hattherec
ognit
ionrat
eo fSM4a ndo t
herblockcipheral
g o
rit
hmsa reover90%.Th i
swo r
kp rovi
des
newpossibili
tiesforcrypta
n alys
isanda tthesametimei ncr
easesthediver
sit
yo fpasswor
di dent
ifi
cat
ionschemes.
Keywor ds :r andomnes ste s
t;cognit
ionofciphe
rs yst
em;ma chi
nelear
n i
ng;SM4a lgor
ithm;featur
ee xt
rac
tion

信息安全是大数据时代以来最常见的或者说谈论最多的 序列是否随机有一定的关系。以上所提到的随机性测试指的
关键词之一。无论是对个人乃至国家而言,重要信息的安全都 就是密文序列的随机性问题。密文序列的随机性表现在其统
是第一位的。从密码分析的角度出发,众多研究者的关注点是 计方面,从而实现了保密的作用。对于不同的密码算法,其密
对各种攻击方法的探究,意在能够得到已获取密文对应的明文 文数据的统计特性也会存在相当程度的差异,借助这些统计特
或者其加密算法。而对于不同的密码体制,攻击者也会选择不 性的差异来完成对密码体制的识别。随机性是一种概率性质,
同的攻击方法进行攻击。无论是要提高密码算法的安全性还 而随机性测试可以理解为一种基于概率的测试方法,概率论中
是更好地进行密码分析的工作,对密码算法的识别都是必要 假设检验是其数学基础。近年来,信息安全、计算机软件等领
的。密码体制的识别都是利用机器学习算法把其视为模式识 域都有随机性测试的身影,而且产生了很多的随机性测试方
别的问题,与密码算法本身的安全性没有关系,也不是对密文 法,如用于密码应用程序的随机和伪随机数生成器的统计测试
信息的识别,而是基于密文的某些特征在机器学习算法的辅助 套件 [4],美国商务部国家标准技术协会(NI S
T)公布的 2
001版
[5]
下识别出密文使用了何种密码体制。目前对密码体制的识别 FI
PS I
402标准 和 2 0
10版 SP80
022标准。本文所选择的是
有两个方面:a)逆向分析技术 [1~3],即对软硬件中所用加密算 NIST公布的 2 010版中应用最为广泛的组内频率检测(b lo
ck
法的分析;b)针对唯密文特征的密码体制识别。本文所用到 f
requenc
ytest)、串行测试(s er
ialt
est
)和最长 1游程测试(l on
的识别方法是基于第二个方面的。 ge
strunof
on
e stes )的随机分布特征 [6]。

在对已获取的密文进行识别之前,需要对密文数据进行特
1 相关研究
征提取。常见的方法有统计学方法、熵检测和频域计算等,本
文特征提取使用的方法是随机性测试。从密码算法安全性的 Ma
nju
la等人 [7]对 1
1种密码算法所对应的密文进行了特
角度出发,其包括三个方面:a)支撑密码算法所需的数学基 征处理,得到了大小写等相关的熵特性、文件大小以及大写字
础;b)密码算法的抗攻击能力;c )密码算法加密后的密文是否 母的相关系数八种密文特征。将这八种特征作为 1 1种密码算
[8]
随机。对于判断密码算法的设计是否存在问题,与其对应密文 法的划分属性对其进行识别。2 0
12年,Ch
ou等人 得到了在

收稿日期:202
101
08;修回日期:202
103
04 基金项目:国家自然科学基金项目(6
187
229
2);
青海省基础研究计划项目(2
020
ZJ
701)
作者简介:纪文桃(19
94),男,陕西榆林人,硕士研究生,主要研究方向为基于机器学习的密码体制识别(1
0432
3826
7@q
q.c
om);李媛媛
(199
4),女,陕西宝鸡人,硕士研究生,主要研究方向为基于机器学习的数据隐私保护;秦宝东(1
982),男,江苏徐州人,教授,硕导,博士,主要研
究方向为公钥密码学的基础理论与应用.
·2822· 计 算 机 应 用 研 究 第3
8卷

不同分块长度下的熵特性和符号在密文中出现的数量、基于 文本的数量至少要达到上万条。吴杨等人在其结论中也指出
16位直方图的四种属性以及可变长度字等 1 2种密文特征,分 该方案的密文样本量对识别率的影响还有待进一步研究。结
别在密码分组链接(c i
pher
blockchaini
ng,CBC)和电码本(e l
ec 合不同的机器学习算法和密文特征提取方法,在不同的场景下
tr
on icc o deb ook,ECB)两种工作模式下基于以上特征对高级加 进行密码体制识别方案的设计。无论是用什么样的方式或者
密标准(a dv a
ncee ncr
ypt
ionstandar
d,AES)和数据加密标准(d a 是设计什么样的识别场景,都离不开使用机器学习算法的本
tae nc rypti
ons tandar
d,DES)进行识别。文献[9]提出一种新的 质,即将密码体制识别看做是分类的问题。不再从理论层面出
区分类型攻击,该攻击利用多学科方法,包括语言学和信息检 发去证明这些算法在不同的场景中是否可分,而是依附于人工
索方法来 解 决 此 问 题。从 拓 扑 的 角 度 出 发,对 MARS、RC6、 智能带来的便捷。
Rijnd ae l
、S erpent和 Twofi
sh加密的密文进行先聚类后分类,从 本文提出了基于随机性特征的 S M4分组密码体制识别,侧
而得 到 以 上 五 种 加 密 算 法 的 分 类 结 果。2 0 1
5年,吴 杨 等 重于将国密 S M4算法与部分国际标准分组密码算法进行识别。
人 [10,11]利用游程检测块内频数检测和码元频数检测的方法对 国密算法近年来的应用与发展是显而易见的,对其进行研究的
五种分组密码(AES、Ca mell
ia、DES、 3DES、SMS4)算法加密的密 方案也是层出不穷。为了对国密算法的安全性分析提供帮助,
文关于随机性度量值的个数进行统计,然后用 K me
ans聚类算 本文结合 NI ST标准中应用最为广泛的组内频率检测、 连续块测
法对五组分组密码进行初始聚类,在此基础上进一步对相同类 试和最长 1游程测试方法作为密文特征提取的方法,设计了基
中的密码算法进行识别。2 016年,Ta n等人 [12]关于密钥是否 于密文特征的密码体制识别方案。实验结果表明,S M4与 AES、
一致设计了四种不同的场景对五种常见分组密码加以识别,其 DES、
3DES、
Blowf
is
h、Ca
st五种算法之间的识别率不低于 9 0%。
采用的机器学习算法是主流的 S VM。分析结果表明,在训练 表 1从识别方案是否包含 S M4算法、是否对样本量有限
阶段 和 测 试 阶 段 选 择 相 同 的 密 钥 时,识 别 的 准 确 率 会 高 达 制等方面将本文方案与已有相关工作进行对比。从表 1可以
90%。2 0
1 7年,黄良韬等人 [13]提出了三种簇分方式,即 CM 簇 看出,除了本文方案和文献[1 0]方案包含 S
M4算法的识别,其
分、CS N 簇分和 CS BP簇分,并给出了三种簇分方式的定义及 余方案都未曾涉及 S M4算法。尽管文献[1 0]方案包含对 SM4
其原理。其不再是以往单层的密码体制识别方案,引入了分层 算法的识别研究,但该方案依赖特定样本量下进行聚类识别,
的概念。对所包含的全部密码算法进行初始簇分,可簇分为古 而本文方案利用随机性测试方法对密文进行处理,将每一个随
典密码体制、公钥密码体制、序列密码体制和分组密码体制,在 机性测试方法得到的值构成一个特征向量,由此再构成特征空
此基础上,再进行单分,将同一簇中的密码算法进一步加以识 间。最后再结合有监督学习算法生成分类模型,在该模型上对
别。大多数的密码体制识别方案中,其密码算法都是基于 ECB 测试样本集进行测试。训练样本量越大其训练模型越好,但是
工作模式的。2 018年,Ta n等人 [14]提出了针对 CBC工作模式 在测试阶段,对样本量并没有任何要求的。
的密码体制识别方案。该方案就密钥是否一致和初始向量是 表 1 方案对比
否一致组合了四种情景,对五种分组密码算法进行了多类识别 Ta
b.1 Sc
hemec
ompa
ris
on
和一对一识别。2 018年,李洪超 [15]提出了基于密文特征的密 识别方案
是否包含 是否生成 对样本量 识别率

M4算法 分类模型 是否有要求 /

码算法识别研究,利用傅里叶变换、随机性测试以及熵值计算
文献[7] 否 是 否 7
0~7

等方法,对 1 1种密码算法所生成的密文进行密文特征分布分
文献[8] 否 是 否 4
8~8

析,结合集成学习对密码体制进行识别,对比了 S VM分类算法
文献[1
0] 是 否 是 9
0左右
和决策树单分类器。2 09年,赵志诚等人 [16]提出了基于随机
1 文献[1
2] 否 是 否 4
8~9

森林分类算法的密码体制识别方案,利用 NI ST标准中所提供 文献[1
4] 否 是 否 8
3~9

的1 5种随机性测试方法对六种常用加密算法加密的密文文件 本文方案 是 是 否 9
0~9

进行特征提取。该方案中不单单基于这些特征对 AES、DES、
3DES、I DEA、Bl owf
is
h以及 Ca me l
li
a六种算法进行了一对一的 2 识别方案
识别,而且还选择了在 ECB工作模式下,对 AES加密的密文和
图 1为基于随机性特征的 S M4分组密码体制识别方案的
明文之间进行了识别。除此之外,对 AES加密的密文进行了
工作模式的识别,即 ECB和 CBC工作模式的识别。2 0
20年, 流程。整个密码体制识别模型分为两个部分:第一部分是训练
[1
7]
谈程等人 提出了基于唯密文数据的序列密码识别方案,对 阶段的操作流程,第二部分是测试阶段的操作流程。在整个流
RC4、A5/ 1和 Tr i
vi
um三种流密码进行识别。结果表明,在训 程中共用 k种分组密码算法生成了 n个密文文件,然后对这 n
练阶段和测试阶段即使选择的密钥不同,也具有较高的识别准 个密文文件进行特征提取,得到每个密文文件对应的特征向
确率。2 020年,王旭等人 [18]提出了一种基于集成学习的动态 量,记做 F_Vi,其中 i=1,2,…,n。
特征密码体制识别方案,同时也研究了不同方法下所提取的密 在训练阶段,从 n个密文文件中选取 m个作为训练样本
文特征对识别方案的影响。2 020年,纪文桃等人 [19]提出了基 集,将这 m个文件经过 NI ST密文特征提取器进行特征采集,
于决策树的 S M4分组密码工作模式识别,对国密算法的四种 得到对应的特征向量,由这些向量构成 m维特征空间。然后
工作模式进行了识别,其识别率达到 9 0%以上。 将这些特征空间投入到机器学习分类器中训练,得到测试阶段
上述相关的密码体制识别方案中,涵盖了对分组密码、流 所需的训练模型。在测试阶段, 将剩余的 n-m+1个密文文件
密码以及包含公钥密码的混合密码算法的识别和密码工作模 经过同训练阶段相同的步骤, 得到 n-m+1维特征空间。然后
式的识别。作为国内第一个公开的商用密码分组算法标准, 将其作为训练模型的输入进行测试,最终实现加密算法(AES、
SM4算法在信息安全领域得到了广泛的应用。尽管有大量工 DES、
3DES、
Blowf
is
h、Ca
st和 SM4)的识别。无论是训练阶段还
作分 析 S M4算 法 的 安 全 性,特 别 是 基 于 侧 信 道 的 分 析 技 是测试阶段, 都需要对密文文件进行特征提取。而这一工作主
术 [20,21],但是缺少对国密 S M4算法与其他国际主要标准分组 要借助于 NI ST标准所提供的测试方法, 本文中主要使用了应用
密码算法的密码体制识别研究。尽管吴杨等人基于密文随机 最为广泛的组内频率检测、 串行测试和最长 1游程测试[22,23]。
性度量值提出了一种国密 S M4算法与 AES、DES等国际标准 1)组内频率检测(f re
quenc
ytes
twi
thi
nab
loc
k) 该测试试
分组密码算法的识别方案,但是该方案在识别密码体制时,需 图通过将测试序列分解为多个不重叠的子序列,并应用卡方检
要对相同密码算法生成的密文进行初始化聚类且聚类中密文 验来将经验频率与理想值 1/ 2均匀匹配,以检测与 1的理想频
第 9期 纪文桃,等:基于随机性特征的 S
M4分组密码体制识别 ·2823·

率 1/
2的局部偏差。P值表示在至少一个子串中与 1和 0相等 e
)计算
比例的较大偏差。字符串 0和 1(或等效的 -1和 1)被分成许 p
_va
lue
1=i
ga (2m-2,ψ2
mc m) (7)
多不相交的子字符串。对于每个子字符串,计算一个相对应的 p
_va
lue
2=i
gamc
(2 m-3
,2ψ2
m) (8)
比例。卡方统计将这些子字符串比例与理想值 1/ 2进行比较。 3)最 长 1游 程 测 试 (testf
orth
el o
nge
str
uno
fonesi
na
该统计信息称为卡方分布,其自由度等于子字符串的数量。 b
lok) 最长连续子序列(游程)为 1的长度是可用于测试随

机性的另一个特征。长度为 n的字符串(如 n=MN)必须划分
为 N个子字符串,每个子字符串的长度为 M。根据大小为 M
的第 j个子串中最长的 Vj游程的长度,选择 K+1个类别(取
决于 M),对于这些子串中的每一个,都会评估其 v 0,v
1,…,vk

对应的频率(v 0 +v
1 +… +vk =N,属于 K+1个选定类中的任
何子串,它的每个子串中最长 1游程的计算值)。
该检测方法的流程如下:
a)将序列划分为 M b i
t长的子块。
b)将每块中最长 1游程的频率 v i划分为类, 其中每个单
元格包含给定长度 1游程的次数,如表 2所示。
该检测方法的步骤如下: 表 2 游程的分布
Ta
b.2 Dis
tr
ibu
tio
nofr
uns
a)将 nb
it长的原始序列按 M b i
t长分割成 N个子块,即

i M=8 M=1
28 04
M=1 v
i M=8 M=1
28 04
M=1
N=?n/M」。如果有剩余位,直接忽略。

0 ≤1 ≤4 0
≤1 v
4 8 1

b)使用 公 式 确 定 每 个 M 位 块 中 1的 比 例 πi。 πi = v 2 5 1
1 v 1

1 5 ≥9

(∑ε(i-1)M+j
)/M(1≤i
≤M);ε为被测试的随机序列。 v
2 3 6 1
2 v
6 6
≥1
=1


3 ≥4 7 1


2 2 1 2

)计算 χ 统计。χ(o
bs)=4M∑ (πi- ),其表示序列 K
i=1 2 c 2
)计算 χ(o
bs)=∑ (v
i-N

πi) /(Nπi),K和 N的取值如
i=1
中 1的占比与 1/
2的接近程度。

表 3所示。
N χ (ob
s)
d)计算 p_v
alu
e值。p_v
alu
e=i
ga


mc

,当考 ( ) Ta
b.
表 3 K和 N的取值
3 Thev
alu
eofKa
ndN
虑零假设时,所选检验统计量将采用等于或小于观察到的检验 M K N
统计量值的概率(在随机性零假设下)。p_v al
ue值通常称为 8 3 1

“尾部概率”,i
gamc是 Q(a,x
)的不完全伽马函数。 1
28 5 4

Γ(a,x
) 1 ∞ 04
1 6 7

Q(a,x
)≡ ≡
Γ(a) Γ(a) ∫e t

-ta-1
dt
d)计算

Γ(a)= ∫t

a-1 -t
e dt (1)

_va
lue=i
gamc ( ,

K χ(obs

) (9)
2 2
2)串行测试(s
eri
alt
est
) (通用)串行测试代表了一系列
基于测试给定长度的模式分布的均匀性程序。该方法重在测 3 实验结果与分析
试 m位重叠的序列模式在整个序列中发生的频率,所有 m位
重叠的情况达到 2m 种。需要确定随机序列预期发生的次数是 本实 验 所 要 用 到 的 工 具 有 GmS
SL、Open
SSL、VsCo
de和
否同所有重叠序列发生的次数相同,而这是具有一致性的,即 NI
ST随机性测试包。通过 GmS S
L得到 S M4算法加密的密文
其发生的机会是一样的。 文件,用 OpenSSL获得 AES、DES、3DES、Blo
wfi
sh、Ca
st五种分
该检测方法的过程如下: 组密码算法加密的密文文件。所有分组密码算法都选择 CBC
a)形成增强序列 ε′。通过将前 m-1位附加到序列的末 工作模式,而且训练阶段和测试阶段对同一密码算法加密的密
尾以扩展成 n长的序列。 文文件使用相同的密钥。在此基础上,利用 NI ST随机性测试
b)确定所有可能的重叠 m位块,所有可能的重叠(m-1) 包对这些密文文件进行特征提取,将得到的特征构成特征向
位块和所有可能的重叠(m-2)位块的频率。设 Vi1…im表示 m 量。最后由 Vs Cod
e实现的机器学习分类算法进行分类,实现
本文方案的基本诉求。在进行密文特征处理时,需要设置相应
位模式 i
1…i
m 的频率,令 Vi1…im表示(m-1)位模式 i
1…i
m-1的
的参数。不同的测试方法所对应的取值范围如表 4所示,其中
频率,令 Vi1…im-2表示(m-2)位模式 i
1…i
m-2的频率。
非重叠测试和重叠测试为了有更好的实验效果,有特定的常规

)计算
取值,其他方法则根据具体情况选择即可。根据在这些范围中
2m n 2m
ψ2
m= ∑ (v - )2 = ∑ v 2
-n (2) 选择不同的值,可以得到不同的特征标量,从而丰富特征向量。
ni1…im i1…im 2m ni1…im i1…im
表 4 参数的取值范围
2m-1 n 2 2m-1
ψ2
m-1 = ∑ (v - )= ∑ v 2
-n Ta
b.4 Pa
rame
terv
alu
era
nge
n i1…im-1 i1…im-1 2m-1 n i1…im-1 i1…im-1
测试方法 分组长度取值 常规取值
(3)
组内频率检测 M≥2
0 —
m-2 m-2
2 n 2 2
ψ2
m-2 = ∑ (v - )= 2
∑ v -n 非重叠块测试 2≤m≤10 m=9或 m=1

n i1…im-2 i1…im-2 2m-2 n i
1…i
i1…i
m-2
m-2
重叠块测试 m≈lo
g2M m=9或 m=1

(4) m<?l
og
近似熵检测 2n」-5 —
d)计算 串行测试 m<?l
og2n」-2 —
ψ2
m =ψ

m -ψ

m-1 (5) 线性复杂度测试 5
00≤M≤5
000 —

2ψ2
m =ψ

m -2ψ2
m-1 +ψ

m-2 (6) 特征向量是由组内频率测试、串行测试和最长 1游程测试
·2824· 计 算 机 应 用 研 究 第3
8卷

的p _val
ue值构成的,其中组内频率测试分别取其 1 28位分组 类算法加以改进。
长度和 6 4位分组长度对应的 p _val
ue值。 参考文献:
本文分别对 S M4、AES、DES、
3DES、Bl
owfi
sh和 Ca
st的密文 [1] 李继中,尹青.基于 Ba
yes决策的密码算法识别技术[J
].计算机
文件进行随机性测试分析,得到这些分组算法密文文件在四种 工程,
2008,
34(2
0):
159
160,
163.(LiJ
izh
ong
,Yi
nQi
ng.Cr
ypt
o
测试情况下的 p _v
alue值。这些值由随机性测试实验得到,为 g
rama
lgo
rit
hmr
eco
gni
ti
ont
echn
olo
gyba
sedo
nBa
yesde
cis
ion
maki
ng
介于 0~1的随机值。密码算法在不同 p _val
ue值下的分布如 [J
].Comput
erEngi
neer
ing,
200
8,34(20):
159
160,
163.)
图 2所示。其中,BF表示分组长度为 1 28位的组内频率测试 [2] 张经纬,舒辉,蒋烈辉,等.公钥密码算法识别技术研究[J
].计算
下的 p _val
ue值,Bf1表示分组长度为 6 4位的组内频率测试所 机工程 与 设 计,2
011,32(1
0):3
2433
246.(Zh
angJ
ing
wei
,Sh

对应的 p _val
ue值,S表示串行测试的 p _val
ue值,以及 LR表示 Hui
,Ji
angLi
ehu
i,e
tal
.Re
sea
rcho
npu
bli
cke
y’sc
rypt
ogr
aph
yal
go
最长 1游程测试的 p _val
ue值。 r
it
hmr
eco
gni
ti
ont
ech
nol
ogy[J
].Comput
erEngi
neer
ingandDe
si
gn,
2011,
32(10):
324
33
246.)
[3] 李继中,蒋烈辉,舒辉,等.基于动态循环信息熵的密码函数筛选
技术 [J].计 算 机 应 用,2
014,34(4):1
0251
028,1
033.(Li

izho
ng,J
iangLi
ehu
i,ShuHu
i,e
tal
.Te
chn
iqu
eofc
rypt
ogr
aph
ic

unc
ti
onf
il
tr
ati
onb
ase
dondy
nami
clo
opi
nfo
rma
ti
one
ntr
opy[J
].
Jour
nalofComput
erAppl

cat

ons,2
014,34(4):1
025102
8,
10
33.)
[4] Rukh
inA,So
toJ
,Ne
chv
ata
lJ.As
tat
is
ti
calt
ests
uit
efo
rra
ndo
mand
ps
eud
ora
ndo
mnu
mbe
rge
ner
ato
rsf
orc
ryp
tog
rap
hica
ppl
ic
ati
ons
,SP
800
22[R].
200
1.
[5] FI
PSPUB1
40
22
001,S
ecu
rit
yre
qui
reme
ntsf
orc
rypt
ogr
aphi
cmo

dul
es[S].Wa
shi
ngt
onDC:Na
ti
ona
lIn
sti
tut
eofS
tan
dar
dsa
ndTe
ch
no
log
y,2001.
[6] Spe
cia
lpu
bli
cat
io
n800
22r
evi
si
on1a
[S].Wa
shi
ngt
onDC:Na
ti
ona


nst
it
uteo
fSt
and
ardsa
ndTe
chn
olo
gy,
201
0.
完成以上工作,需要对得到的特征空间在 Vs Code提供的 [7] Ma
njul
aR,An
ith
aR.I
den
tif
ic
ati
ono
fen
cry
pti
ona
lgo
rit
hmu
singde

C4.5算法下进行分类。如表 5所示,首先进行了 S M4与 AES、 c
isi
ont
ree[J
].Advanc
edComput

ngCommuni
cat

onsi
nCom
DES、3DES、Bl
owf
is
h、Ca
st五种算法之间的识别,其识别的准确 put
erandI
nfor
mat

onSc
ienc
e,2
011,
133(3):
237
246.

率高达 9 0%以上。在识别过程中,训练阶段和测试阶段的密 [8] Cho


uJunwe
i,Li
nSho
ude
,Ch
engCh
enmo
u.Ont
hee
ff
ect
iv
ene
sso

us
ings
tat
eo
ft
he
artma
chi
nel
ear
nin
gte
chn
iqu
est
ola
unc
hcr
ypt
o
钥空间是一致的,并且所有分组算法都是在 CBC模式下工作。

rap
hicdi
st
ing
uis
hin
gat
ta
c [C]//
ks Pro
coft
he5t
hACM Wo
rks
hop
表5 S M4与五种算法的识别
Ta
b.5 I
dent
if
ic
ati
ono
fSM4a
ndf
iv
eal
gor
it
hms o
nSe
cur
it
yan
dAr
ti
fi
ci
alI
nte
ll
ig
enc
e.Ne
wYo
rk:ACM Pr
ess
,20
12:
密码算法 密钥是否一致 识别率 /
% 工作模式 10
511
0.

M4v
sAES 是 9
0.0
0 CBC [9] DeS
ouz
aW,To
nli
nso
nA.Ad
ist
ing
uis
hin
gat
ta
ckwi
thane
ura
lne
t

M4v
sDES 是 9
1.6
7 CBC wo
rk[C]//
Pro
coft
he1
3thI
EEEI
nte
rna
ti
ona
lCo
nfe
renc
eonDa
ta

M4v
s3DES 是 9
2.8
5 CBC Mi
ningWo
rks
hop
s.Wa
shi
ngt
onDC:I
EEE Co
mpu
terS
oci
et
y,20
13:

M4v
sBl
owf
is
h 是 9
0.4
7 CBC 15
416
1.

M4v
sCa
st 是 9
4.4
4 CBC [1
0]吴杨,王韬,李进东.分组密码算法密文的统计检测新方法研究
其次,本文还对 AES、DES、3DES、Bl
owf
is
h、Ca
st五种经典 [J
].军械工程学院学报,2
015,27(3):5
864.(WuYa
ng,Wa
ng
分组算法进行了两两识别,其识别结果如表 6所示。其中,除 Ta
o,LiJ
indo
ng.Re
sea
rcho
nan
ewme
tho
dofs
tat
is
ti
calde
tec
ti
ono

DES和 DES
3的识别率为 8 1.82%,其余算法之间的识别率均 bl
ockc
iphe
ral
gor
it
hmc
iph
ert
ext
[J].J
our
nalofOr
dnanceEngi

neer
i ege,
ngCol
l 201
5,27(3):
58
64.)
在8 5%以上。
[11]吴杨,王韬,邢萌,等.基于密文随机性度量值分布特征的分组密
表 6 五种算法的相互识别
Ta
b.6 Mut
ualr
eco
gni
ti
ono
ffi
vea
lgo
rit
hms 码算法识 别 方 案 [J
].通 信 学 报,2
015,36(4):1
471
55.(Wu
密码算法 工作模式 正确率 /
% 密码算法 工作模式 正确率 /
% Ya
ng,Wa
ngTa
o,Xi
ngMe
ng,e
tal
.Re
cog
nit
io
nsc
hemeo
fbl
ockc
i
AESv
sDES CBC 9
0.9
1 DESv
sBl
owf
is
h CBC 8
6.6
7 phe
ral
gor
it
hmb
ase
dond
ist
ri
but
io
nch
ara
cte
ris
ti
cso
fci
phe
rte
xtr
an
AESv
s3DES CBC 9
1.6
7 DESv
sCa
st CBC 9
2.8
6 do
mne
ssme
asu
rev
ale[J
u ].J
our
nalofCommuni
cat

ons,2
015,36
AESv
sBl
owf
is
h CBC 8
5.7
1 3DESv
sBl
owf
is
h CBC 9
3.3
3 (4):
147
155.)
AESv
sCa
st CBC 9
2.3
1 Bl
owf
is
hvsCa
st CBC 9
3.7
5 [1
2]Ta
nChe
ng,J
iQi
ngb
ing
.Ana
ppr
oac
htoi
den
tif
yi
ngc
ryp
tog
rap
hica
l
DESv
s3DES CBC 8
1.8
2 g
ori
thmf
romc
iph
ert
ext
[C]//
Pro
coft
he8t
hIEEEI
nte
rna
ti
ona
lCo
n

ere
nceo
nCo
mmu
nic
ati
onS
oft
war
eandNe
two
rks
.Pi
sca
tawa
y,NJ

4 结束语 I
EEEPr
ess
,20
16:
19
23.
[13]黄良韬,赵志诚,赵亚群.基于随机森林的密码体制分层识别方案
本文提出了一种基于随机性特征的 S M4分组密码体制识
[J
].计算机学报,2
018,41(2):3
823
99.(Hua
ngLi
ang
tao
,Zha

别方案,不仅对 SM4与 AES、DES、3DES、Blo
wfi
sh、Ca
st这五种 Zhi
che
ng,Zh
aoYa
qun.Hi
era
rch
ica
lre
cog
nit
io
nsc
hemeo
fcr
ypt
osy
s
算法进行了识别,而且还将这五种经典的分组算法进行了两两 t
emba
sedo
nra
ndo
mfo
res
t[J
].Chi
neseJ
our
nalofComput
ers,
识别。S M4与其他算法的识别率高达 9 0%以上,而在五种算 20
18,
41(2):
382
399.)
法相互识别中,有三组密码算法的识别率在 8 0% ~90%,其余 [1
4]Ta
nCh
eng
,De
ngXi
aoy
an,Zha
ngLi
jun.I
dent
if
ic
ati
ono
fbl
ockc
i
均在 9
0%以上。在后续的研究工作中,需要对密文特征的选 phe
rsu
nde
rCBC mo
de[J
].Pr
ocedi
aComput
erSc
ience,20
18,
取以及特征之间是否相互影响等角度加以考虑,或者对目前分 131:
65
71. (下转第 28
30页)
·2830· 计 算 机 应 用 研 究 第3
8卷

分析攻击下的安全性。首先选择了一条 1 3轮截断不可能差分 2 9:
01 50
66.
区分器,在此基础上,在顶部增加 3轮,在底部增加 5轮,构成 [7] Ahma
diS,Ar
efMR.Ge
ner
ali
zedme
eti
nth
emi
ddl
ecr
ypt
ana
lys
iso

了2 1轮 CRAFT的不可能差分分析攻击路径,该路径运用了 b
loc
kci
phe
rswi
tha
nau
toma
teds
ear
cha
lgo
rit
hm[J
].I
EEEAc
cess,
201
9,8:
228
42
301.
52bi
t的轮密钥的线性关系,是所给的 1 2条不可能差分链中
[8] Mo
gha
dda
m AH E,Ah
mad
ianZ.Ne
wau
toma
ti
cse
arc
hme
tho
dfo

攻击效果最好的一条路径;再结合预计算表技术进行时间 / 存

run
cat
ed
dif
fe
ren
tia
lch
ara
cte
ris
ti
csa
ppl
ic
ati
ont
oMi
dor
i,S
KINNY
储/数据权衡,提出了对 2 1轮 CRAFT的不可能差分分析,攻击

ndCRAFT[J
].TheComput
erJ
our
nal
,20
20,
63(1
2):
181
31
825.
需要的数据复杂度为 253.6个选择明文,时间复杂度为 296.74次
[9] Dunk
elma
nO,Ke
ll
erN,S
hami
rA.I
mpr
ove
dsi
ngl
ek
eya
tt
ackso

加密,存储复杂度为 256.6 6
4比特块。此攻击是在单密钥和单 8
roundAES
192a
ndAES
256[C]//
Adv
anc
esi
nCr
ypt
ol
ogy
ASI
A
调柄值情形下对缩减轮 CRAFT的时间复杂度最低的分析结 CRYPT.Be
rli
n:S
pri
nge
r,2
010:
158
176.
果,该方法依赖于调柄值调度算法的线性相关,表明了其对 [1
0]LiLe
ibo
,Ji
aK,Wa
ngXi
aoy
un.I
mpr
ove
dsi
ngl
ek
eya
tt
ack
son9
CRAFT整体安全性的影响,有助于更进一步理解 CRAFT的设 r
oun
dAES1
92/
256[C]//
Pro
cofI
nte
rna
ti
ona
lWo
rks
hopo
nSo
ft

计,为日后在实际环境中的安全使用提供理论依据。通过研究 wa
reEn
cry
pti
on.Be
rli
n:Sp
ring
er,
201
5:1
27
146.
本文的攻击过程发现改变区分器输入 / 输出活动半字节的个数 [1
1]Bi
hamE,Bi
ryuk
ovA,S
hami
rA.Cr
ypt
ana
lys
iso
fsk
ipj
ackr
educ
ed
限制,会产生不同的截断差分模式,调柄值的加入也会影响中 t
o31r
oun
dsus
ingi
mpo
ssi
bled
iff
ere
nti
al
s[C]//
Adv
anc
esi
nCr
ypt
o

间状态的扩散速度。因此,未来可以通过加入适当的调柄值, l
ogy
—EUROCRYPT.Be
rli
n:S
pri
nge
r,1
999:
12
23.
[1
2] LiRo
ngj
ia,J
inCh
enh
ui.Me
et
in
the
mi
ddl
eat
ta
ckso
n10
roun

改变区分器的活动字节数获得更优截断差分路径,进而尝试改
AES
256[J
].Des
igns,CodesandCr
ypt
ogr
aphy,2
016,80(3):
进本文分析方法以便攻击更多轮的 CRAFT并获得更好的安全
459
471.
边界。
[1
3]刘亚,刁倩倩,李玮,等.
10轮 Mi
dor
i12
8的中间相遇攻击[J
].计
参考文献: 算机应用研究,2
019,36(1):23
023
4,2
38.(Li
uYa
,Di
aoQi
an
[1] Bo
gda
novA,Knuds
enLR,Le
ande
rG,e
tal
.PRES
ENT:a
nul
tr
a q
ian,LiWe
i,e
tal
.Me
et
in
the
mi
ddl
eat
ta
ckso
n10
rou
ndMi
dor


ig
htwe
ightbl
ockc
iphe
r[C]//
Pro
cofI
nte
rna
ti
ona
lWo
rks
hopo
n 128[J
].Appl

cat

onRes
ear
chofComput
ers,20
19,36(1):2
30
Cr
ypt
ogr
aph
icHa
rdwa
rea
nd Emb
edd
edS
yst
ems
.Be
rli
n:Spr
ing
er, 23
4,238.)
200
7:450
466. [1
4]To
lbaM, Ab
del
kha
lek A, Yo
uss
efA M. I
mpo
ssi
bled
iff
ere
nti
al
[2] GuoJ
ian,Pe
yri
nT,Po
sch
mannA,e
tal
.TheLED bl
ockc
iph
er c
ryp
tan
aly
siso
fre
duc
ed
rou
ndS
KINNY[C]//
Pro
cofI
nte
rna
ti
ona

[C]//
Pro
cofI
nte
rna
ti
ona
lWo
rks
hopo
nCr
ypt
ogr
aph
icHa
rdwa
rea
nd Co
nfe
renc
eonCr
ypt
ol
ogyi
nAf
ri
ca.Ch
am:S
pri
nge
r,2
017:
117
134.
Embe
dde
dSy
ste
ms.Be
rli
n:Sp
ring
er,
2011:
326
341. [1
5]李明明,郭建胜,崔竞一,等.Mi
dor
i64算法的截断不可能差分分
[3] S
hib
uta
niK,I
sobeT,Hi
wat
ariH,e
tal
.Pi
cco
lo:a
nul
tr
al
ig
ht 析[J
].软 件 学 报,20
19,30(8):2
3372
348.(LiMi
ngmi
ng,Gu

we
igh
tbl
ockc
iphe
r[C]//
Pro
cofI
nte
rna
ti
ona
lWo
rks
hopo
nCr
ypt
o J
ian
she
ng,CuiJ
ing
yi,e
tal
.Tr
unc
ate
dimpo
ssi
bled
iff
ere
nti
alc
ryp
ta

raph
icHa
rdwa
rea
ndEmbe
dde
dSy
ste
ms.Be
rli
n:Spr
ing
er,20
11: n
aly
siso
fMi
dor
i64[J
].J
our
nalofSof
twar
e,20
19,30(8):2
337
342
357. 234
8.)
[4] Be
ier
leC,Le
ande
rG,Mo
radiA,e
tal
.CRAFT:l
ig
htwe
igh
ttwe
ak [16]欧海文,王湘南,李艳俊,等.ARI
A算法的一个新不可能差分路径

bleb
loc
kci
phe
rwi
the
ff
ic
ientp
rot
ect
io
nag
ains
tDFA a
tt
ack[J
s ]. 及相应攻击 [J
].密码 学 报,2
020,7(4):4
654
72.(OuHa
iwe
n,

ACRTr
ansonSymmet
ri
cCr
ypt
ology,
2019(1):
54
5. Wa
ngXi
ang
nan,LiYa
njun,e
tal
.An
ewi
mpo
ssi
bled
iff
ere
ncep
ath
[5] Ha
dipo
urH,S
ade
ghiS,Ni
kna
mMM,e
tal
.Co
mpr
ehe
nsi
ves
ecu
rit
y a
ndc
orr
esp
ond
inga
tt
ackf
orARI
Aal
gor
it
hm[J
].J
our
nalofCr
ypt
o

nal
ysi
sofCRAFT[J
].I
ACR Tr
ansonSymmet
ri
cCr
ypt
ology, l
ogi
cRes
ear
ch,
202
0,7(4):
465
472.)
201
9(4):
290
317. [1
7]洪豆,陈少真.改进的 SKI
NNY算法的不可能差分分析[J
].密码
[6] El
She
ikhM,Yo
uss
efAM.Re
lat
ed
keydi
ff
ere
nti
alc
rypt
ana
lys
iso
f 学报,
2018,
5(2):
126
139.(Ho
ngDo
u,Ch
enS
hao
zhe
n.I
mpr
ove


ullr
oundCRAFT[C]//
Pro
cofI
nte
rna
ti
ona
lCo
nfe
ren
ceo
nSe
cur
it
y, i
mpo
ssi
ble
di
ff
ere
nti
alc
ryp
tana
lys
iso
fre
duc
ed
rou
ndSKI
NNY[J
].
Pr
iva
cy,a
nd Ap
pli
ed Cr
ypt
ogr
aphyEng
ine
eri
ng.Cha
m:Spr
ing
er, J
our
nalofCr
ypt
ologi
cRes
ear
ch,
201
8,5(2):
126
139.)

(上接第 2
824页) 识别[J/
OL].计算机工程.[2
020
12
18].DOI
:10.
19678/
j.i
ssn.
[15]李洪超.基于密文特征的密码算法识别研究[D].西安:西安电子 1
000
342
8.00
586
08.(J
iWe
nta
o,LiYua
nyu
an,Qi
nBa
odo
ng.SM4
科技大学,
201
8.(LiHo
ngc
hao
.Ci
phe
rt
extf
eat
ure
sba
sec
iphe
rsy
s bl
ockc
iphe
rwo
rkp
att
ernr
eco
gni
ti
onb
ase
dond
eci
si
ont
ree
[J/
OL].

emr
eco
gni
ti
on[D].Xi
’an:Xi
dia
nUni
ver
si
ty,
2018.) Comput
erEngi
neer
ing.[2
0201
21
8].DOI
:10.1
9678/
j.i
ssn.
[16]赵志诚,赵亚群,刘凤梅.基于随机性测试的分组密码体制识别方 1
000
3428.
005
860
8.)
案[J
].密 码 学 报,201
9,6(2):1
771
90.(Zha
oZhi
che
ng,Zha
o [2
0]陈颖,陈长松,胡红钢.SM4硬件电路的功耗分析研究[J
].信息
Ya
qun,Li
uFe
ngme
i.Re
cog
nit
io
nsc
hemeo
fbl
ockc
iph
ers
yst
em 网络安全,
201
8,18(5):
52
58.(Ch
enYi
ng,Ch
enCh
ang
song
,Hu
ba
sedo
nra
ndo
mne
sst
es[J
t ].J
our
nalofCr
ypt
ogr
aphy,2
019,6 Ho
ngg
ang
.Re
sea
rcho
npo
wera
nal
ysi
sofS
M4ha
rdwa
rei
mpl
eme
nta

(2):
177
190.) t
in[J
o ].Net

nfoSec
uri

y,2
018,
18(5):
52
58.)
[17]谈程,陈曼,吉庆兵.基于唯密文数据的序列密码识别[J
].通信 [2
1]王敏,饶金涛,吴震,等.S
M4密码算法的频域能量分析攻击[J
].
技术,
202
0,53(1):
156
160.(Ta
nCh
eng
,Che
nMa
n,J
iQi
ngbi
ng, 信息网络安全,
201
5,15(8):1
41
9.(Wa
ngMi
n,Ra
oJi
nta
o,Wu

tal
.Id
ent
if
ic
ati
ono
fst
rea
mci
phe
rba
sedo
npur
eci
phe
rte
xtda
ta n,e
Zhe tal
.Po
wera
nal
ysi
sat
ta
cka
gai
nstS
M4i
nfr
eque
ncyd
oma
in
[J
].Communi
cat

onsTec
hnol
ogy,
202
0,53(1):
156
160.) [J
].Net

nfoSec
uri

y,2
015,
15(8):
14
19.)
[18]王旭,陈永乐,王庆生,等.结合特征选择与集成学习的密码体制 [2
2]徐沛帆.随机性测试方法实现与应用[D].西安:西安电子科技大
识别方案[J
].计算机工程,2021,47(1):1
391
45,153).(Wa
ng 学,
2019.(XuPe
if
an.I
mpl
eme
nta
ti
ona
nda
ppl
ic
ati
ono
fra
ndo
mne
ss
Xu,Che
nYo
ngl
e,Wa
ngQi
ngs
heng
,etal
.Cr
ypt
osy
ste
mide
nti
fi
ca t
estme
tho
d[D].Xi
’an:Xi
dia
nUni
ver
si
ty,
201
9.)

io
nsc
hemec
ombi
nin
gfe
atu
res
ele
cti
ona
nde
nse
mbl
ele
arn
ing[J
]. [2
3]刘志巍.密码算法的随机性测试研究[D].西安:西安电子科技大
Comput
erEngi
neer
ing,
2021,
47(1):
139
145,
153.) 2
学,011.(Li
uZh
iwe
i.Thes
tudyo
fst
at
is
ti
calt
est
sofc
ryp
tog
rap
hic
[19]纪文桃,李媛媛,秦宝东.基于决策树的 SM4分组密码工作模式 a
lgo
rit
hm[D].Xi
’an:Xi
dia
nUni
ver
si
ty,
201
1.)

You might also like