对!#$%&%’#(的实际伪造攻击 -...
TRANSCRIPT
书书书
第!"
卷!
第!
期
#$%&
年!
月
计!!
算!!
机!!
学!!
报
'()*+,+-./0*12.3'.45/6+0,
789:!" *8:!
4;<:#$%&
!
收到日期!
#$%=>$#>#?
"最终修改稿收到日期!
#$%=>$&>$@:
本文已被1AB;'',#$%=
以长摘要的形式接收:
本课题得到国家#九七三$重
点基础研究发展规划项目基金%
#$%!'C!!@$$#
&资助:
姚!
远'男'
%"@"
年生'博士研究生'主要研究方向为对称密码的分析:+>D;B9
!
E
;8
E
F;G
!
HI;:BAI;A:;I:IG:
张!
斌'男'
%"?&
年生'博士'研究员'博士生导师'主要研究领域为对称密码的分析与设计:
吴文玲'女'
%"&&
年生'博士'研究员'博士生导师'主要研究领域为分组密码的设计与分析(分组密码工作模式和可证明安全理论的研究:
对!"#$
%
&
%
'"#(
的实际伪造攻击
姚!
远%
&'
#
&
!
张!
斌%
&
!
吴文玲%
&
%
&
%中国科学院软件研究所可信计算与信息保障实验室!
北京!
%$$%"$
&
#
&
%中国科学院大学!
北京!
%$$%"$
&
摘!
要!
随着移动互联网的兴起和大数据时代的来临'人们迫切需要安全高效的认证密码算法:#$%!
年'在*),6
的赞助下'
CJ<GAHJBG
等人发起了名为'1+,10
的认证密码竞选:
对竞选算法的安全性评估已成为当前对称密码学
研究领域的热点问题:0;KB
E
8
E
9;K%
是提交到'1+,10
第%
轮竞选的候选算法之一:
它是建立在J,H<J;D
计划的候
选算法41LK#
的基础上的流密码算法'并采用带密钥的杂凑函数进行认证:
虽然设计者声称0;KB
E
8
E
9;K%
具有
%#@
比特的完整性'但是该文成功地构造了一种针对0;KB
E
8
E
9;K%
的实际伪造攻击'从而说明该算法是极不安全
的:
具体地'通过在明文消息中引入特殊形式的差分'攻击者能够使算法的内部状态在输出认证标签时没有差分:
而且'这种差分并不局限于某些具体值'从而可以利用同一个消息得到多个伪造:
理论分析表明'该形式的差分有
超过$M!$?%N!
的概率使得内部状态发生碰撞:
因此'平均而言只需要大约!
次实验即可成功地进行伪造:
特别地'
若将差分限定到一些特殊值上'成功概率非常接近于%:
单机实验结果显示'攻击者能够在几秒钟之内成功地进行
伪造:
尽管设计者针对上述攻击提出了一种可能的改进方案'但文章的进一步分析表明改进并不是本质的'修改后
的算法仍然不能抵抗基于差分的伪造攻击:
针对设计者提出的各种可能的修正'该文都给出了实际可行的攻击:
实
验证实'这些攻击具有很高的成功概率且在单机上只需花费几秒钟的时间:
文章最后列举了所有可能情形下的伪
造示例:
据我们所知'公开文献中尚无对0;KB
E
8
E
9;K%
及其改进版的认证部分的分析'因此该文对'1+,10
竞选有
重要意义:
关键词!
'1+,10
"
0;KB
E
8
E
9;K%
"伪造攻击"差分分析
中图法分类号65!$"
!!!
)*+
号%$:%%@"?
)
,5:-:%$%&:#$%&:$$N?@
,-$.
/
'0
1
203
%
4&3
/
03
%
,55"67&.!"#$
%
&
%
'"#(
O1.OF;G
%
&'
#
&
!
P(1*LCBG
%
&
!
Q/ QJG>2BG
R
%
&
%
&
%
!"#$%&'()*
+
#%,-
.
/-'0-
1
)"*/%,)-2$$#"/-3&4/5)"/%)"
6
'
0-$%,%#%&)
1
7)
1
%8/"&
'
(9,-&$&23/'&*
6
)
1
73,&-3&$
'
:&,
;
,-
.
!
%$$%"$
&
#
&
%
<-,=&"$,%
6
)
1
(9,-&$&23/'&*
6
)
1
73,&-3&$
'
:&,
;
,-
.
!
%$$%"$
&
,8953"65
!
0;KB
E
8
E
9;K%BA;G;FHSJGHBI;HJTJGI<
EU
HB8G;9
R
8<BHSDAFVDBHHJTW8<HSJWB<AH<8FGT8W
HSJ'1+,10I8D
U
JHBHB8G
'
XSBISBA;
R
<;GT8II;AB8G9;FGISJTBG#$%!XBHSHSJAF
UU
8<H8W*),6H8
BTJGHBW
E
JWWBIBJGH
'
W9JYBV9J;GTAJIF<J;FHSJGHBI;HJTJGI<
EU
HB8G
U
<BDBHBKJA:0;KB
E
8
E
9;K%BAI8D
U
8AJT
V
E
;G;TTBHBKJAH<J;DIB
U
SJ<D8HBK;HJTV
E
HSJJ,H<J;DI;GTBT;HJ41LK#;GT;ZJ
E
JTS;ASWFGIHB8G:
QSB9JHSJTJAB
R
GJ<TJI9;<JA%#@VBHAJIF<BH
E
W8<;FHSJGHBI;HB8G
'
XJ
U
<8
U
8AJ;DJHS8TH8I8GAH<FIH
W8<
R
J<BJAFABG
R
;ABG
R
9J
[
FJ<
E
BGHSBA
U
;
U
J<;GTHSJI8D
U
9JYBH
E
BAGJ
R
9B
R
BV9J:)GTJJT
'
XJBGH<8TFIJ
;TBWWJ<JGHB;98W;A
U
JIBWBIW8<DH8HSJ
U
FV9BIDJAA;
R
J;GTH<
E
H8I;GIJ9BG
R
BHVJW8<J8FH
U
FHHBG
R
;G
E
;FHSJGHBI;HJTH;
R
A:,
U
JIB;99
E
'
HSJTBWWJ<JGHB;9BAG8H<JAH<BIHJTH8;G
EU
;<HBIF9;<K;9FJ;GTHSFA
DF9HB
U
9JW8<
R
J<BJAD;
E
VJD;TJHS<8F
R
S;ABG
R
9J
[
FJ<
E
:.F<HSJ8<JHBI;9;G;9
E
ABAAS8XAHS;HHSJ
U
<8V;VB9BH
E
W8<;<;GT8D9
E
AJ9JIHJTTBWWJ<JGHB;98W8F<W8<DH8VJI;GIJ9JT8FHBA;H9J;AH$M!$?%N!:
6SJ<JW8<J
'
BHBAAFWWBIBJGHH8S;KJHS<JJH<B;9AH88VH;BG;W8<
R
J<
E
:48<J8KJ<
'
HSJ
U
<8V;VB9BH
E
I;G
;
UU
<8;IS8GJW8<A8DJA
U
JIB;9B\JTK;9FJA;GTHSJ;HH;IZI;GVJ;
UU
9BJTAFIIJAAWF99
E
XBHSBG;WJX
AJI8GTAV;AJT8G8F<JY
U
J<BDJGHA8G;5':3F<HSJ<D8<J
'
HSJ<JKBAJT0;KB
E
8
E
9;K%BAKF9GJ<;V9J
W<8D8F<;HH;IZ;AXJ99;GTXJ
U
<8KBTJAJKJ<;9A;D
U
9JW8<
R
J<BJAW8<
U
8AABV9J<JKBAB8GA
'
XSBIS;<J
W8FGTV
E
GJ
R
9B
R
BV9JHBDJI8D
U
9JYBH
E
:1AW;<;AXJZG8X
'
G8I<
EU
H;G;9
E
ABA8GHSJ;FHSJGHBI;HB8G
U
;<H8W0;KB
E
8
E
9;K%;GTBHA<JKBAB8GS;AVJJG
U
<8
U
8AJTBG
U
FV9BI:6SJ<JW8<J
'
8F<X8<ZBAAB
R
GBWBI;GH
W8<HSJ'1+,10I8D
U
JHBHB8G:
:0
%
;&3<9
!
'1+,10
"
0;KB
E
8
E
9;K%
"
W8<
R
J<
E
;HH;IZ
"
TBWWJ<JGHB;9I<
EU
H;G;9
E
ABA
(
!
引!
言
加密和认证是密码学的两大重要课题:
尽管在
过去#$
年里'
*+,,)+
计划"和J,H<J;D
计划#已经
成功地选出了很多优秀的密码算法'而且已有不少
认证模式被提出'但是随着移动互联网的兴起和大
数据时代的来临'人们迫切需要更加安全(高效的认
证密码算法:
由于认证模式通常采用分组密码作为
内部的随机置换'其效率显然没有直接将加密和认
证设计为一体的认证密码算法高:
这很大程度上也
制约了(665,
等密码协议的运用:
#$%!
年'在*),6
的赞助下'
CJ<GAHJBG
等人发
起了名为'1+,10
的算法竞选$
:
竞选旨在选出比
1+,>L'4
% 更加高效且具有广泛的适应性的认证
密码算法:
截止目前'共有=?
个算法被提交到第一
轮的竞选当中'其中"
个算法因为设计缺陷被撤
回:
从密码学会议近期收录的文章%
1,)1'0O56
#$%N
上发表的对'.C01
和5.+6
的伪造攻击*
%
+
"
,1'#$%N
上发表的对1+L),
的线性分析*
#
+
'对51+,
的伪造攻击和区分攻击*
!
+
"
)*].'0O56#$%N
上发
表的对31,+0%#@
)
#=&
和6<BKB;>IZ
的线性区分攻
击*
N
+
"
*,,#$%N
上发表的对,;V9BJ<
的猜测确定攻
击*
=
+和'1*,#$%N
上发表的对51*]1
的伪造攻
击*
&
+
&可以看出'对'1+,10
竞选算法的安全性评
估已然成为对称密码学研究领域的热点问题:
0;KB
E
8
E
9;K%
& 是提交到'1+,10
第%
轮的竞
选算法之一:
它由异或流密码和带密钥的杂凑函数
组成'采用数组作为内部数据结构'类似于J,H<J;D
计划的候选算法41LK#:
由于0;KB
E
8
E
9;K%
采用
的运算都是简单的'5/
指令'其软件效率非常高'
加密速度远远超过1+,
*
?
+
:
而且'它还可以通过多
个处理器进行并行运算:
因而'如果它是安全的'则
将会是一个有力的竞选算法:
最后'其设计者声称算
法具有%#@
比特的消息完整性和相关数据完整性:
0;KB
E
8
E
9;K%
算法提交后不久'
,;DFJ9*JKJA
给出了一个密钥流区分器'
'但0;KB
E
8
E
9;K%
的认
证部分的安全性仍然有待评估:
本文主要研究了
0;KB
E
8
E
9;K%
及其改进版的认证部分的差分性质'
并在此基础上构造了单一询问的实际伪造攻击:
差
分性质反映了算法的混淆和扩散效果'是差分分析
的基础:
如果能够找到高概率的差分路径'则很容易
通过修改消息的方法进行伪造攻击:
事实上'作为密
码分析的一种重要手段和认证安全的主要威胁'差
分分析已经被成功地应用于4]=
( 和,(1>%
) 等
杂凑函数的攻击当中'例如文献*
@>"
+
:
针对0;KB
E
8
E
9;K%
的分析表明'在两次明文吸
取的间隔中'算法的混淆效果非常差:
具体地'如果
在消息的两个字中引入差分'则该差分有很高的概
率只能传播到有限的几个数组元素中:
利用后续的
消息'攻击者可以很容易地抵消这些差分:
对于随机
选取的差分值'有超过$M!$?%N!
的概率会发生这
种现象'进而攻击者只需尝试!
次即可成功%
次:
利
用差分值的自由度'攻击者甚至可以对%
个询问进
行多个伪造:
特别地'将差分限定到一些特殊值上'
伪造成功的概率接近于%:
单机实验证实'攻击者只
需几秒即可攻击成功:
作为示例'文中给出了一个消
息的多个伪造:
"?N
!
期 姚!
远等!对0;KB
E
8
E
9;K%
的实际伪造攻击
"
#
$
%
&
'
(
)
*+,,)+:SHH
U
A
!))
XXX:I8ABI:JA;H:ZF9JFKJG:VJ
)
GJAABJ
)
%
#$%=M&M=
&
J,60+14:SHH
U
!))
XXX:JI<
EU
H:JF:8<
R
)
AH<J;D
)
U
<8
^
JIH:
SHD9
%
#$%=M&M=
&
'1+,10
!
'8D
U
JHBHB8GW8<;FHSJGHBI;HJTJGI<
EU
HB8G
!
,JIF<BH
E
'
;
UU
9BI;VB9BH
E
'
;GT<8VFAHGJAA:SHH
U
!))
I8D
U
JHBHB8GA:I<:
EU
:
H8
)
I;JA;<>I;99:SHD9
%
#$%=M&M=
&
4IL<JX]
'
7BJ
R
;-:6SJL;98BA
)
'8FGHJ<D8TJ8W8
U
J<;HB8G
%
L'4
&
:SHH
U
!))
ABAX
R
:GJH
)
T8IA
)
R
ID
,
A
U
JI:
U
TW
%
#$%=:&:=
&
7FIZ8K;I0:0;KB
E
8
E
9;K%:SHH
U
!))
I8D
U
JHBHB8GA:I<:
EU
:
H8
)
<8FGT%
)
<;KB
E
8
E
9;K%:
U
TW
%
#$%=M&M=
&
*JKJA,:0;KB
E
8
E
9;AH<J;D
R
JGJ<;HB8GVF
R
A:SHH
U
A
!))
R
<8F
U
A:
R
88
R
9J:I8D
)
W8<FD
)
*
-
AJ;<ISBG
)
I<
EU
H8>I8D
U
JHBHB8GA
)
0;KB
E
8
E
9;
)
I<
EU
H8>I8D
U
JHBHB8GA
),
@9QG?PD#&_
)
,C\4?+JH/JO-
%
#$%=:
&:@
&
0BKJAH0:6SJ4]=DJAA;
R
J>TB
R
JAH;9
R
8<BHSD:SHH
U
!))
XXX:
<WI>V;AJ:8<
R
)
HYH
)
<WI>%!#%:HYH
%
#$%=M&M=
&
3)5,%@$>N:,JIF<J (;AS,H;GT;<T>*;HB8G;9)GAHBHFHJ8W
,H;GT;<TA:SHH
U
!))
IA<I:GBAH:
R
8K
)
U
FV9BI;HB8GA
)
WB
U
A
)
WB
U
A%@$>
N
)
WB
U
A>%@$>N:
U
TW
%
#$%=:&:=
&
尽管设计者针对上述攻击提出了一种改进方
案'但进一步分析发现这种改进并不是本质的:
对设
计者提出的各种可能的改进%因为设计者对于改进
的描述不是很清晰&'本文都进行了详细地分析并构
造出实际可行的伪造攻击:
通过单机实验'本文对每
种情形下的成功概率进行了估计'且给出相应的伪
造示例:
因此'
0;KB
E
8
E
9;K%
的改进版仍然不能抵抗
基于差分的伪造攻击:
文章的最后对如何抵抗差分
分析进行了探讨:
本文第#
节介绍一些概念和记号'并概述0;KB>
E
8
E
9;K%
的结构"第!
节介绍攻击思路(攻击过程'
并详细分析攻击的成功概率"第N
节探讨对改进版
的攻击及其成功概率"第=
节进行总结并探讨进一
步的改进方案:
=
!
基本介绍
=>(
!
消息认证码和安全性定义
一般认为'机密性保护就是密码算法的全部目
标:
但事实上'完整性保护可能比机密性保护更加重
要'且机密性保护无法提供完整性保护:
机密性保护
使得消息不会泄露给未授权的接收方"完整性保护
则保证了消息不会受到未授权的篡改:
不妨假设消
息中包含银行转账金额或账号'若接收者无法检测
到来自未授权的第三方的篡改'则他很可能会因此
蒙受巨大的经济损失:
记?
为发送的消息'
?@
为接收的消息A
若?
"
?@
'则完整性保护要求接收者能够检测出?@
是经
过篡改的%如图%
所示&
A
图%
!
消息认证机制
为了达到这个目的'发送方通常会在发送?
的
同时'附上由消息认证码生成的标签%/
.
A
相应地'
接收方需要检测接收到的?@
和%/
.
@
是否满足特定
的要求'然后决定相应的操作%如图#
所示&
A
图#
!
消息认证码
形式上'消息认证码包含!
个算法!密钥生成算
法!
(标签生成算法41'
和确定性的认证算法
73A
但实际上'标签生成算法和认证算法通常是一
样的%即先对?@
调用标签生成算法得到%/
.
B
'然后
检查%/
.
@
和%/
.
B
是否相同&'所以只需定义标签生成
算法即可A
为了抵抗所有可能的敌手'标准的伪造攻击模
型假设敌手拥有标签生成算法和认证算法的问答机
%如图!
所示&'于是消息认证码的安全性按照如下
方式进行定义A
图!
!
伪造攻击模型
定义(
+
:
!
设!
`
%
!
'
?2(
'
CD
&是消息认证
码'
2
是敌手A
考虑如下实验A
实验AEF
+
#
1
>3*/
!
%
2
&
A
G
#$$$$
随机选取!
!!
运行2
?2(
G
%.&'
CD
G
%.&
若2
构造出%
?
'
%/
.
&使得
%
%
&认证问答机返回合法
%
#
&
2
没有向?2(
询问过?
的标签'且没有
向CD
询问过%
?
'
%/
.
&是否合法
则'返回成功"否则'返回失败A
于是'
2
的#
1
>3*/
优势定义为
2'=
#
1
>3*/
!
%
2
&
H
5<
/
EF
+
#
1
>3*/
!
%
2
&返回真0
简而言之'如果敌手能够构造出未经询问的的合法
的%
?
'
%/
.
&'则伪造成功A
敌手成功概率越高'则敌
手的#
1
>3*/
优势越大'消息认证码的安全性越低A
=>=
!
?,@-,!
竞选
目前'消息认证码大都通过分组密码结合认
证模式生成A
尽管其安全性已经得到证明'但随着
人们对效率的要求越来越高'对认证加密算法的需
求也变得越来越迫切A'1+,10
竞选旨在选出比
1+,>L'4
更加高效且具有广泛的适应性的认证
密码算法A
此外'
'1+,10
竞选提出了两个新的概念作为
算法的输入'分别是相关数据和秘密向量A
相关数据
$@N
计!!
算!!
机!!
学!!
报#$%&
年
+ L89TX;AAJ<,
'
CJ99;<J4:2JIHF<J*8HJA8G'<
EU
H8
R
<;
U
S
E
:
SHH
U
!))
IAJXJV:FIAT:JTF
)
,
DBSB<
)
U
;
U
J<A
)
R
V:
U
TW
'
#$$@
!
%=&
%
#$%=:&:=
&
类似于消息'但不要求完整性"秘密向量类似于公开
向量'且要求能够保密A
显然'相关数据可以用于一些
公开参数的设定A
但是'秘密向量的用途则不太明确'
因此并没有得到广泛的支持A
表%
总结了'1+,10
竞选对各个输入的安全性要求A
表(
!
安全性要求$
完整性 保密性 不可重复
消息 是 是 否
相关数据 是 否 否
秘密向量 是 是 是
公开向量 是 否 是
以下用/'
表示相关数据'且不考虑秘密向量
%因为0;KB
E
8
E
9;K%
不支持秘密向量&
A
数组下标从
$
开始计数'
/
*
,
%
'1'
,
;
+表示从,
%
到,
;
的数组元素'
也即/
*
,
%
+'1'
/
*
,
;
+
A
若
/
*
,
%
+
H
1
H
/
*
,
;
+
H
F
'
则将其简记为/
*
,
%
'1'
,
;
+
`FA
%
表示异或'
-
5`
5
%
5@
表示5
与5@
之间的差分A
=>A
!
!"#$
%
&
%
'"#(
概述
0;KB
E
8
E
9;K%
由同步流密码%即密钥流的生成
与消息无关&和带密钥的杂凑函数构成'其密钥长
度和)7
长度均为#=&
比特'标签长度为=%#
比特A
设计者声称它对明文具有#=&
比特机密性保护和
%#@
比特完整性保护'且对相关数据和公开向量具
有%#@
比特完整性保护A
目前'公开文献中尚无对
0;KB
E
8
E
9;K%
的认证部分的安全性分析'包括设计
文档A
0;KB
E
8
E
9;K%
首先将密钥流与消息进行异或加
密'然后将密文打入内部状态进行认证'最后输出标
签A
其中使用的流密码类似于J,H<J;D
计划的候选
算法41LK#
'都是基于数组结构的A
数组大小为
%$#@
'元素大小为&N
比特A
算法的大致流程如图N
所示A
由于本文的攻击不涉及密钥流生成'故只介绍
认证相关的部分A
更多细节参见算法的设计文档&
A
图N
!
0;KB
E
8
E
9;K%
的算法流程
分别用/'I&-
和*I&-
表示相关数据和消息的
长度%以&N
比特为基本单位&'则图N
中加入相关数
据和密文的过程由如下的'
代码./0定义A
%AW8<
%
,̀ $
"
,
&
/'I&-
'
@
"
aa,
&/
))加入相关数据
#A
%%
39/"
'
&
$)-
.
&*
,b#$N@
+
!
`
%%
39/"3)-$%
'
&
/'
&*
,
+"
!A BW
%
,b#$N?̀ $̀cc,
(
$
&/
))混淆
NA "&=)I=&
,
/II
%
$)-
.
'
#=&
'
c3/""
6
&"
=A
0
&A
0
?AW8<
%
;
$̀
"
,
&
%
/'I&-a*I&-
&
'
@
"
aa,
'
aa
;
&/
))加入密文
@A
%%
39/"
'
&
$)-
.
&*
,b#$N@
+
!
`
%
39/"3)-$%
'
&
3
*
;
+"
"A BW
%
,b#$N?̀ $̀
&/
))混淆
%$A "&=)I=&
,
/II
%
$)-
.
'
#=&
'
c3/""
6
&"
%%A
0
%#A
0
%!ABW
%
,b#$N?
(
$
&/
))混淆
%NA "&=)I=&
,
/II
%
$)-
.
'
#=&
'
c3/""
6
&"
%=A
0
%&A&=)I=&
%
$)-
.
'
#=&
&"
其中"&=)I=&
,
/II
函数定义为
%?AK8BT"&=)I=&
,
/II
%
#,-%&N
,
%
'
$)-
.
'
BGH&I&-
'
#,-%&N
,
%
'
3/""
6
&/
%@A W8<
%
BGH,̀ $
"
,
&
&I&-
"
aa,
&/
%"A BW
%
$)-
.
*%
,a#
&
b&I&-
+
(
$)-
.
*%
,a!
&
b&I&-
+&/
#$A
'
3/""
6
!
$̀)-
.
*%
,a%
&
b&I&-
+"
#%A
0
J9AJ
/
##A
'
3/""
6
!
`
,
$)-
.
*%
,a%
&
b&I&-
+"
#!A
0
#NA $)-
.
*
,
+
!
`
'
3/""
6
"
#=A
0
#&A
0
注!
0;KB
E
8
E
9;K%
设计文档中的实现&
'
' 是有问题
的!在输出若干个字节后密钥流全为零A
附录1
给
出了将问题修复之后的代码A
幸运地是'除了具体的伪
造不一样以外'本文的攻击方法对两种实现都适用A
A
!
对!"#$
%
&
%
'"#(
的伪造攻击
A>(
!
基本思想
由算法流程可以看出'设计者试图利用"&=)I=&
,
/II
函数进行混淆'以使标签的每个比特都依赖于相
关数据和消息A
因为"&=)I=&
,
/II
函数使用的操作均
受'5/
指令的支持'所以它拥有很高的软件实现
效率A
不幸的是'
"&=)I=&
,
/II
函数过于简单'远没有
%@N
!
期 姚!
远等!对0;KB
E
8
E
9;K%
的实际伪造攻击
./0
注!为了叙述简单'这里给出的是经过修改之后的等价代
码'而非原始代码:
达到应有的混淆效果A
事实上'
"&=)I=&
,
/II
的非线性操作只有)3>+2,+
语句A
因此'如果不考虑)3>+2,+
语句或者)3>+2,+
语句总是选择同样的分支进行操作'则$)-
.
(
3/""
6
与相关数据(密文之间的关系完全是线性的A
在这种
情况下'由密文%或相关数据&引入的差分的传播路
径将很容易被预测'进而被后续的差分抵消A
又设攻
击者已经构造出合适的密文差分'由于0;KB
E
8
E
9;K%
是一种异或流密码'攻击者很容易从一次询问中伪造
出新的消息!只需将密文差分异或到原消息当中A
虽然比较运算依赖于变量的所有比特'且在随
机情形下为真和假的概率都是%
)
#
'但它对不同比
特的依赖性差异很大A
显然'比较运算对高位的比特
更敏感A
因此'如果攻击者将状态的差分限制到低位
上'则比较运算的结果很可能是一样的'即当-
/`
/
%
/@
'
-
5̀ 5
%
5@
很小时'比较运算/
&
5
的结果和
/@
&
5@
的结果很可能相同A
下面介绍具体的攻击过程A
A>=
!
攻击过程
本节将给出一种单一询问的伪造攻击A
假设?`
%
=
'
/'
'
*
&是攻击者向标签生成算法的问答机询问
的一条数据'
?@`
%
=
'
/'@
'
*@
&是攻击者伪造的消息
%其中=
表示公开向量'
/'
'
/'@
表示相关数据'
*
'
*@
表示消息&'则它们之间的差分为
-
/'`/'
%
/'@
'
-
*`*
%
*@A
考虑/'I&-`$
或-
/' $̀
%即没有相关消息或相关
消息没有差分&的情形A
因为代码段第%
,
&
行不涉
及明文或密文'故对差分的传播没有影响A
若-
*
只
在N
'
=
'
#=&a!
'
#=&aN
'
#=&a=
上不为$
'且
-
*
*
N
'
=
'
#=&
J
!
'
#=&
J
N
'
#=&
J
=
+
H"
"
$
'
则*
和*@
的密文之间的差分为
-
3
*
N
'
=
'
#=&
J
!
'
#=&
J
N
'
#=&
J
=
+
H"
A
!!
由代码第@
行可知'当$
)
,
)
#$N?
时%注意!
$)-
.
是以&N
比特字为单位'而'
代码是以@
比特
字节为单位'所以此时只有#$N@
)
@`#=&
个密文被
异或到$)-
.
当中&有
-
$)-
.
*
N
'
=
+
$̀)-
.
*
N
'
=
+
%
$)-
.
@
*
N
'
=
+
`
"
'
又此时,`$D8T#$N?
'代码进入第#$
行'并调用
"&=)I=&
,
/II
函数A
因为$)-
.
在$
'
%
'
#
'
!
上没有差
分'故,`$
时'两个消息在第%"
行的比较结果相
同A
若,̀ %
'
#
'
!
时'第%"
行的比较结果也相同'则
易知"&=)I=&
,
/II
函数返回时有
-
$)-
.
*
!
'
N
'
=
+
`
"
'
-
3/""
6
3̀/""
6
%
3/""
6
@ $̀A
!!
从而运行至第%&
行时有-
$)-
.
`
-
3`$
'进而
两个消息有同样的标签'故%
=
'
/'
'
3
%-
3
'
%/
.
&有一
定的概率是合法的%其中3
是*
对应的密文&
A
图=
展示了该差分的传播路径A
图=
!
0;KB
E
8
E
9;K%
差分传播路径
A>A
!
成功概率
显然'只要!M#
节中的假设
%
$)-
.
*
,a#
+
(
$)-
.
*
,a!
+&
`
!!! !!
!! !
%
$)-
.
@
*
,a#
+
(
$)-
.
@
*
,a!
+&'
,̀ %
'
#
'
!
%
%
&
成立'则攻击可以成功A
定理(:
!
设$)-
.
*
!
'
N
'
=
'
&
+'
"
独立均匀同分
布'则式%
%
&成立的概率为$M!$?%N!A
证明A
!
见附录CA
因为式%
%
&只是攻击成功的一个充分条件'为了
得到更准确的成功概率'我们利用如下的算法%
进
行实验验证A
算法(A
!
估计成功概率A
输入!
K
%样本数量&
输出!成功概率
3-%̀ $
W8<
%
,̀ $
"
,
&
K
"
aa,
&/
随机生成0;KB
E
8
E
9;K%
的参数
加密一个长度为#&#
的随机消息
随机生成"
'并修改消息
用同样的参数加密新消息
BW
%两个消息的标签相同&/
aa3-%
0
0
<JHF<G3-%
)
K
!!
实验显示'真实的成功概率确实比$M!$?%N!
略大A
而且对一些特殊的"
'成功概率可接近于%
%附
录'
给出了不同的"
对应的成功概率&
A
显然'如果选取适当的L
和I
'并将差分引入
-
*
的如下位置!
#=&L
J
I
'
#=&L
J
I
J
%
'
#=&
%
L
J
%
&
J
I
M
%
'
#@N
计!!
算!!
机!!
学!!
报#$%&
年
#=&
%
L
J
%
&
J
I
'
#=&
%
L
J
%
&
J
I
J
%
'
则攻击仍然有效A
又因为加入相关消息和加入密文
的过程类似'如果将差分引入相关消息的相应位置'
则也可进行类似的攻击A
最后'表#
给出上述攻击得
到的伪造示例'其中
/'I&-`$
'
*I&-`#&#
'
L
*
$
'1'
!%
+
=̀
*
$
'1'
!%
+
`*
*
$
'1'
!%
+
$̀
'
L
为密钥'且每个实现都给出了!
个伪造%分别对应
于不同的"
&
A
寻找这些伪造所花费的时间可忽略'
内存为N
%
%
&
A
表=
!
对!"#$
%
&
%
'"#(
伪造示例
"
%十六进制&
%/
.
%十六进制&
针对设计者的实现
#%#I#?TT#$!!V?V;
!"&IVN"@%VI@VJ&W
"?!VVJI$V=J=&JI%
;@T"%?JJ@#&=I@!#%;;;&&"J=N#T$$$;N#I%!"T;I@!"$?;W@VI&"W;"#!"N%"TN
N!#VN&N?I;W%=JWJV%&N&J?T&N?JI#;$"="TW%?!?I??=V;?WI@JT%J%"JNW&N@J
针对附录1
的实现
%I!NI#;JWNWJI%V;
$T?;V$#J$!##@"VV
I"?##W!;"V%##!#&
I;#%%T#;VTT%II=#WT@"#N?T"II#%@!"$$I?W$J?@N!N?W"V#I#"I!=@#N&"!?"&
=;&V!@TW!@"=$?$@$NJ@;@;J$!&$N%;JVVI!T=IT=I@W?;%N!$T;JWN!?W#W#ITI
B
!
对改进版的伪造攻击
B>(
!
改进方案
尽管设计者在网上论坛./1中给出了针对上述攻
击的改进方案%注意其中的$%/%&
在本文中为$)-
.
&!
#
6SJ<JDJT
E
X8F9TVJIS;G
R
BG
R
2
"&=)I=&
,
/II
3
BGTJYBG
RU
<8IJTF<J:)GAHJ;T 8WH;ZBG
R
BGTJY
W<8DHSJ988
U
I8FGHJ<
'
HSJGJYHBGTJY8W;<<;
E
J9JDJGHW8<
U
<8IJAABG
R
BATJ<BKJTW<8D
U
<JKB8FA
J9JDJGHD8T#=&:6S;H988ZA
;
`$%/%&
*
;
+
b
#=&
%
8WI8F<AJ988
U
I8FGHJ<W8<<JK89KJ;99BA
G8XL
&
A6SJ
;
BABGBHB;9B\JTH8\J<8;GTBAG8H
<JBGBHB;9B\JT;WHJ<X;<TA:6SBAHXJ;Z XB99VJ
BD
U
9JDJGHJT8GHSJWB<AH8
UU
8<HFGBH
E
;K;B9;V9J:
$
但其根本缺陷仍然存在A
鉴于作者给出的改进
方案不是特别明确%即哪些地方的下标需要修改&'
在后续的讨论中'我们将作出如下几个假设A
1A
若代码第%"
行被修改'则修改为
%"ABW
%
$)-
.
*%
;
a#
&
b&I&-
+
(
$)-
.
*%
;
a!
&
b&I&-
+&/
!!
CA
若代码第#$
行被修改'则修改为
#$A
'
3/""
6
!
$̀)-
.
*%
;
a%
&
b&I&-
+"
'A
若代码第##
行被修改'则修改为
##A
'
3/""
6
!
`
,
$)-
.
*%
;
a%
&
b&I&-
+"
]A
若代码第#N
行被修改'则修改为
#NA $)-
.
*
;
+
!
`
'
3/""
6
"
+A
第#$
行被修改当且仅当第##
行被修改
3A
;
的初始值为$
且在第%@
行和第%"
行之间
进行更新'更新方式为
%@M=A
;
$̀)-
.
*
;
+
b&I&-
"
B>=
!
攻击过程
类似!M#
节'考虑没有相关消息或相关消息没
有差分的情形A
NM#M%
!
第#$
(
##
行不改变时
此时"&=)I=&
,
/II
函数定义如下'其中,@
'
,B
根据
修改的具体情形等于,
或;
A
%?AK8BT"&=)I=&
,
/II
%
#,-%&N
,
%
'
$)-
.
'
BGH&I&-
'
#,-%&N
,
%
'
3/""
6
&/
%@A W8<
%
BGH,̀ $
'
;
$̀
"
,
&
&I&-
"
aa,
&/
%@M=A
;
$̀)-
.
*
;
+
b&I&-
"
%"A BW
%
$)-
.
*%
,@a#
&
b&I&-
+
(
$)-
.
*%
,@a!
&
b&I&-
+&/
#$A
'
3/""
6
!
$̀)-
.
*%
,a%
&
b&I&-
+"
#%A
0
J9AJ
/
##A
'
3/""
6
!
`
,
$)-
.
*%
,a%
&
b&I&-
+"
#!A
0
#NA $)-
.
*
,B
+
!
`
'
3/""
6
"
#=A
0
#&A
0
对较小的"
满足"
`$D8T&I&-
'设-
*
只在
#=N
'
#==
'
#=&a
+
)$
'
#=&a#=N
'
#=&a#==
处不为$
%其中+
)$
待定&'且
-
*
#=N
'
#==
'
#=&
J
+
)$
'
#=&
J
#=N
'
#=&
J
! "
#==
H"
'
则密文差分为
-
3
#=N
'
#==
'
#=&
J
+
)$
'
#=&
J
#=N
'
#=&
J
! "
#==
H"
'
由代码第@
行可知'当$
)
,
)
#$N?
时
-
$)-
.
*
#=N
'
#==
+
H"
'
紧接着调用"&=)I=&
,
/II
函数A
!@N
!
期 姚!
远等!对0;KB
E
8
E
9;K%
的实际伪造攻击
./1 7FIZ8K;I0:0JKBAJT0;KB
E
8
E
9;:SHH
U
A
!))
R
<8F
U
A:
R
88
R
9J:I8D
)
W8<FD
)
*
-
AJ;<ISBG
)
I<
EU
H8>I8D
U
JHBHB8GA
)
0;KB
E
8
E
9;
)
I<
EU
H8>
I8D
U
JHBHB8GA
)
Y%=51_
,
=F*Z
)
U
]'_A*)XCBZ-
%
#$%=M&M=
&
由
$)-
.
*
;
+
$̀)-
.
*
;
+
%"
D8T&I&-
%
#
&
可知./2
'对*
和*@
'
"&=)I=&
,
/II
函数中的;
在不同
时刻的值总是相同的'故;
不受差分影响A
若在第%"
行时'
,@
*
/
#=%
'
#=#
'
#=!
0'
则)3>+2,+
分支可能会受到差分"
的影响A
显然'
不论,@
等于,
还是;
'都不会有太多的,@
落入该集
合A
具体地'若,@ ,̀
'则恰好!
次"若,@`
;
且服从独
立均匀分布'则发生-
次的概率为%
%
)
#=&
&
-
A
但即便
发生这样的情形'由定理%
可知'比较结果也很可能
不受差分的影响A
对较小的"
'这个概率更高A
总之'
对*
和*@
'
)3>+2,+
分支的比较结果有很大的概
率是相同的A
令+
)$
为,`#=!
时第#N
行代码中,B
的值A
综
上所述'当"&=)I=&
,
/II
函数返回时'下式有很高的
概率成立
-
$)-
.
*
+
)$
'
#=N
'
#==
+
`
"
'
-
3/""
6
$̀
'
故'在加入余下的密文后'状态的差分为零A
进而'得
到同样的标签A
若,B`
;
'则+
)$
的值是未知的A
但
$
)
+
)$
)
#==
'故攻击者可以穷搜可能的值A
总之'
+
)$
的值是很容易确定的A
NM#M#
!
第#$
(
##
行改变时
此时"&=)I=&
,
/II
函数定义为
%?AK8BT"&=)I=&
,
/II
%
#,-%&N
,
%
'
$)-
.
'
BGH&I&-
'
#,-%&N
,
%
'
3/""
6
&/
%@A W8<
%
BGH,̀ $
'
;
$̀
"
,
&
&I&-
"
aa,
&/
%@M=A
;
$̀)-
.
*
;
+
b&I&-
"
%"A BW
%
$)-
.
*%
,@a#
&
b&I&-
+
(
$)-
.
*%
,@a!
&
b&I&-
+&/
#$A
'
3/""
6
!
$̀)-
.
*%
;
a%
&
b&I&-
+"
#%A
0
J9AJ
/
##A
'
3/""
6
!
`
,
$)-
.
*%
;
a%
&
b&I&-
+"
#!A
0
#NA $)-
.
*
,B
+
!
`
'
3/""
6
"
#=A
0
#&A
0
其中,@
'
,B
根据修改的具体情形等于,
或;
A
事实上'
在这种情形下算法抵抗差分分析的能力更弱A
令
-
*
只在#==
和#=&a#==
处不为$
且
-
*
*
#==
'
#=&a#==
+
`
"
$̀D8T&I&-A
同NM#M%
节可知'
;
不受差分的影响A
若$)-
.
*
#==
+
从未被异或到3/""
6
中%即;
不取#=N
&'则差分不会
扩散到其它单元A
故当"&=)I=&
,
/II
函数返回时'差
分只存在于-
$)-
.
*
#==
+
A
进而在加入余下的密文
后'状态的差分为$A
若;
服从独立均匀分布'则概
率为%
#==
)
#=&
&
#=&
+
&
d%
'故该事件有很高的概率会
发生A
此外'如果""
$D8T&I&-
'该攻击仍可能成功A
这是因为;
由$)-
.
*
;
+
b&I&-
进行更新'很可能永
远不会等于#=N
'从而不受差分影响A
若第%"
行的
)3>+2,+
语句也不受差分影响'则3/""
6
不受差分
影响A
BAA
!
成功概率
由于可能的改进方案较多'因而为每种情形都
推导其成功概率将会非常复杂和繁琐A
故本文只对
上述攻击实验估计其成功概率和代价A
算法#
是实
验所使用的伪代码A
显然'其消耗的内存是N
%
%
&
A
又
单机实验表明攻击所需的时间为几秒'因而攻击是
实际可行的且时间代价可忽略A
表!
给出了在不同
情形下伪造成功的概率'伪造示例见附录]A
表A
!
对!"#$
%
&
%
'"#(
改进版的攻击%各(CCC
次实验&
修改方案成功概率
对设计者的实现 附录1
的实现
第%"
行改变%M$$$ %M$$$
第#$
(
##
行改变$M?=# $M??@
第#N
行改变$M""& $M""?
第%"
(
#$
(
##
行改变$M?&% $M?N"
第#$
(
##
(
#N
行改变$M!&@ $M!?=
第%"
(
#N
行改变$M""@ $M""@
第%"
(
#$
(
##
(
#N
行改变$M!=# $M!N!
算法=A
!
改进版的成功概率A
输入!
K
%样本数量&
输出!成功概率
"
$̀$$$$$$$$$$$$%$$
%十六进制&
3-%̀ $
W8<
%
,̀ $
"
,
&
K
"
aa,
&/
随机生成0;KB
E
8
E
9;K%
改进版的参数
加密一个长度为=%#
的随机消息
修改消息%若+
)$
未知'则重复以下过程'直至+
)$
从$
遍历到#==
&
用同样的参数加密新消息
BW
%两个消息的标签相同&/
aa3-%
0
0
<JHF<G3-%
)
K
D
!
结!
语
本文研究了'1+,10
第%
轮竞选算法0;KB
E
8
E
9;
K%
及其改进版的认证部分的差分性质'并利用其中
N@N
计!!
算!!
机!!
学!!
报#$%&
年
./2
注意!对一般的&I&-
"
#
F
'式%
#
&并不一定成立:
存在的弱点构造伪造攻击A
0;KB
E
8
E
9;K%
在认证时的混淆操作主要由
"&=)I=&
,
/II
函数完成'但由于它采用的操作过于简
单'导致其在密文差分尚未完全扩散的情形下就加
入下一段密文A
理论分析表明'对于文中构造的特殊
形式的差分'其成立的概率至少为$M!$?%N!A
对于
特定的差分值'概率甚至接近于%A
实验结果显示'
攻击者能够在几秒之内成功地进行伪造A
利用差分
的自由度'攻击者还可以对一个消息构造多个伪造A
作为示例'本文给出了一些伪造示例A
尽管设计者针对上述攻击提出了改进方案'但
其根本缺陷仍未得到修正A
对于可能的改进'本文均
给出了实际可行的高概率伪造攻击'且时间复杂度
可忽略A
因而'
0;KB
E
8
E
9;K%
远不是一个安全的认证
流密码A
由于上述攻击并不涉及密钥流生成'下面讨论
认证部分的两种可能的改进A
考虑到相关消息和密
文的相似性'这里只考虑密文差分A
%
%
&如果设计者坚持将密文异或到整个$)-
.
'
则应当在充分混淆之后再加入下一段密文A
设第一段
密文的差分为-
'则经过混淆之后它传播到任意差
分的概率应该小于或等于#
d%#@
%假设-
3/""
6
`$
&
A
否则'存在-
@
使得
5<
%
-
,
-
@
&
(
#
M
%#@
'
选取下一段密文的差分为-
@
'则差分有可能被抵消A
此时'攻击复杂度小于#
%#@
A
若混淆之后-
3/""
6
"
$
'
适当修改下一段消息的差分即可A
%
#
&将密文异或到$)-
.
的部分位置'采用海绵
%
A
U
8G
R
J
&结构./3进行认证A
具体地'可以使用杂凑函
数eJII;Z
./4 进行认证A
若存在*
'
*@
使得标签相同'
相应的3
'
3@
会导致eJII;Z
的碰撞A
从目前eJII;Z
的分析结果来看'这不太可能A
事实上'因为在加入下一段密文之前必须充分
混淆以降低差分概率'
0;KB
E
8
E
9;K%
采用的先加密
后认证的方式在效率上难以提高A
作为认证加密算
法'应该采用自然认证%密钥流依赖于消息&或边加
密边认证的方式%参考L<;BG%#@;
*
%$
+或,;V9BJ<
./5
&
A
参 考 文 献
*
%
+
*;GTB4:38<
R
BG
R
;HH;IZA8GHX8;FHSJGHBI;HJTJGI<
EU
HB8G
AISJDJA'.C01;GT5.+6
))
5<8IJJTBG
R
A8WHSJ1TK;GIJA
BG '<
EU
H898
RE
4
1,)1'0O56:e;8SABFG
R
'
'SBG;
'
#$%N
!
%#&>%N$
*
#
+
4BG;FTC:2BGJ;<VB;AJABG1+L),ZJ
E
AH<J;D
))
5<8IJJTBG
R
A
8WHSJ,J9JIHJT 1<J;ABG '<
EU
H8
R
<;
U
S
E
4
,1': 48GH<J;9
'
';G;T;
'
#$%N
!
#"$>!$=
*
!
+
-J;G-
'
*BZ89BfI)
'
,;A;ZBO
'
JH;9:5<;IHBI;9I<
EU
H;G;9
E
ABA8W
51+,
))
5<8IJJTBG
R
A8WHSJ,J9JIHJT1<J;ABG'<
EU
H8
R
<;
U
S
E
4
,1':48GH<J;9
'
';G;T;
'
#$%N
!
##@>#N#
*
N
+
gF'S;8
'
PS;G
R
CBG:2BGJ;<I<
EU
H;G;9
E
ABA8W31,+0%#@
)
#=&
;GT6<BKB1>IZ
))
5<8IJJTBG
R
A8WHSJ5<8
R
<JAABG'<
EU
H898
RE
4
)*].'0O56:*JX]J9SB
'
)GTB;
'
#$%N
!
#!?>#=N
*
=
+
3JG
R
g
'
PS;G
R
3:'<
EU
H;G;9
E
ABA8GHSJ;FHSJGHBI;HJTIB
U
SJ<
A;V9BJ<
))
5<8IJJTBG
R
A8WHSJ*JHX8<Z;GT,
E
AHJD ,JIF<BH
E
:
gB
3
;G
'
'SBG;
'
#$%N
!
%"@>#$@
*
&
+
,;A;ZBO
'
Q;G
R
2JB:4JAA;
R
JJYHJGAB8G;HH;IZ;
R
;BGAH;FHSJG>
HBI;HJTJGI<
EU
HB8GA
!
1
UU
9BI;HB8GH851*]1
))
5<8IJJTBG
R
A8W
HSJ'<
EU
H898
RE
;GT*JHX8<Z,JIF<BH
E
4
'1*,:(J<;Z9B8G
'
L<JJIJ
'
#$%N
!
@#>"?
*
?
+
];JDJG-
'
0B
^
DJG7:6SJ]JAB
R
G8W0B
^
GT;J9
!
1+,
4
6SJ
1TK;GIJT+GI<
EU
HB8G,H;GT;<T:*JXO8<Z
!
,
U
<BG
R
J<,IBJGIJ
cCFABGJAA4JTB;
'
#$$#
*
@
+
Q;G
R
gB;8>OFG
'
OF(8G
R
>C8:(8XH8V<J;Z4]=;GT8HSJ<
S;ASWFGIHB8GA
))
5<8IJJTBG
R
A8WHSJ1TK;GIJABG'<
EU
H898
RE
4
+/0.'0O56:1;<SFA
'
]JGD;<Z
'
#$$=
!
%">!=
*
"
+
Q;G
R
gB;8>OFG
'
OBGOB>_FG2BA;
'
OF (8G
R
>C8:3BGTBG
R
I899BAB8GABGHSJWF99,(1>%
))
5<8IJJTBG
R
A8WHSJ1TK;GIJABG
'<
EU
H898
RE
4
'0O56.:,;GH;C;<V;<;
'
/,1
'
#$$=
!
%?>!&
*
%$
+
1
R
<JG4
'
(J994
'
-8S;GAA8G6
'
JH;9:L<;BG>%#@;
!
1GJX
KJ<AB8G8WL<;BG>%#@XBHS8
U
HB8G;9;FHSJGHBI;HB8G:)GHJ<G;>
HB8G;9-8F<G;98W QB<J9JAA;GT 48VB9J '8D
U
FHBG
R
'
#$%%
'
=
%
%
&!
N@>="
附录,:
!
0;KB
E
8
E
9;K%
源码:
以下是修改之后的'
代码'其中标注了与设计者提供
的代码的不同之处:
*
TJWBGJ'0O56.
,
e+OCO6+,!#
*
TJWBGJ'0O56.
,
*50)7CO6+,$
*
TJWBGJ'0O56.
,
*5/CCO6+,!#
*
TJWBGJ'0O56.
,
1CO6+,&N
*
BGI9FTJ
5
AHTBGH:S
6
*
BGI9FTJ
5
AH<BG
R
:S
6
*
BGI9FTJ
5
AHT9BV:S
6
K8BT$%,"
%
#,-%&N
,
%
'
$%/%&
'
BGH$%/%&I&-
&/
#,-%&N
,
%*,F&" &̀%N@"%N&"%#!&=%?#$=
"
#,-%&N
,
%3/""
6
%̀#!N=&?@"$%#!N=&?@"
"
=@N
!
期 姚!
远等!对0;KB
E
8
E
9;K%
的实际伪造攻击
./3
./4
./5
CJ<H8GBLFBT8
'
];JDJG-8;G
'
5JJHJ<A 4BIS;
6
9
'
JH;9:
'<
EU
H8
R
<;
U
SBIA
U
8G
R
JWFGIHB8GA:SHH
U
!))
A
U
8G
R
J:G8JZJ8G:
8<
R
)
',3>$M%:
U
TW
%
#$%=M&M=
&
CJ<H8GBLFBT8
'
];JDJG-8;G
'
5JJHJ<A4BIS;
6
9
'
JH;9:6SJ
eJII;ZA
U
8G
R
JWFGIHB8GW;DB9
E
:SHH
U
!))
ZJII;Z:G8JZJ8G:
8<
R
)%
#$%=M&M=
&
PS;G
R
CBG
'
,SBPSJG
[
BG
R
'
gF 'S;8
'
JH;9:,;V9BJ<K%:
SHH
U
!))
I8D
U
JHBHB8GA:I<:
EU
:H8
)
<8FGT%
)
A;V9BJ<K%:
U
TW
%
#$%=:
&:=
&
BGH,
'
;
'
")#-'$̀ @
"
W8<
%
,̀ $
"
,
&
")#-'$
"
,aa
&/
W8<
%
;
$̀
"
;
&
$%/%&I&-
"
;
aa
&/
BW
%
$%/%&
*%
;
a#
&
b$%/%&I&-
+
(
$%/%&
*%
;
a!
&
b
$%/%&I&-
+&
3/""
6
!
$̀%/%&
*%
;
a%
&
b$%/%&I&-
+"
J9AJ
3/""
6
!
`
,
$%/%&
*%
;
a%
&
b$%/%&I&-
+"
$%/%&
*
;
+
!
3̀/""
6
"
3/""
6
a`*,F&"
"
0
0
0
#,-%&N
,
%"&=)I=&
,
$%&
+
%
#,-%&N
,
%
'
$%/%&
'
BGH,
'
BGH&I&-
'
#,-%&N
,
%
'
3/""
6
&/
BW
%
$%/%&
*%
,a#
&
b&I&-
+
(
$%/%&
*%
,a!
&
b&I&-
+&
'
3/""
6
!
$̀%/%&
*%
,a%
&
b&I&-
+"
J9AJ
'
3/""
6
!
`
,
$%/%&
*%
,a%
&
b&I&-
+"
$%/%&
*
,
+
!
`
'
3/""
6
"
<JHF<G$%/%&
*
,
+"
0
K8BT
.
&%
,
$%"&/*
%
#,-%&N
,
%
'
,
.
-,%&
'
BGH$%/%&I&-
'
39/"
'
$%"&/*
,
"/-')*
'
#-$,
.
-&'I)-
.
I)-
.
*I&-
&/
#,-%&N
,
%
'
+
,-
.
'
'
+
)-
.
'
'
$,-
.
"
#,-%&N
,
%
+
,-
.
,
3/""
6
'
+
)-
.
,
3/""
6
'
$,-
.
,
3/""
6
"
#,-%&N
,
%%9"&&
'
,
"
#,-%&N
,
%&-'`*I&-
)
@
"
+
,-
.
`c,
.
-,%&
*
$
+"
+
)-
.
`c,
.
-,%&
*
#=&
+"
$,-
.
`c,
.
-,%&
*
=%#
+"
+
,-
.
,
3/""
6
,̀
.
-,%&
*
$%/%&I&-dN
+"
+
)-
.
,
3/""
6
,̀
.
-,%&
*
$%/%&I&-d!
+"
$,-
.
,
3/""
6
,̀
.
-,%&
*
$%/%&I&-d#
+"
W8<
%
,̀ $
"
,
&
&-'
"
,aa
&/
%9"&&̀ "&=)I=&
,
$%&
+
%
+
,-
.
'
,
'%
$%/%&I&-
)
N
&
d%
'
c
+
,-
.
,
3/""
6
&
!!!
!
"&=)I=&
,
$%&
+
%
+
)-
.
'
,
'%
$%/%&I&-
)
N
&
d%
'
c
+
)-
.
,
3/""
6
&
!!!
!
"&=)I=&
,
$%&
+
%
$,-
.
'
,
'%
$%/%&I&-
)
N
&
d%
'
c$,-
.
,
3/""
6
&"
))
8<B
R
BG;9
))
*&**)=&
%
$%"&/*
,
"/-')*a
%
,
)
@
&'%
#,-%&N
,
%
'
&
c%9"&&
'
@
&"
))
<JKBAJT
*&**)=&
%
$%"&/*
,
"/-')*a
%
,
'
@
&'%
#,-%&N
,
%
'
&
c%9"&&
'
@
&"
0
))
8<B
R
BG;9
))
BW
%%
&-'b@
&
(
$
&/
))
<JKBAJT
BW
%%
*I&-b@
&
(
$
&/
%9"&& "̀&=)I=&
,
$%&
+
%
+
,-
.
'
,
'%
$%/%&I&-
)
N
&
d%
'
c
+
,-
.
,
3/""
6
&
!
"&=)I=&
,
$%&
+
%
+
)-
.
'
,
'%
$%/%&I&-
)
N
&
d%
'
c
+
)-
.
,
3/""
6
&
!
"&=)I=&
,
$%&
+
%
$,-
.
'
,
'%
$%/%&I&-
)
N
&
d%
'
c$,-
.
,
3/""
6
&"
))
8<B
R
BG;9
))
*&**)=&
%
$%"&/*
,
"/-')*a
%
,
)
@
&'%
#,-%&N
,
%
'
&
c%9"&&
'
&-'b@
&"
))
<JKBAJT
*&**)=&
%
$%"&/*
,
"/-')*a
%
,
'
@
&'%
#,-%&N
,
%
'
&
c%9"&&
'
*I&-b@
&"
0
0
K8BT"&=)I=&
,
/II
%
#,-%&N
,
%
'
$%/%&
'
BGH&I&-
'
#,-%&N
,
%
'
3/""
6
&/
BGH,
"
W8<
%
,̀ $
"
,
&
&I&-
"
,aa
&/
BW
%
$%/%&
*%
,a#
&
b&I&-
+
(
$%/%&
*%
,a!
&
b&I&-
+&/
'
3/""
6
!
$̀%/%&
*%
,a%
&
b&I&-
+"
0
J9AJ
/
'
3/""
6
!
`
,
$%/%&
*%
,a%
&
b&I&-
+"
0
$%/%&
*
,
+
!
`
'
3/""
6
"
0
0
K8BT&=)I=&
%
#,-%&N
,
%
'
$%/%&
'
BGH$%/%&I&-
&/
BGH,
'
;
"
W8<
%
,̀ $
"
,
&
$%/%&I&-
"
,aa
&/
W8<
%
;
$̀
"
;
&
$%/%&I&-
"
;
aa
&/
BW
%
$%/%&
*%
;
a%
&
b$%/%&I&-
+
(
$%/%&
*%
;
a!
&
b$%/%&I&-
+&
$%/%&
*
;
b$%/%&I&-
+
!
$̀%/%&
*%
;
a%
&
b$%/%&I&-
+"
J9AJ
$%/%&
*
;
b$%/%&I&-
+
!
`
,
$%/%&
*%
;
a%
&
b$%/%&I&-
+"
BW
%
$%/%&
*%
;
a#
&
b$%/%&I&-
+
(
$%/%&
*%
;
a!
&
b
$%/%&I&-
+&
$%/%&
*
;
b$%/%&I&-
+
$̀%/%&
*%
;
a#
&
b$%/%&I&-
+"
J9AJ
$%/%&
*
;
b$%/%&I&-
+
!
`
,
$%/%&
*%
;
a#
&
b$%/%&I&-
+"
BW
%
$%/%&
*%
;
a!
&
b$%/%&I&-
+
b#̀ %̀
&
$%/%&
*
;
b$%/%&I&-
+
!
$̀%/%&
*%
;
a!
&
b$%/%&I&-
+"
J9AJ
&@N
计!!
算!!
机!!
学!!
报#$%&
年
$%/%&
*
;
b$%/%&I&-
+
!
`
,
$%/%&
*%
;
a!
&
b$%/%&I&-
+"
0
0
0
BGH3"
6+
%)
,
/&/'
,
&-3"
6+
%
%
#-$,
.
-&'39/"
'
3
'
#-$,
.
-&'I)-
.
I)-
.
'
3I&-
'
3)-$%#-$,
.
-&'39/"
'
-$&3
'
3)-$%#-$,
.
-&'39/"
'
*
'
#-$,
.
-&'I)-
.
I)-
.
*I&-
'
3)-$%#-$,
.
-&'39/"
'
/'
'
#-$,
.
-&'I)-
.
I)-
.
/'I&-
'
3)-$%#-$,
.
-&'39/"
'
-
+
#5
'
3)-$%#-$,
.
-&'39/"
'
L
&/
BGH$%/%&I&- %̀$#@
"
#,-%&N
,
%,
.
-,%&
*
%$#@
+
`
/
$
0"
#,-%&N
,
%
'
$)-
.
"
#,-%&N
,
%$)-
.
,
3/""
6
"
#,-%&N
,
%,
'
;
"
39/"
'
$%"&/*
,
"/-')*
'
'
$)-
.
,
39/"
"
*&**)=&
%
c,
.
-,%&
*
$
+'
L
'
(OPQ!N
,
GEP:P!E7
&"
*&**)=&
%
c,
.
-,%&
*
N
+'
-
+
#5
'
(OPQ!N
,
KQ<::P!E7
&"
,
.
-,%&
*
$%/%&I&-d%
+
`*I&-
"
,
.
-,%&
*
$%/%&I&-d#
+
/̀'I&-
"
$%,"
%
,
.
-,%&
'
$%/%&I&-
&"
$%"&/*
,
"/-')*`
%
39/"
'
&
3/II)3
%
*I&-
'
$,R&)
1
%
39/"
&&"
BW
%
$%"&/*
,
"/-')*``*/22
&/
+
",-%
1
%#
E"")"/II)3/%,-
.
"&
S
#&$%&'*&*)"
6
$&"
&F,%
%
%
&"
0
.
&%
,
$%"&/*
%
,
.
-,%&
'
$%/%&I&-
'
$%"&/*
,
"/-')*
'
*I&-
&"
W8<
%
,̀ $
"
,
&
*I&-
"
,aa
&
3
*
,
+
`*
*
,
+
!
$%"&/*
,
"/-')*
*
,
+"
1
"&&
%
$%"&/*
,
"/-')*
&"
$)-
.
`c,
.
-,%&
*
?&@
+"
$)-
.
,
3/""
6
,̀
.
-,%&
*
$%/%&I&-d%
+"
$)-
.
,
39/"̀
%
39/"
'
&
$)-
.
"
W8<
%
,̀ $
"
,
&
/'I&-
"
,aa
&/
$)-
.
,
39/"
*
,b#$N@
+
!
/̀'
*
,
+"
))
8<B
R
BG;9
))
BW
%
,b#$N?̀ $̀cc,
(
$
&/
))
<JKBAJT
BW
%%
,a%
&
b#$N@̀ $̀
&/
"&=)I=&
,
/II
%
$)-
.
'
#=&
'
c$)-
.
,
3/""
6
&"
0
0
W8<
%
,̀ /'I&-
'
;
$̀
"
,
&
%
/'I&-a*I&-
&"
,aa
'
;
aa
&/
$)-
.
,
39/"
*
,b#$N@
+
!
3̀
*
;
+"
))
8<B
R
BG;9
))
BW
%
,b#$N?̀ $̀
&/
))
<JKBAJT
BW
%%
,a%
&
b#$N@̀ $̀
&/
"&=)I=&
,
/II
%
$)-
.
'
#=&
'
c$)-
.
,
3/""
6
&"
0
0
))
8<B
R
BG;9
))
BW
%
,b#$N?
(
$
&/
))
<JKBAJT
BW
%
,b#$N@
(
$
&/
"&=)I=&
,
/II
%
$)-
.
'
#=&
'
c$)-
.
,
3/""
6
&"
0
&=)I=&
%
$)-
.
'
#=&
&"
*&**)=&
%
c3
*
*I&-
+'
c$)-
.
*
#=&
)
#
+'
(OPQ!N
,
2:P!E7
&"
<JHF<G$
"
0
BGH3"
6+
%)
,
/&/'
,
'&3"
6+
%
%
#-$,
.
-&'39/"
'
*
'
#-$,
.
-&'I)-
.
I)-
.
*I&-
'
#-$,
.
-&'39/"
'
-$&3
'
3)-$%#-$,
.
-&'39/"
'
3
'
#-$,
.
-&'I)-
.
I)-
.
3I&-
'
3)-$%#-$,
.
-&'39/"
'
/'
'
#-$,
.
-&'I)-
.
I)-
.
/'I&-
'
3)-$%#-$,
.
-&'39/"
'
-
+
#5
'
3)-$%#-$,
.
-&'39/"
'
L
&/
)
'
1
1
%9&3)'&
1
)"%9&3,
+
9&",*
+
I&*&-%/%,)-
.
)&$9&"&
'
1
.
&-&"/%,-
.
/
+
I/,-%&F%*
*
$
+'
*
*
%
+'1'
*
*
*I&-d%
+
1
/-'$&3"&%*&$$/
.
&-#*5&"-$&3
*
$
+'
-$&3
*
%
+'1
1
1
")*/3,
+
9&"%&F%3
*
$
+'
3
*
%
+'1'
3
*
3I&-d%
+
1
/-'/$$)3,/%&''/%//'
*
$
+'
/'
*
%
+'1'
/'
*
/'I&-d%
+
1
/-'
+
#5I,3*&$$/
.
&-#*5&"-
+
#5
*
$
+'
-
+
#5
*
%
+'1
1
/-'$&3"&%L&
6
L
*
$
+'
L
*
%
+'1
1
'
)
<JHF<G$
"
0
附录E:
!
定理%
证明:
下面采用数学归纳法进行证明A
若F
%
-
&
'
6
%
-
&
是由F
'
6
的
低-
比特构成的整数'定义
3*
+-
%
F
'
6
&
`
%
' 若F
%
-
&
(
6
%
-
&
$
'
# 否则
令
/
,
$̀)-
.
*
,
+'
/@
,
$̀)-
.
@
*
,
+'
! !!!
+
%
-
`5<
%
3*
+-
%
/
!
'
/
N
&
`3*
+-
%
/@
!
'
/@
N
&'
3*
+-
%
/
N
'
/
=
&
`3*
+-
%
/@
N
'
/@
=
&'
3*
+-
%
/
=
'
/
&
&
`3*
+-
%
/@
=
'
/@
&
&&
+
#
-
`5<
%
3*
+-
%
/
!
'
/
N
&
`3*
+-
%
/
!
'
/@
N
&'
3*
+-
%
/
N
'
/
=
&
`3*
+-
%
/@
N
'
/@
=
&&
?@N
!
期 姚!
远等!对0;KB
E
8
E
9;K%
的实际伪造攻击
!!
+
!
-
`5<
%
3*
+-
%
/
!
'
/
N
&
`3*
+-
%
/
!
'
/@
N
&'
3*
+-
%
/
=
'
/
&
&
`3*
+-
%
/@
=
'
/
&
&
+
N
-
`5<
%
3*
+-
%
/
N
'
/
=
&
`3*
+-
%
/@
N
'
/@
=
&'
3*
+-
%
/
=
'
/
&
&
`3*
+-
%
/@
=
'
/
&
&&
+
=
-
`5<
%
/
!
%
-
&
)
/
N
%
-
&
'
/
=
%
-
&
(
/
&
%
-
&
'
3*
+-
%
/
N
'
/
=
&
`3*
+-
%
/@
N
'
/@
=
&&
+
&
-
`5<
%
/
!
%
-
&
)
/
N
%
-
&
'
/@
=
%
-
&
)
/
&
%
-
&
3*
+-
%
/
N
'
/
=
&
`3*
+-
%
/@
N
'
/@
=
&&
+
?
-
`5<
%
/
!
%
-
&
(
/
N
%
-
&
'
/@
=
%
-
&
(
/
&
%
-
&
'
3*
+-
%
/
N
'
/
=
&
`3*
+-
%
/@
N
'
/@
=
&&
+
@
-
`5<
%
/
!
%
-
&
(
/
N
%
-
&
'
/
=
%
-
&
)
/
&
%
-
&
'
3*
+-
%
/
N
'
/
=
&
`3*
+-
%
/@
N
'
/@
=
&&
+
"
-
`5<
%
3*
+-
%
/
!
'
/
N
&
`3*
+-d%
%
/
!
'
/@
N
&&
+
%$
-
`5<
%
3*
+-d%
%
/
N
'
/
=
&
`3*
+-d%
%
/@
N
'
/@
=
&&
+
%%
-
`5<
%
3*
+-d%
%
/
=
'
/
&
&
`3*
+-
%
/@
=
'
/
&
&&
+
%#
-
`5<
%
F
%
-
&
)
6
%
-
&
&
+
%!
-
`5<
%
/
=
%
-
&
(
/
&
%
-
&
'
3*
+-
%
/
N
'
/
=
&
`3*
+-
%
/@
N
'
/@
=
&&
+
%N
-
`5<
%
/
!
%
-
&
)
/
N
%
-
&
'
3*
+-
%
/
N
'
/
=
&
`3*
+-
%
/@
N
'
/@
=
&&
+
%=
-
`5<
%
/@
=
%
-
&
)
/
&
%
-
&
'
3*
+-
%
/
N
'
/
=
&
`3*
+-
%
/@
N
'
/@
=
&&
+
%&
-
`5<
%
/
!
%
-
&
(
/
N
%
-
&
'
3*
+-
%
/
N
'
/
=
&
`3*
+-
%
/@
N
'
/@
=
&&
故需要证明
+
%
&N
H
$M!$?%N!
!!
首先'穷举/
,
'
/@
,
'
,̀ !
'
N
'
=
'
&
的最低比特得
+
"
%
H
+
%$
%
H
+
%%
%
H
+
%#
%
H
!
N
+
%
%
H
+
%N
%
H
+
%=
%
H
"
%&
+
#
%
H
+
!
%
H
+
N
%
H
=
@
+
%!
%
H
+
%&
%
H
!
%&
+
=
%
H
+
@
%
H
=
!#
+
&
%
H
?
%&
+
?
%
H
%
%&
然后'对/
,
'
/@
,
'
,̀ !
'
N
'
=
'
&
的第-
比特进行归纳A
+
%
-
H
$
%
#
#
%&
J
#
%&
+
%
-
M
%
J
#
%&
+
#
-
M
%
J
#
%&
+
!
-
M
%
J
#
%&
+
N
-
M
%
J
#
%&
+
"
-
M
%
J
#
%&
+
%$
-
M
%
J
#
%&
+
%%
-
M
%
%
J
%
#
#
%&
+
=
-
M
%
J
#
%&
+
&
-
M
%
J
#
%&
+
?
-
M
%
J
#
%&
+
@
-
M
$ %
%
+
#
-
H
%
@
J
%
@
+
#
-
M
%
J
%
@
+
"
-
M
%
J
#
@
+
%$
-
M
%
+
!
-
H
#
@
J
%
@
+
!
-
M
%
J
%
@
+
"
-
M
%
J
%
@
+
%%
-
M
%
+
N
-
H
%
@
J
%
@
+
N
-
M
%
J
%
@
+
%%
-
M
%
J
#
@
+
%$
-
M
%
+
=
-
H
%
!#
J
%
@
+
=
-
M
%
J
%
%&
+
%$
-
M
%
J
%
%&
+
%!
-
M
%
J
!!
%
%&
+
%N
-
M
%
J
%
%&
+
%#
-
M
%
%
%
M
+
%#
-
M
%
&
+
&
-
H
%
!#
J
%
@
+
&
-
M
%
J
%
!#
+
%$
-
M
%
J
%
%&
+
%#
-
M
%
J
!!
%
%&
+
%N
-
M
%
J
%
%&
+
%=
-
M
%
J
%
%&
+
%#
#
-
M
%
+
?
-
H
%
!#
J
%
@
+
?
-
M
%
J
%
!#
+
%$
-
M
%
J
%
%&
%
%
M
+
%#
-
M
%
&
J
!!
%
%&
+
%!
-
M
%
J
%
%&
+
%&
-
M
%
J
%
%&
%
%
M
+
%#
&
#
-
M
%
+
@
-
H
%
!#
J
%
@
+
@
-
M
%
J
%
%&
+
%$
-
M
%
J
%
%&
+
%=
-
M
%
J
!!
%
%&
+
%&
-
M
%
J
%
%&
+
%#
-
M
%
%
%
M
+
%#
-
M
%
&
+
"
-
H
%
#
J
%
N
+
"
-
M
%
+
%$
-
H
%
N
J
%
#
+
%$
-
M
%
+
%%
-
H
%
#
J
%
N
+
%%
-
M
%
+
%#
-
H
%
N
J
%
#
+
%#
-
M
%
+
%!
-
H
%
%&
J
%
N
+
%!
-
M
%
J
%
@
+
%$
-
M
%
J
%
@
%
%
M
+
%#
-
M
%
&
+
%N
-
H
%
%&
J
%
N
+
%N
-
M
%
J
%
@
+
%$
-
M
%
J
%
@
+
%#
-
M
%
+
%=
-
H
%
%&
J
%
N
+
%=
-
M
%
J
%
@
+
%$
-
M
%
J
%
@
+
%#
-
M
%
+
%&
-
H
%
%&
J
%
N
+
%&
-
M
%
J
%
@
+
%$
-
M
%
J
%
@
%
%
M
+
%#
-
M
%
&
因此'
+
%
-
H
%
%$=
#
M
N-
M
#
%
%$=
T
#
!-
J
%#"
T
#
N-
M
?=
T
#
-
J
%
J
!!
!=
T
#
#-
J
!
J
=&
&
+
&
-
H
%
?
#
M
!-
M
!
%
#%
T
#
-
J
#%
T
#
#-
J
#
!-
J
!
J
&
&
+
?
-
H
%
?
#
M
!-
M
!
%
M
?
T
#
-
M
?
T
#
#-
J
#
!-
J
!
J
&
&
+
=
-
H
+
@
-
H
%
!
#
M
!-
M
!
%
M
!
T
#
-
J
!
T
#
!-
J
#
#-
J
#
M
N
&
+
#
-
H
+
N
-
H
%
#%
#
M
!-
%
?
T
#
-
J
?
T
#
#-
J
#
!-
J
!
M
%
&
+
!
-
H
%
#%
#
M
!-
%
?
T
#
-
J
%
J
=
T
#
!-
J
%
M
!
&
+
"
-
H
+
%%
-
H
%
!
#
M
#-
%
#
#-
J
%
J
%
&
+
%N
-
H
+
%=
-
H
#
M
#-
M
#
%
#
-
J
%
&
#
+
%$
-
H
+
%#
-
H
#
M
-
M
%
%
#
-
J
%
&
+
%!
-
H
+
%&
-
H
N
M
-
M
%
%
N
-
M
%
&
!!
将- &̀N
代入+
%
-
可知结论成立A
@@N
计!!
算!!
机!!
学!!
报#$%&
年
附录?A
!
对0;KB
E
8
E
9;K%
的攻击成功概率A
!!
以下概率为随机实验%$$$
次得到的成功概率A
7
%十六进制& 设计者的实现 附录1
的实现
$$$$$$$$$$$$$$$% %M$$$ %M$$$
$$$$$$$$$$$$$$$# %M$$$ %M$$$
$$$$$$$$$$$$$$$N %M$$$ %M$$$
$$$$$$$$$$$$$$$@ %M$$$ %M$$$
$$$$$$$$$$$$$$%$ %M$$$ %M$$$
$$$$$$$$$$$$$$#$ %M$$$ %M$$$
$$$$$$$$$$$$$$N$ %M$$$ %M$$$
$$$$$$$$$$$$$$@$ %M$$$ %M$$$
$$$$$$$$$$$$$%$$ %M$$$ %M$$$
$$$$$$$$$$$$$#$$ %M$$$ %M$$$
$$$$$$$$$$$$$N$$ %M$$$ %M$$$
$$$$$$$$$$$$$@$$ %M$$$ %M$$$
$$$$$$$$$$$$%$$$ %M$$$ %M$$$
$$$$$$$$$$$$#$$$ %M$$$ %M$$$
$$$$$$$$$$$$N$$$ %M$$$ %M$$$
$$$$$$$$$$$$@$$$ %M$$$ %M$$$
$$$$$$$$$$$%$$$$ %M$$$ %M$$$
$$$$$$$$$$$#$$$$ %M$$$ %M$$$
$$$$$$$$$$$N$$$$ %M$$$ %M$$$
$$$$$$$$$$$@$$$$ %M$$$ %M$$$
$$$$$$$$$$%$$$$$ %M$$$ %M$$$
$$$$$$$$$$#$$$$$ %M$$$ %M$$$
$$$$$$$$$$N$$$$$ %M$$$ %M$$$
$$$$$$$$$$@$$$$$ %M$$$ %M$$$
$$$$$$$$$%$$$$$$ %M$$$ %M$$$
$$$$$$$$$#$$$$$$ %M$$$ %M$$$
$$$$$$$$$N$$$$$$ %M$$$ %M$$$
$$$$$$$$$@$$$$$$ %M$$$ %M$$$
$$$$$$$$%$$$$$$$ %M$$$ %M$$$
$$$$$$$$#$$$$$$$ %M$$$ %M$$$
$$$$$$$$N$$$$$$$ %M$$$ %M$$$
$$$$$$$$@$$$$$$$ %M$$$ %M$$$
$$$$$$$%$$$$$$$$ %M$$$ %M$$$
$$$$$$$#$$$$$$$$ %M$$$ %M$$$
$$$$$$$N$$$$$$$$ %M$$$ %M$$$
$$$$$$$@$$$$$$$$ %M$$$ %M$$$
$$$$$$%$$$$$$$$$ %M$$$ %M$$$
$$$$$$#$$$$$$$$$ %M$$$ %M$$$
$$$$$$N$$$$$$$$$ %M$$$ %M$$$
$$$$$$@$$$$$$$$$ %M$$$ %M$$$
$$$$$%$$$$$$$$$$ %M$$$ %M$$$
$$$$$#$$$$$$$$$$ %M$$$ %M$$$
$$$$$N$$$$$$$$$$ %M$$$ %M$$$
$$$$$@$$$$$$$$$$ %M$$$ %M$$$
$$$$%$$$$$$$$$$$ %M$$$ %M$$$
$$$$#$$$$$$$$$$$ %M$$$ %M$$$
$$$$N$$$$$$$$$$$ %M$$$ %M$$$
$$$$@$$$$$$$$$$$ %M$$$ %M$$$
$$$%$$$$$$$$$$$$ $M""" %M$$$
$$$#$$$$$$$$$$$$ %M$$$ %M$$$
$$$N$$$$$$$$$$$$ %M$$$ %M$$$
$$$@$$$$$$$$$$$$ %M$$$ %M$$$
$$%$$$$$$$$$$$$$ $M""" %M$$$
$$#$$$$$$$$$$$$$ $M""" $M"""
$$N$$$$$$$$$$$$$ $M""" $M""?
$$@$$$$$$$$$$$$$ $M""! $M""=
$%$$$$$$$$$$$$$$ $M"@& $M"@?
$#$$$$$$$$$$$$$$ $M"@$ $M"@#
$N$$$$$$$$$$$$$$ $M"=@ $M"="
$@$$$$$$$$$$$$$$ $M@"@ $M@"#
%$$$$$$$$$$$$$$$ $M@%$ $M?@?
#$$$$$$$$$$$$$$$ $M&N@ $M&=&
N$$$$$$$$$$$$$$$ $MN!& $MNN$
@$$$$$$$$$$$$$$$ $M%#& $M%!%
附录)A
!
改进版0;KB
E
8
E
9;K%
的伪造示例A
以下均假设
/'I&- $̀
'
*I&- =̀%#
L&
6
*
$
'1'
!%
+
=̀
*
$
'1'
!%
+
$̀
)!(
!
针对设计者的实现A
%
%
&第%"
行改变时
*
!全$A
-
*
!除
-
*
#=N
'
#==
'
#=&a#=!
'
#=&a#=N
'
! "
#=&a#==
$̀$$$$$$$$$$$$%$$
!!
其余全为$A
!!
%/
.
!
N%#?&V"I;;W$?T$T"NIW?!WJJ$!!""@&@J
T=="=INT=N!V=!?V;N=JNN;T$JI?TJVV=%
$?W;VTV$@?&T=$JV=$$VV!%$J?=?NNT&WJ
I!N%=VW;W$V%?V%%"T!=W&&&;?
%
#
&第#$
(
##
行改变时
*
!全$A
-
*
!除
-
*
*
#==
'
#=&
J
#==
+
H
$$$$$$$$$$$$$%$$
!!
其余全为$A
%/
.
!
VI#!T?WT@W%==""JVI=VW$T&?&=;V@#V%@
$@WVT"NN;&@!NV=$;!NTT&@&W=#T@?%;#N
I#V@NJT#J?N&NV?@!!%?!@!&T;VT&T?$"#
?#W?@%JJ"W!T"%"@$NJJ$N!&?%
%
!
&第#N
行改变时
*
!全$A
-
*
!除
-
*
#=N
'
#==
'
#=&a#$
'
#=&a#=N
'
! "
#=&a#==
$̀$$$$$$$$$$$$%$$
!!
其余全为$:
%/
.
!
V="$$@V#$==??J"I!=!;NJ?@VIWW==#WIII#
&;@NIJ%!@T&"?NN%?V!%NN&###?%?@&ITI
WW!%@!W#?=@;#N@@$#@;%J?&#&;JJ;V=;#=?
%J#!"$%"N?"N#IN@WIJ!VN
%
N
&第%"
(
#$
(
##
行改变时
*
!全$A
-
*
!除
-
*
*
#==
'
#=&
J
#==
+
H
$$$$$$$$$$$$$%$$
!!
其余全为$A
%/
.
!
I;&WJ;?@"=I=V;$#@$?;N=JV%NN$"@%#=W
$;W;VJN"=I!;IV@JW=I=!#?NV@!J@?"!W&N;
V?N?IV&J$;?@IN@""@?!JJW#@@"&NT"@#!
&$T$J$$@@TI=I@$NI=;V%&!$
%
=
&第#$
(
##
(
#N
行改变时
*
!除
*
*
$
+
H
""N";"?!JT&J@&W!
!!
其余全$A
-
*
!除
-
*
*
#==
'
#=&
J
#==
+
H
$$$$$$$$$$$$$%$$
!!
其余全为$A
"@N
!
期 姚!
远等!对0;KB
E
8
E
9;K%
的实际伪造攻击
%/
.
!
%&TJ?%&#I$T?#&"!;JV#TTIIVW=VW"WJT!
N@;I"J#%@T$I?V$VN$%;IIV=?"&="V;&@J
@;???JVW!!JW!#T#N"=@"&IW#%IJIWJW;J;"
;T@$T%W=T@J%%!=@V"=@NJ@;
%
&
&第%"
(
#N
行改变时
*
!全$A
-
*
!除
-
*
#=N
'
#==
'
#=&a%@$
'
#=&a#=N
'
! "
#=&a#==
$̀$$$$$$$$$$$$%$$
!!
其余全为$A
%/
.
!
&;$?;";=$!%#I!@%J?;$T?!;IIJJ?=###%
V#!&"J"T$;I;I=%!$$T"?;!&J@@#INW&WW$T
&&&;&"$@?@$%I";W%V=#;";I#!VV$N@$&$
#V="VI?IIVN%I%%;%II#%I;V
%
?
&第%"
(
#$
(
##
(
#N
行改变时
*
!全$A
-
*
!除
-
*
*
#==
'
#=&
J
#==
+
H
$$$$$$$$$$$$$%$$
!!
其余全为$A
%/
.
!
;VN=!VT@I##WJ=%NT";;W!;I%;@$"&WTN@;!
#!"JV"%=;$#%WI"@@$"%;!JT%I???#VNTV
??&IJ%T%II?ITIWJ#=N;&&@W&V$%@$NJ"V
&V$&?&@#=T!!@%?I!I""VI&"
)F=
!
针对附录,
的实现F
%
%
&第%"
行改变时
*
!全$A
-
*
!除
-
*
#=N
'
#==
'
#=&a#=!
'
#=&a#=N
'
! "
#=&a#==
$̀$$$$$$$$$$$$%$$
!!
其余全为$A
%/
.
!
N@IN"I?"I@@%@="WN;;?$JT!$$W#T""#;N
J#!!$=T@"=$N="IT#$;T=&T"?JWJI!%I?@
W%N?@NN%&@T$IT@$&%!;N#J#T#";NT!@N;
J!#V""I!%TV;?!V"!&"TN;#=@V
%
#
&第#$
(
##
行改变时
*
!除
*
*
$
+
H
&NTTT%=$?%@"W&IV
!!
其余全$A
-
*
!除
-
*
*
#==
'
#=&
J
#==
+
H
$$$$$$$$$$$$$%$$
!!
其余全为$A
%/
.
!
"W$"VJ&!V$"#T?;WN!$&N";=@#&TT?%;JI
"="";??!I&@;==%!J$#$NTVW=V%I$%@;!I
!=IJIT%V?NWWTJ%$%T#V$%V&=IW@%WT="%
"VT=I%&T"IJVWW$&";$WJ!&"&&
%
!
&第#N
行改变时
*
!除
*
*
$
+
H
JI$TT%&NTN$@T;J;
!!
其余全$A
-
*
!除
-
*
#=N
'
#==
'
#=&a#=!
'
#=&a#=N
'
! "
#=&a#==
$̀$$$$$$$$$$$$%$$
!!
其余全为$A
%/
.
!
%=W&J$?I;?""?@?V;=$J$?!!NTJ#JW=N$&
=NNV%%=J#&&?";&TI;&V$TI"@#=@#IV!%=
I&WINWTN#&#!;@!="V!W$;#!=W@TN&!=%@
!$W#I@$W;T%I"=NI#T&V"N;;TJ
%
N
&第%"
(
#$
(
##
行改变时
*
!全$A
-
*
!除
-
*
*
#==
'
#=&
J
#==
+
H
$$$$$$$$$$$$$%$$
!!
其余全为$A
%/
.
!
?!!@$;!;=T=!=%%TN%"!N%#&@;W@V"$WTW
=JI$=T!I!W;%I!";=VV;NN@&J$WN!"&J"@
==;@%#?NJNJ&INVW?!%V=JVITII$%J;=I"
&NT!II"T!!NV##JN$%I?=!T?=N
%
=
&第#$
(
##
(
#N
行改变时
*
!全$A
-
*
!除
-
*
*
#==
'
#=&
J
#==
+
H
$$$$$$$$$$$$$%$$
!!
其余全为$A
%/
.
!
!$"%TN;I=&VT%NI&J$ITNTT@TNJ#"@I@#J
V%!V?$&&IW&%=I%@V=WTI@=?N"W?T;$=V?
?;&!V?WNNW%"W&%I?T"I?=N&$?W%"?@"J=
!?T%NI"N#@#@#I@=?&??#$ITII
%
&
&第%"
(
#N
行改变时
*
!除
*
*
$
+
H
@?#N"=JNJ;TW;J"T
!!
其余全$A
-
*
!除
-
*
#=N
'
#==
'
#=&a#=!
'
#=&a#=N
'
! "
#=&a#==
$̀$$$$$$$$$$$$%$$
!!
其余全为$A
%/
.
!
W$$WVIT"J"$!#"=="W#VW!@;I!;JW!V?I=;W
$VNVN$N#&=!;NN!=?&&I"&;=TJ=J&N="=V
NVI?=I%?=V#$@@"!TJNJ"V?WI%&#V&%J;?
V$=I@J&!JTJV;#"!!;=#&=W#
%
?
&第%"
(
#$
(
##
(
#N
行改变时
*
!除
*
*
$
+
H
$&&V?VIWT#I?#%""
!!
其余全$A
-
*
!除
-
*
*
#==
'
#=&
J
#==
+
H
$$$$$$$$$$$$$%$$
!!
其余全为$A
%/
.
!
&";JJN"WVI&$%$!II;&=V&JI?I#;TT;?V#
V!?="#=?TVNN;?TTW=%"$#=!N"I;%"T"%%
T$;NWW@T&VT"I@#N&="VV!NW%?!N?J%#@I
;&@@@J!J#NN"@N=$V=&JIWIN#N
$"N
计!!
算!!
机!!
学!!
报#$%&
年
G,*G2".
'
V8<GBG%"@"
'
5S:]:
I;GTBT;HJ: (BA <JAJ;<IS BGHJ<JAH BA
I<
EU
H;G;9
E
ABA8WA
E
DDJH<BIIB
U
SJ<A:
HI,JKE$.
'
V8<GBG%"?&
'
5S:]:
'
U
<8WJAA8<
'
5S:]:
AF
U
J<KBA8<:(BA<JAJ;<ISBGHJ<JAHBATJAB
R
G;GTI<
EU
H;G;9
E
ABA
8WA
E
DDJH<BIIB
U
SJ<A:
LML0.NO$.
/
'
V8<GBG%"&&
'
5S:]:
'
U
<8WJAA8<
'
5S:]:
AF
U
J<KBA8<:(J<<JAJ;<ISBGHJ<JAHABGI9FTJTJAB
R
G;GTI<
EU
H;>
G;9
E
ABA8WV98IZIB
U
SJ<A
'
D8TJA8W8
U
J<;HB8GW8<V98IZIB
U
SJ<A
;GTHSJHSJ8<
E
8W
U
<8K;V9JAJIF<BH
E
:
E"67
/
3&2.<
!!
5<BK;I
E
;GT;FHSJGHBIBH
E
;<J
U
<BD;<
ER
8;9A8WI<
EU
H8
R
<;
U
S
E
:
(8XJKJ<
'
U
<BK;I
E
T8JAG8HGJIJAA;<B9
E
BD
U
9
E
;FHSJGHBIBH
E
XSBISBAW;<D8<JBD
U
8<H;GHBGIJ<H;BGAIJGJA:*8X;T;
E
A
'
;FHSJGHBIBH
E
BAFAF;99
ER
F;<;GHJJTV
E
H;
R
A
R
JGJ<;HJTV
E
V98IZ
IB
U
SJ<AH8
R
JHSJ<XBHS;FHSJGHBI;HB8GD8TJA:19HS8F
R
S
'
BHS;A
VJJG
U
<8KJTH8VJ;AJIF<JX;
E
BGV8HSHSJ8<
E
;GT<J;9BH
E
'
HSJ
U
J<W8<D;GIJ8WHSBADJHS8TS;A
R
<J;H9
E
9BDBHJTBHAFAJ:
QBHSHSJA
U
<J;T8W9BDBHJTI8D
U
FHBG
R
TJKBIJA;GTHSJ
I8DBG
RU
J<B8T8WVB
R
T;H;
'
HSJTJD;GTW8<JWWBIBJGH;FHSJGHBI;HJT
JGI<
EU
HB8G;9
R
8<BHSDAVJI8DJAD8<J;GT D8<JAB
R
GBWBI;GH:
6SJ'1+,10I8D
U
JHBHB8G
'
;GG8FGIJTV
E
CJ<GAHJBGJH;9:BG
#$%!
'
BGHJGTAH8BTJGHBW
E
AFIS
U
<BDBHBKJA8WWJ<BG
R
;TK;GH;
R
JA
8KJ<1+,>L'4 ;GTAFBH;V9JW8<XBTJA
U
<J;T;T8
U
HB8G:=?
;9
R
8<BHSDAXJ<JAFVDBHHJTW8<HSJWB<AH<8FGTBGH8H;9;GT
HSJG " ;9
R
8<BHSDA XJ<J XBHST<;XG VJI;FAJ 8W K;<B8FA
XJ;ZGJAAJA:1GTBHS;AH;ZJGIJGHJ<AH;
R
JBGA
E
DDJH<BI
I<
EU
H;G;9
E
ABAH8 JK;9F;HJ HSJ AJIF<BH
E
8WHSJ <JD;BGBG
R
U
<8
U
8A;9ABGHSJ9;AHWJXD8GHSA:
0;KB
E
8
E
9;K%BA8GJ8WHSJ<JD;BGBG
RU
<8
U
8A;9A:)HX;A
WB<AH;G;9
E
\JTV
E
,;DFJ9*JKJA;H4;<IS##
GT
'
#$%N8G;G
8G9BGJTBAIFAAB8G
R
<8F
U
8W'1+,10I8D
U
JHBHB8G
'
;GTHSJG
XJ
U
<JAJGHJTHSJV;ABIBTJ;8WHSJWB<AH;HH;IZBGHSBA
U
;
U
J<;H
1
U
<B9#!
<T
'
#$%N8GHSJA;DJ
R
<8F
U
:1A;<JA
U
8GAJ
'
HSJ
TJAB
R
GJ<
'
0;TJ7FIZ8K;I
'
U
<8
U
8AJT;<JKBAB8G8GHSJ"&=)I=&
,
/IIWFGIHB8G:)GHSJ
U
8AHJ<;IIJ
U
HJTV
E
1AB;'',#$%=8WHSBA
U
;
U
J<
'
XJ
U
<8
U
8AJTHSJWB<AHW8<
R
J<
E
;HH;IZ8GHSJ<JKBAJT
0;KB
E
8
E
9;
'
XBHS8FHTJH;B9JTJY
U
9;G;HB8GA:
)GHSBA
U
;
U
J<
'
XJHSJ8<JHBI;99
E
;G;9
E
\JHSJAFIIJAA
U
<8V;VB9BH
E
8WHSJWB<AH;HH;IZ;GT
U
<JAJGHHSJI8<<JA
U
8GTBG
R
JY
U
J<BDJGH;9<JAF9HA:48<J8KJ<
'
XJ
U
<8KBTJWF99TJH;B9A8W
;HH;IZA;
R
;BGAHHSJ<JKBAJT 0;KB
E
8
E
9;K%;A XJ99;AHSJB<
JY
U
J<BDJGH;9<JAF9HA:1AHSJVJAH8W8F<ZG8X9JT
R
J
'
HSBABA
HSJ8G9
E
I<
EU
H;G;9
E
HBI<JAF9H8GHSJ;FHSJGHBI;HB8G
U
;<H8W
0;KB
E
8
E
9;K%BG
U
FV9BI:
C;AJT8GHSJ<JAF9HA8WHSBA
U
;
U
J<
'
BHBAJ;AB9
E
I8GI9FTJT
HS;H0;KB
E
8
E
9;K%BAJYH<JDJ9
E
K;9F;V9JH8HSJTBWWJ<JGHB;9
I<
EU
H;G;9
E
ABA;GTBAW;<W<8DAJIF<J:6SFA
'
BHBAFGAFBH;V9J
W8<HSJAJI8GT<8FGT8W'1+,10I8D
U
JHBHB8GXBHS8FHWF<HSJ<
D8TBWBI;HB8GA:
6SBA X8<Z BA AF
UU
8<HJT V
E
HSJ *;HB8G;9 C;ABI
0JAJ;<IS5<8
R
<;D
%
"?! 5<8
R
<;D
&
8W 'SBG; FGTJ< L<;GH
*8:#$%!'C!!@$$#:
%"N
!
期 姚!
远等!对0;KB
E
8
E
9;K%
的实际伪造攻击