Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Schneider B.Twofish.A 128-bit block cipher.1998

.pdf
Скачиваний:
15
Добавлен:
23.08.2013
Размер:
812.81 Кб
Скачать
54 213 4
+ ? * 4

-!# 2, + + + +2 + 3 = > 2 + -!# 2 #= >$ ** = > 2 + + + + +2 #= > = > , 2= > + * = > + *

, 9 * @9 4!A + $ " $$ " *

2 = > , * " * 2 = >

9 $ $ + 2 + K = >$ + * ++ 2 $ + * + 2 , *2

54 -

1 2

= >

2

 

= > K

= > K

 

2 2 2 : 2 + + *#() 2() 2 * () 1 2+

+ + # #$* &' *$ * &' * 2 2 #$+ + 7 2 :+ 27 2 + + + * #$ , "2 + #$I + * 2#$ * * ,# #$+ 2 2 , 2 $L$ 2

2 2 2 ? 2 ##$ *2

!. %. @ 13 = : 213 4

, B 2 #$ 1-!# + B 2 2 "# 7$I $ +# * #2 * + + 7# B 2 + @994% 0(4% 0('4. , A + -!#+ B 2

, 2 # B 2 #$ *

1 2 " " # B 2 # * 2 * # B 2 + " " :$ < + +

* + / = " " >K = "%-> ) 5 -" ,

* + $ * K = "%-> ) 5 !-4I

$ < + + # * #) 5 .! :$ 4- K 5 .! "%- +/# 2 + + + +" 4- 2 -!#+ " + " =< * + * +

" + > , 7 #

# B 2 #$

#

2 7 W

#$ I

W 5

3

K

 

"%%

 

2

2

#< 7

K

*$ *$* * 2 #< 7 , 2 5 K "%-I( = " "%-> 5 ./ ( = 5 "%-> 5 5"( = - "%-> 5 555" + #+ * 5 . "%-I $# * ( = 5 "%-> 5 4.% ( =- "%-> 5! ( = "" "%-> 5 555"

