对!#$%&%’#(的实际伪造攻击 -...

14
!"! !#$%&!!! !! !! !! '()*+,+-./0*12 .3'.45/6+0, 789:!" *8:! 4;<:#$%& ! 收到日期 #$%=>$#>#? 最终修改稿收到日期 #$%=>$&>$@: 本文已被 1AB;'',#$%=以长摘要的形式接收: 本课题得到国家 九七三 点基础研究发展规划项目基金 #$%!'C!!@$$# 资助: ! %"@" 年生 博士研究生 主要研究方向为对称密码的分析:+>D;B9 E;8EF;G ! HI;:BAI;A:;I:IG: ! %"?&年生 博士 研究员 博士生导师 主要研究领域为对称密码的分析与设计: 吴文玲 %"&& 年生 博士 研究员 博士生导师 主要研究领域为分组密码的设计与分析 分组密码工作模式和可证明安全理论的研究: !"#$ % & % '"#( 的实际伪造攻击 ! % # ! ! % ! 吴文玲 % % 中国科学院软件研究所可信计算与信息保障实验室 ! 北京 ! %$$%"$ # 中国科学院大学 ! 北京 ! %$$%"$ ! ! 随着移动互联网的兴起和大数据时代的来临 人们迫切需要安全高效的认证密码算法:#$%! *),6 的赞助下 CJ<GAHJBG等人发起了名为 '1+,10 的认证密码竞选: 对竞选算法的安全性评估已成为当前对称密码学 研究领域的热点问题:0;KBE8E9;K%是提交到 '1+,10 %轮竞选的候选算法之一: 它是建立在J,H<J;D 计划的候 选算法 41LK#的基础上的流密码算法 并采用带密钥的杂凑函数进行认证: 虽然设计者声称 0;KBE8E9;K% 具有 %#@比特的完整性 但是该文成功地构造了一种针对 0;KBE8E9;K% 的实际伪造攻击 从而说明该算法是极不安全 : 具体地 通过在明文消息中引入特殊形式的差分 攻击者能够使算法的内部状态在输出认证标签时没有差分: 而且 这种差分并不局限于某些具体值 从而可以利用同一个消息得到多个伪造: 理论分析表明 该形式的差分有 超过$M!$?%N!的概率使得内部状态发生碰撞: 因此 平均而言只需要大约!次实验即可成功地进行伪造: 特别地 若将差分限定到一些特殊值上 成功概率非常接近于%: 单机实验结果显示 攻击者能够在几秒钟之内成功地进行 伪造: 尽管设计者针对上述攻击提出了一种可能的改进方案 但文章的进一步分析表明改进并不是本质的 修改后 的算法仍然不能抵抗基于差分的伪造攻击: 针对设计者提出的各种可能的修正 该文都给出了实际可行的攻击: 验证实 这些攻击具有很高的成功概率且在单机上只需花费几秒钟的时间: 文章最后列举了所有可能情形下的伪 造示例: 据我们所知 公开文献中尚无对 0;KBE8E9;K%及其改进版的认证部分的分析 因此该文对 '1+,10 竞选有 重要意义: 关键词 !'1+,10 0;KBE8E9;K% 伪造攻击 差分分析 中图法分类号 65!$" !!!)*+%$:%%@"? ,5:-:%$%&:#$%&:$$N?@ ,-$. / '0 1 203 % 4&3 / 03 % ,55"67&.!"#$ % & % '"#( O1.OF;G % # ! P(1*LCBG % !Q/ QJG>2BGR % % !"#$%&'()* + #%,- . /-'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;KBE8E9;K%BA;G;FHSJGHBI;HJTJGI<EUHB8G;9R8<BHSDAFVDBHHJTW8<HSJWB<AH<8FGT8W HSJ'1+,10I8DUJHBHB8G XSBISBA;R<;GT8II;AB8G9;FGISJTBG#$%! XBHSHSJAFUU8<H8W*),6H8 BTJGHBWEJWWBIBJGH W9JYBV9J;GTAJIF<J;FHSJGHBI;HJTJGI<EUHB8GU<BDBHBKJA:0;KBE8E9;K%BAI8DU8AJT VE;G;TTBHBKJAH<J;DIBUSJ<D8HBK;HJTVEHSJJ,H<J;DI;GTBT;HJ41LK#;GT;ZJEJTS;ASWFGIHB8G: QSB9JHSJTJABRGJ<TJI9;<JA%#@VBHAJIF<BHEW8<;FHSJGHBI;HB8G XJU<8U8AJ;DJHS8TH8I8GAH<FIH W8<RJ<BJAFABGR;ABGR9J[FJ<EBGHSBAU;UJ<;GTHSJI8DU9JYBHEBAGJR9BRBV9J:)GTJJT XJBGH<8TFIJ ;TBWWJ<JGHB;98W;AUJIBWBIW8<DH8HSJUFV9BIDJAA;RJ;GTH<EH8I;GIJ9BGRBHVJW8<J8FHUFHHBGR;GE ;FHSJGHBI;HJTH;RA:,UJIB;99E HSJTBWWJ<JGHB;9BAG8H<JAH<BIHJTH8;GEU;<HBIF9;<K;9FJ;GTHSFA DF9HBU9JW8<RJ<BJAD;EVJD;TJHS<8FRS;ABGR9J[FJ<E:.F<HSJ8<JHBI;9;G;9EABAAS8XAHS;HHSJ U<8V;VB9BHEW8<;<;GT8D9EAJ9JIHJTTBWWJ<JGHB;98W8F<W8<DH8VJI;GIJ9JT8FHBA;H9J;AH$M!$?%N!: 6SJ<JW8<J BHBAAFWWBIBJGHH8S;KJHS<JJH<B;9AH88VH;BG;W8<RJ<E:48<J8KJ< HSJU<8V;VB9BHEI;G

Upload: others

Post on 22-May-2020

45 views

Category:

Documents


0 download

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@

+

!

*

;

+"

))

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%

的实际伪造攻击