K ( I $ , E (' ? " -) .$' , E ( "$ 1K 3 5

%

2 # B 2 #$ , "# # 2 7# 7, + 4. %P +2 "$I + !P + " $I + ++ 5 5"P + 2" $ =1+ 7 * + $< + I2 B $* + * 2 >

$ 2 # B 2 #$ + :+ "# 7 #22 2 B 2 #$$ 1 +#2 + *2 "# ) 2-% 7 "# 7 #= + + * 2 > # #$ =* 2$ + + *# +# # 2 ** >7 " $ + * B = ./P> + I + "P + 2" $I ++ + 5 5"P +2 "$

2 + B 2 #$ 7* 2 + * 2 *+ = > *7

,

#

2 * 2 7 *

 

= > #2 * 7+ ) 22 * + 2 , 7 *

%"

: 2 + # * + B +

*

, 2 $

 

E C* D 0 "

" &' *$ ** I 2 $ & 2 + + # #$ *Æ ++ + #$ * ##$ 2 + + * = + 2 < " >

2 2 2- + : 2 2* + 7: 2 2 2 # #* 2* Æ I7

+ + + + +2 K @ 0 +*&

) 2 2 * #+ * + * *Æ 2 ** +

1 2 2 + #2 + +2, 2 ) 22 * * + * #+ : + * ** +#*

2 ** + * * * * * * = @) 4-A + * + > #* **?+ * #+ 2 ) 2+ C* # * D ? 2 # # * @9 34-A

2 +# * + @0 ./A * * @').- 8/% : 4!A # *E ** # * * + * G$#*

$ $#2' = # # *#? $* * #$* * > ? B "$L$ @ A ? 2 #-! + $L$ #+* $H + #H 2 7 # 2 * + " , 2 2 ? + #** *+ *2 * + 2

% & '

& *2 * + 0# @& 4!A 0 % @O 4.A ** 2** + +) 2 *+ + C # D + +* : + * # 2 * + * + ?* * #+ ? *$* 3# " 7 #: -%+ *+ 2

, * 4 2 + * * #+ * ( *

(

," #

# *

9 9 1 9 @

9 /5A ,

+ *

 

** * = @ 4-A +* + 2 * + # > 1 9# 9#9 #* *# # + *

* + *

( ! & "

* ** ++ ' 2 #& @, /!A

6 K 6 - =6 >

+ 2 @( 4 A , 2+ + # * I 2 < * + # ++ # + *"/# < * + + ' 2 #& #+ #$ "

# < 2 ? 2+ ' 2 # & *

# . " ,

# +* $ # ? @9 A 2 E* 2 + #

' 1

* 2 # * * + ## * #@( 4! 8 4/

A

/ $ ) ( $ " ? ( $ (-( )-? ? -1 B % 9, +5

%

*

3

, = >

0

 

L9

 

2

"/

-

/

/

9

2

-!

-

/

4 /

?

"/

"/

/

/

"5

0 %# "L-

2

-!

"

-

"! /

# "/

"/

-!

-

/

"4 %

'

%-

-!

-

/

!

 

"/ 4" "%-

"/

"

"

!%

0 = >

"/

-!

/

/

%"

3# "

-! "/

-!

"

-

-%

:'

"/

-!

/

/

.!

#'

"

-!

!/

"!

-

4 ( + * + 7 = ( *>

* # % &

2 + $* <+ +"%- ,$ I $

$2 * *

$ . 6 :

+ +"/ , *$ < 2 2, $ < I * + *"%- % "

- '

2 - ,$ *+ + ? , 2 * + , 2 + * +

2 & % & 9 ; 8 "

%

, + * 2 #+ $ * + # 2 * + * #* * +

%!

+ * +* 7 + *7 2 + : *+ * + + * 2 * $2, $ * # * + * + *

1 + + * * +

+ * 2

0 # 7 #

+ *+ * *

+ * *+ "/# # "/# * 2I

+ * * "%-# *

 

2 2

+ +

 

( + *

= > K

= > K =- =5> - = >> = > K - =">

= > K - = >

= > K / + - =!>

# 2* $$

" + *

= > 9 + * ++

= > +# #E -!#

= > 9 + E #$ 21* + ++ * "0 *$ + * 7 +

+

+ * + *

* * +

* ) # 2 2 #

* 7 ?#

#$ +? + 8 #$? 2 + 2 + * 2 + #$ +

2 -!# 2 0 #+ 2* -!# 2 ## * *+ 2 *

* / , + / 0 #* + *2 #* ? 2 +7 + * :*

? + * 2 ++ 2 $ + 2 #* 2 #$ 9

+ 2 + 2 +

+ + *# "/ + "/#* + #$* +2 " + #

2 * 2++ + * ) 2 * + # I *

, 2* : # + * * # ? 2 2

.!. ,

5; + / # ,+ 7 Æ + < + * 2 + 2 E + * I #$ ) 2 * I #$ $ * # + * 2 * #* I* + =* * >

%%

, - * 1 ,

 

?

 

#$ #

2

?

 

 

K

 

 

 

 

 

 

 

 

 

 

 

 

K

 

 

 

 

 

 

 

:+

2

K K Æ

# Æ $

7 2 *

* + # I * + + * 2 + + *=+ "/# > " ,$ " + *

) *

+ * * #9 * + + "/# , 2 7 + 9 * 2 , 2 B 2 + #* * Æ * * * *"# = 2 * > 2 + 9 = > +

: 2 9+ "#*7 ) 2 9 #+ * 2 # * * * 1 29 # "# + #* * () =+ * 0> 2 * 2

0 ? 2+ ,+ 2 + ( * 3 * * * 7 2 < *

, /# #/# #$ &' *$ =+ * ? ? #$ #$> + * /# # "# #$ * ++ B 2 Æ "#= * #$ &' *$ + /# # "# #$> #* G *&' *$ 2 *2*$E Æ 2 = ? >

2 + # * G$ , G$#

%-

* * 2 + * # * + $* 7 + "# * #/# * *

*#*2 * #&' * # 2 #() ,+ "#2 = * C D>+*$

, # +* 2 * + + # * + + * #

, B + # #$ 6 # + * * + #* * ## * 9+ + ** 2 9 ++ + < + E #$+ * #$ 2 2 7 # ?

2 * ,* 9 + 3 # * *+ * * * *+ *) 2 ** 2#2 # ##+ *$ * * * + * 0 * + * 2 + = E* + $ + 2 2 > * 2 + + * *

, * " "2 * #,* +% " + $ #: * + * * * * ?

< , # < < <* + * , E< I E

+ &

, 2 + ' H *#H+ **

' 2

* * *I7 : #+ +=Æ #9 >I *

# #$ * * # #+ * * ##$ + Æ

: *** #+< "/#4"# "%-#

9 + 7 #

' * *2 * #

+ * 2 + #) 2 * <

%.

* + * 7 * +

+ 2 :+ *% R 44/

<

, 2 * + : Æ * * *+ + * 7 * + 2 + * * H + H* # + #+ * #+ # * * #

, * + * #** , 2 #

, * + +# #H 7 H2 :+

+ + + * +* + ! 2 " 2 # #"%5( * ( * ( ( * ::

, 2 $, 2 &' *$ $ * "" * * * ? #

* : 2* 2 # < * 2 *

, 2$ #$ 2 2 + # * * H "55 + ./55( * ( H *#? $ #$* + 2

, * 2*$ + 7

' 2 $#+ * + B , + $ +

,

(0 & *# * + + 9 # * = * > 2 +

 

 

:

+

& * R * 0 +2 # * + ? *#+* ) L+ :

*

7)89 :

; ) <

8 # =

+

 

+ ! 8 5 4

 

8<); >?@A#B

 

 

 

# ! C # 99 # 1D -

7)89 :

; ) < 8 # =

)

 

A ( #B

 

 

 

# ! C # 99 # 9D9,

7) 9, :

5 ) # =5 !

5

 

E 5)!

3 + #B

 

# # 1#

 

A 99,# , D-$

 

 

7) 9, :

5 )

# =3<!-#B

 

!"

 

##

! 5

! # 5

E # 99,# -D ,

F

7)%2+9 : % ) *# 3 3 % # 2 # ) + # =) 4 ) A 8 5 ) #B

$" ## G E # 99 # D$

7) 9 : ) # = #B E # 9 ) 99

7)5 2 ) ! < # =3 ! " 5 ; 3 . 5 #B % &

'& #

# ; # ? # D 991#D 9-

78)H9 :

<

8 # ; ) # > H

 

# =! 4

) A 8 5 +

 

#B (

 

# !

 

C # 99 #

D

1

 

78891:

?

8 )

<

8 #

=3 .

 

5 > #B )

 

* #+ , % #

 

! C # 99$# ,D 99

7889$:

<

8

 

)

8 #

=(

 

! 3<! E <" ( #B

 

) * #+ -

 

# ! C # 99$# 19 D

 

$

 

 

 

 

 

 

7889 :

< 8

) 8 # =) ?

 

3 I ) 3<!#B )

 

* .#, #+ -

 

# ! C # 99 # $D$,

7889 :

E

8

 

 

! 8 #

=) 8

H ! 3<! > 5 #B

$ # 99 # $ D$

785H9 : 2 8 # ; 5 # ( H * # =H ( 2 ) #B ) * #+ , $ # ! C # 99 # D

783>9,: 3 8 # ; ) 3 2 # ; J > =@ ? 5 5+ #B )

* .#, #+ !

# ! C # 99,# 1,D

783;69 : 2 8 * # / 3 Æ # ; ; # 8 ! #

 

 

!

 

#

<

 

 

2

 

/ # =2 H > !

 

 

 

5 + ) K 5

 

 

! #B J 99

 

 

 

 

78 >9 :

2

8 * #

J

 

#

 

 

 

 

> # / 0 3?

 

2)5!

; 9- # ; E

 

# + # 99

 

 

 

 

78 9$:

< 8

# =A

5 )

 

E ; H #B 1 '

 

# ,# $# 99$#

9D

$

 

 

78 9 :

< 8

# =@ 2 I > 5

 

#B ) * .#,

 

#+ - # ! C #

 

99 # 19 D$

 

 

 

 

78 9,:

<

8

#

=)

A

3<! ?

 

 

! #B

 

-

 

# ! C # 99,#

-D

,

 

%/

78H9 : ) 8 < H *# =? 5 ;5 #B )

* .#, #+ 2 # ! C # 99 # D99

78H+!91: > 8 # 2 H # J + * # J ! # =? ; 3 . 5 ; >@H?#B

) * #+ 3

# ! C # 991# 1 D

 

-

 

 

 

 

78+!9-:

> 8 # J + * # J ! #

 

=>@H?4 ) 5 +

)

 

! ) #B

 

) * . #+ 4

 

# ! C # 99-# 9D

 

1

 

 

 

78 9 :

> 8 # =3 >@H9,#B )<!

 

 

# 99

 

 

78!9 :

<

8

) ! # =3 .

 

5 ! # H # ;<3@5 ??#

 

>@H?# > #B )

 

* #+ , 3 # !

 

C # 99 # D ,

 

78!91:

< 8

) !

# 5

 

#

 

! C # 991

 

 

78!9 :

2 8 *

8 ! # =

2 %

 

8 5 ) #B

 

 

 

# ! C # 99 # 9,D

 

-

 

 

 

78!9,:

< 8

) !

# =3 .

) ! H 5 #B

) * #+ , !

# ! C # 99,# 1D

753A9 : % 5 # < 3 # > A # =3<!C4 ) > !K C 3<!#B

("# @ # 5 # 99 # D ,

753A9 : % 5 # < 3 # > A ## =H ! ? 8 5 #B

' 2# ! C #

75 9,: 5 ! H 5 # =@ * ! 5 C>?/# !?23# !+ #B

-

# ! C # 99,# ,1D ,

75 9 :

5 ! H

5 #

=J

( L!

 

3 !

5 #B

 

(

 

# ! C # 99 #

 

, D9

 

 

 

 

 

 

7529 :

(

5

<

2 # =J<;

 

@8@)2B (

 

# !

 

C # 99 # $9D 9

 

 

 

75 9$:

3

5

# =

3

<

 

! &3<!' ! )

 

) #B 6/ 1 ' #

 

) 1 # 1# 2 99$# $1D

 

-

 

 

 

 

 

 

75 9 :

3

5

#

 

#

 

99

 

 

 

 

 

 

75/9 :

5

2 5 / # = ;<3@5 ??

 

5

#B ) *

 

#+ , 4 #

! C #

99 # $D 1

75/!H9 : 3 5 # 3 / # 8 ! #J H # =5 @+;?2<#B

( # ! C # 99 # 1 D$

73 9 :

J 3

# =5 ( 3

 

#B + 3 # H E

 

> # 2 9

738+9 :

( 3 # ) 8 # 8 +

 

# =;?+<23-4 ) ! C

 

;?+<23#B

 

 

 

# ! C # 99 # , D

7359 :

J 3

5 5 # = (

 

! < +)A)2)#B

 

(

 

 

# !

 

C # 99 # -D,$

73%C91:

J 3

# ; % # J C #

 

=8

5 8 2 )

#B % & '& 7 #

# * E 8 # 991#-D 9

73%C9$: J 3 # ; % # J C # =/ H ?3<)#B )

* .#, #+ %

# ! C # 99$# 9D ,

73%C9$: J 3 # ; % # J C # =) A ) 8 5 3 #B

&8 '

# ! C # 99$# D1

%4

73(, :

/ 3 Æ 2 ( # =A 3

 

5 #B

 

& # ? # A

9, #

 

$$D$

 

 

 

 

73(,9:

/ 3 Æ 2 ( # =<"

 

5 A8! 3 <

 

! #B & '# -# 1# 2 9,9#

 

,$D$

 

 

 

 

73H :

5 3 > ) H # /

 

/ # )

 

( # 3

2)# 9

 

 

73H;9,:

J

3 #

>

H #

C ;

#

 

=

8

5 !K #B

 

 

-

# ! C # 99,#$9D

7< % :

< %

# =) + H 5

! ! 8 3

>

#B

& ? $# 9 # $9D

$,

 

 

7 ,1: ( # =5 5 + #B 9 # # 2 9,1# D 1

7 9 :

A #

# 99

7 A!, :

(

# / )

A *#

 

J > !

#

 

=!

5

K

 

 

2 2 3 5

#

 

# 1# # 9, #

 

$D$

 

 

 

 

7 !9,:

A 8 ! # =5

 

) #B

 

!" ##

 

! 5 ! # 5 E

 

# 99,#

-D

 

 

 

7%59$: ( % + 5 # =) 5 + " ) ; H 5 #B ) * #+ , - # ! C # 99$# 1 9D1

7%@!

%@! %

!

$, 9#

 

=5 + 3 +

 

!

#B

%

 

5

 

 

E!!; ! # 9 9

 

7% 9 :

+ %

# =! % ;

 

A

5 + #B

 

 

3

2

. :

'

 

& ' 99 #

$1D

,

 

 

7( 9 :

5 ( # 6

 

#

<

!

?

+

 

# ,# ( % C H

 

*# 99

 

 

 

 

 

 

7( 9 : + ( # =3 . > / H 5 ?3<)#B )

* .#, #+ 2 # ! C # 99 # D

7(H29 : 5

( # % H # J 2 #

=) % * > 5

) 2 I +

>

#B ) * .#,

#+ ( # ! C # 99 # $D1

7(H;69 : 5 ( # J H # C ; # 8 ! #3 / # =5 !+<<3#B# 99

7(H!/9 : 5 ( # J H # 8 ! # 3 / # =5 !+<<3#B

2 # ! C # 99 #

7(29,: 5 ( J 2 # =+ 5 #B

- # ! C # 99,# 1D ,

7( ( 2 ( ! < # =@ ! 5)! < )#B 5 5 <5 < # 99$# 11 D 11

7J .6, :

J . # =3 ?

 

#B + +)# $ J ,,

7J(9 :

J

 

5 ( #

=8

 

A E

 

2

%

 

* > 5 +

 

5 #B $ #

 

99 # $,D$,9

 

 

7JH9,:

J > H # = ?

 

) 8 5 #B

-

# ! C # 99,# D$-

7H 9 : H H # =) A 3 5 8 ! 8 5 #B

3

$# 5 + ( # 99 # 1-D$

7HH

H

# H H # ;

# =3

 

 

! !

3 .

 

5 #B # <,,

 

)# 99$# 1 D 11

 

-5