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

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

.pdf
Скачиваний:
11
Добавлен:
23.08.2013
Размер:
812.81 Кб
Скачать

* *+ * * +$ * *

2 * + * + #$ #$* #7 2 + +#@ 4/A

$

+ 2 2+ #$ < * 2 #2 + 2 + 7 * *+ #$

0 * #$

 

#$ + *

0 ' @0

'%%A 2 +#

+ @9 4"A ' @ /%A#$ 2 + * ' + : #@R 7F.-A * *#$ ' 2 * $ #$ 2 @9 4 & 4%A& $2 +#$ @, A

* + + #$ H ' @ 4!A ' @ 4 A@& 4- 4. AH #

* # #$

+ H +

9 ,

@, 4!A

$ #

 

+ - @8 4!A

9 + @0 B4.A #@9 A ' #$

81 @81 /4A 2 *7 $ #$ *# + *

. .0 213 4

#$ 2 < + * 81 E !# #!# #$ E /# #-!# #$ @ 94-A 3 #$ * ** H 2 H+ ? * I ' E

-# #!# #$ ? "%- + 9 E + /# # "# #$ ? ! #< * * #< I /# #-!# #$ "-# #-# #$ ? "/= * 2 #+ * #$ #$ *< 2 < 2 2 $* I #$ Æ#2 <

2 + $# * @9 4%A >

* ? * # < #$ =/# #/# > #$ =/# # "# >

. ., 213 4

#$

'

+ L

J3 J @J3 J4/A

2

 

3 31

=

31 @9 4/

A> :' 0

2 #

+ + * * *+ #2 + #$* * * * # * 01& 0 & +2

#$ #$

2 7

 

@& 45A

3 @

4

4 A

 

31 ) # 7

#

+ * * ##$ @ 4% R4. &4/ A 9 #? 2#$ 2 #* + *

: /# #/# #$ * + * !# #!# #$ ) 2 !# #!# #$ * $2 #/# #/# #$? *# @ ;4/A

< ? < < ' ? ) ( <

/ B 2 ( ? ' ' 1 +5 )$ ? '

' ) @ '

$8 (

 

"

. ./ 1 213 4

#$ $ + #: + # #$ * $ #$

7 ##$ : * #$H + , *#

#$ * + 0 '1 :: @ ,4 A 9 @ 4!A* *= # 2 #+ 9 @; 4-A># #$ + * ##$ + * *9 *#' @994!A

& # #$ ** #3 + $* ) @ : 4 A# #$ 9 #+ + #$7 2 * # * + * # * 2 #$ + *#+ * * + *$2 < #*

2 7 = # 7 ## > ** #$ : +* # #$ +# + + #+ B 2 #$ *$ * 2 # B 2 + #@994% 0(4% 0('4. , A */# #/# #$ /# # "# #$ B 2

) 2 ##$ *$ * #+ #$ + * # #$ + +#= $*> , + <

$ " % & "

*E * ** 7 +$ *+

+ 2

* ? 2 C D@, 4% A

* 2 *

, ++ + ? 2 +# 2 #+ # #$* ' = +# 2 > 2 $ * #* * + * ' @ 4% A# @ 4%A # @, 4% A 2 * * #+# 7 @ A 2 + #

2 2 #@ ' 4/A : * +? +: * B' :' 31 * * #+ ? # * 0 1+ + ++ #* * 0 % # # += * *+> 9 @9 A :

@4.A

* * 2 # * + +

/ 2 # 1

. * (0 8 + I

0 @ ? ? , E $ $? * )$ 3 ) " (

""

+

* 2 : .E * *+ * * * 2+* + *+* + 2 * + :E2 + *

*

( , / 2 & .* =

* + >7 +# #$ # < + * + + *

6 ) , 213 4

2 3 . *2 # #$ # 2 + * 0 2* + &' *$ ' 2 * *$# * < Æ + * + #2 * G ? *#$ #

* + * +* * + * ++ * *2 * : #+ * 1 + *

* * +

*$* Æ 2 2 * * < * + ?* *

* C G D # 2 + *? * * #

* Æ + * *

* 2 * * +

:+ + * ** # + $##$+ 9 3 ) 2Æ ? * ** * #* * *

+ *2 #$ + ? 2 I ' #* # ? # I ' # * * #* ) 2* ,* 2 *+ $

- " '

+ * + *

 

+

 

*

 

+ Æ

*+(# * $ + + #

# $ $ ?? ( C ? ( ) )$ $( ) $( ( F ' )$ $( ) $( D 1$< %5 / $ $ ( ( ( $ $( $ $( Æ$ $ " )-"$ $ $ '

? ' ( $ $

2- $? $G $ ) ( "

)-"$ $ 1J<<+3 2 B +5 ) ( " " $ ? )-"$ $

$ $) ( ? (

 

# "$ "$ $ ) -.$' <

, E

"

- " % & +

+ * * +

+

+ # #$

* 2 2#

 

 

+ 7 #$ 7 * + 7 #+

* #$C D + 2 #7 #+ 2 2 *

+ +

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

" * '(*$ 3(*$ #* + 2+ * *#2 + # +1 $ * '(*$

5 "%- 3(*$ - + $

B 2 44 / + # * * + 2 #( + * *2 =" " > *#2 * * * #E #$

" " + 22 + + + +( * * *

'(*$ K 5 "%- 3(*$ K -I "$ " $

". . + 4 " "

* + " " + * !# * = ! %>* *+ * * * # 2 : + 2$# *# #$+ : 2 + " " #2 =$ * # # > +** 2 * + /# * + " " 2 * #= * 2 2 2 8 =" >> 2 2 * #* 2 * +* #$ * " "

" " * ** !# * ( ( ( ( + 6 + & @& 4-A

'(*$="> K *$ ( @"= > "= > K A

3(*$="> K *$ " ( @ K "= > A

"!

". . 213 4

#$ +

+ *

<

+ + "/#

 

= >

K

" @" @" @ A A A

= >

K

" @" @" @ A A A

= >

K

" @" @" @ A A A

= >

K

" @" @" @ A A A

2 + *0 *$ ?

+ #$ ? ,K 5 = > K " @ =" @ A>A

* #$ , 2+ *" " 2 # 7 #

: * * * ' 7 + =" " > $ $ 7 , + + ** *

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

+, 2 $2B #$, B+ * + " " * 2

". . 54 : 2 ,

8 2 $ * " " +#+ + * * 2 + * $2 ++ # #$ :"/# + *$2 + #$- + * : * 2 = & >+ < : :* $2 2 * + < + #+ 2 + +

! '(*$ + 2 #< $ + + # * + = > $< #& * +$2 $* !"%-# * I"/# 4"# 2 2 $2*$* * 2 + * * *$* * + "/# #$ '(*$ 2/ "%- * * 2+ 2 '(*$ 2$ 2 #" * + + + #$ 2 2 = 2 > 2+ $* K "/+ 2 " # #$

'(*$ K / "%- 2 + = " > 2 '(*$ K " "%- 2+ #$ = > + ! "

= "%- #$ 2 + "/#& * 2 2" #$ * *

% + 3(*$ + 2 < 1 2 2 * B

"%

+ #$ 2 3(*$ # =// "%->* + + #$

2 "/# #$3(*$ 2 = 55 "%->*$* * 2 * +< & 2 +< * + * 3(*$ + + ++ '(*$

+ * + * $+ 2 < 2 -$ + #$ 2 +K = > * 2) 2+ 2 + #$ 2 * * #$ * + $

+ * #$

+ *

#$ 2

= #

+ $ $* ) Q >#$ + $ 2

* +

* + 2 + 2 +* + # #$ B + #$* * + #$ 2 2 +# + 2 #$ + *+ 2 + ##* + * #$ ' + #$ # += > + #$$ 2 + # 2 #$* $ /# * "@ A 2 '(*$ 3(*$ 2 ## + * + #$ * = > K "@ A :* # 2 * + *2 7? +# + 2

#$ +*

: + # # * * + * * < 7 2 & ' #$* & ' * 2 * + 7

 

 

 

 

 

 

=( ='(*$ K "%->>

 

 

<

&$ ;

 

K /

K 5

K "

K !

K -

K /

K "5

K ""

K "!

"/

/ "%-

 

% !

 

5 4

 

!

/ 5

" 5

 

 

 

4"

"! "%-

 

% "

 

5 4

 

!

/ 5

" "

-%

"5 /

"% 5

"%-

"" "%-

 

%

 

5 4

 

!

/ 5

" "

-.

"" 5

 

 

 

 

 

 

 

 

 

 

! '(*$ 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=( =3(*$ K = "%-> >>

 

 

 

 

 

 

 

 

<

&$ ;

K

 

%- -

 

-! .

." .4

/5 /.

// 4%

4-5

5!

 

 

 

 

"/

= 55 "%->

 

 

4

 

5

 

"

 

! "

 

 

/ 5

 

" !

 

 

 

 

 

 

 

 

4"

= 5! "%->

 

 

4

 

5

 

"

 

! "

 

 

/ "

 

" "

 

 

. 5

 

 

 

 

"%-

= 5/ "%->

 

 

4 !

 

5

 

"

 

! "

 

 

/

 

" %

 

 

. !

 

 

 

 

 

 

 

 

 

 

 

% 3(*$ 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=( =V $ K >>

 

 

 

 

 

 

<

 

 

&$ ;

 

K 5

K

K "

K

K !

K %

K -

K .

K /

K 4

K 5

"/

 

 

/

 

 

!

 

!

 

" !

 

!

 

-5

 

/ "

 

 

!

 

. 5

 

 

 

 

4"

 

 

5

 

 

!

 

!

 

" !

 

! 5

 

-5

 

/ !

 

5 4

/

 

-/

 

4 /

 

" !

"%-

 

5

 

 

!

 

!

 

" !

 

! 5

 

-5

 

/ !

 

5 4

.

 

-/

 

" 5

 

" 5

*

 

 

 

 

 

!

 

!

 

" !

 

! 5

 

-5

 

/

 

5 4

.

 

-.

 

4 4

 

" "

- * + $ 2

+ & = ' >7 #$ + *#

* # 2 2 + & $ 7+ 7 , +& * 7 + + #$ 3 #? + #$ ? & ? +7 ? K$* "/# - +* #$ " ++ #$ "7 ? + "5 ,+ 2 C D + # 2 ? 2 ? U :+ *"5 # *? + & 2 2 + + # #$ * ? $ - + + * + #$ "/#2 *

"-

+ 2 7 ? 2

. + +* 7 + 2 * ? $#( = K > " * ? # 2 2 :+ B 7* 2 2 $# *

/ + * *7 : + ?+ 2 7 ** C* D#'(*$ * 2"5 2 = 5 " ! /> ? * *$* * * + ? 7 + "5 2 :* Æ? 2 + #+ + 7 U 2 $* Æ#+ * 2 $ 7 G + & ? * < 7

 

 

 

 

 

 

 

 

=( = K >>

 

 

 

<

&$ ;

 

K

K "

K

K !

K %

 

 

"/

%

 

5 5

. 4/

% 4%

" /4

5 55

 

 

4"

!

 

5 5

. 4/

% 4

"-4

 

 

 

"%-

%

 

5 5

. 4/

% 4

"! 5"

5 "4

 

 

 

 

 

. 7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=( =*$ V ? 7 K >>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

<

 

 

&$ ;

 

K

K "

K

K !

K !

K -

K .

"/

 

.

 

 

 

 

5 4

% 4

-

.-

" 4

5

 

 

 

 

 

 

 

 

 

 

 

 

 

4"

 

.

 

 

 

 

5 4

% 4

.

. /

" 4

"4 5

"%-

 

.

 

 

 

 

5 4

% 4

.

. .

" /

"4

/ C& D#'(*$

2 * * #* /# *+ + *$* '(*$ * + + " * * #+ '(*$ 2 * + # #$ * 2 #+ + # #$ $ + * G #+$ * *+ + + * #? * <* + + * ##$ 2 * + *

-

+ + * + #$ * #!# #! &' *$ 2 8 =" > *$ * 7 * *&'* + * + 2 :#+

 

& " &'

* $

&' *$

+ + 2 * + 2 ++

&' *$ $ Æ#

".

: * 2 * #*$ + # * ? 2 #2 + + * &' *$# 2 * ) 2* &' * 2 $

+ * * * * #&' *$ * * * # * + + "%- "# Æ*$ 7 + * ) 2 + * C * D Æ#? @' A * * * #+ 6 &' *$? 2 * #$ + +? * *$ #*$

) 2 + +

+ #&' *$ + 2 +# + 2 ++ +2 &'() F"+ + () :* + C D + + () &' + + +* "%! "%% ++

7 + + () #&' *$ +7 + #+ :+2 7 + + * *$ * + * "#+ + * $ "# + #< &' *$ Æ + #+ 7 + **$ *$ 2+ + G + G + * $

2 +#2 ** + #< * + 8 =" >+ + K = > #1 2 G$2 I+ K K :2 2 = * 2 >* * # + +Æ + *2 .%P + !# #! * 2 8 =" >&' + *$

* $ 2 * 2 * + + + C * D * $< 2 * $ * + #* * + + 2 < + 2 #+ + 2 &'

*$ 2 * 2 # * = > K F F F F

* %9 = #$ * 2 + !> ** F * F * + = >%9 * F * # * + 3 0 + * = >+

* * + * : + &' * #$ $ * 5"5 &' 7 + #+ * 2 #+ 2-"- 2 + #7 + "# '7 #? + * 7& ?

* &' ** %9*$ *$* < * * * ) ** + +# + 2 # 7&' *$ #) ** 7 + + 7 : + . + 5"5 # 77 ) ** 7 I * 5 7 ) ** + 2 #) ** / ** +# + 2 () * F " + 5 4 +5"5 # 7 : #7 7 ) ** 7 + #5 5555 /I +# + ) ** +7 5 55 "%=5 55 %> +

* *

) **

* +

*

,

 

& 9

/

.L 5"5

 

4

" L 5"5

!

5

!"L 5"5

%

* &'

* &' *

*$ = * > + *$

* + * *

+ = * > + *$

* * * * ) **

#

7 *$ #

7 ? 7 2

2 + * * * ) **

2 /

+ + * *

#

*

 

"/

: + 2 *$ * * * * ** *

: 2 7 +2 &' #6 + /# #/ &' *$ 2 8 =" > !# #+ 2 9# # * + #< + +* #: +2 &' 2 + * # 6 + /# #/ &' * 2 8 =" > + !# #! * 2 8 =" > 2 #+ * 2 * Æ

+ *$ *$ 0 #= % .> 2 8 =" > ? * * * * *$ 9 +/# #/ &' *$ 2 8 =" >

+ * &' * #$ 2 8 ="> ++ +

-

() ++ 2 + #( * (6 + * 3 = 7 2 > 3+ + = " ! /> 2 + "##( *+ * 2 +C * D + 223 * #? + * * ++ 2 +

: + ! # #$ !# #! &' *$ () 2 / # #$ /# #/ &' *$ 2 8 =" > 2* 2 * *

"4

- % & .

2* () 2* + * ( * (6 + * *

2( * + + * + #:+ * * 2 #$ # + * + 1 * #+ 2 * <

- $ , # (+

* +* + *# I * Æ+ , #= &'! @0 24 A &'% @0 24"A 0:( &'#-5 @'9(4-A ) @ : 4 A> * * #* + 3 ? = ' ; @ ' 4%A> , * * *@ A *$

- - / 0 1 +

9 ++ /# #/ #$ &' *$ ##8 ="># * +&' *$ * " 8 ="> = > , #$ 2 2 + /# #/ *+ #++ 2 #* $ + ()*

+ + * *

-2 0 " '

* B * * + 2 7 #+ &' * #$ * ++ = > * () + * 7 "#

? + + () 2 2#? F " * +#+ ** $+ + *2: * + () 2 #< 7 #"%! "%% 2 # 7

,

 

+ . / +

+

 

 

+ () * 2 7 #$* *7 + 55555 /5 555555/5+ G* + 2

-3 ( '

, + "#+1 ++ # 2 ** + * + 9"# ? + + # *

+#+ #$ &' *$ #+ * * #*$* ? /# #/# *&' *$ + + *

+ + ? 2 * # + + * + + * $ 0E

@4% A

* + #+ + "#+ +0* < + * ( *

(6 = ( * ( #+ * # > *(6 = 2 * #> 3 * #* * < 2 #+ $ * #

* + * *#= .P ( *> +$ * # ** #* 7 #? +:+ * 2 C 2 D* < #+ 7 #: * * ? + * 2 #$ ? * * 1 * + <* 2 ** # #2 * +1 2

2

: 2 # #* * $ B + * + 2 + +$ * *

2 +() &' *$2 &' 7 +7 : +#+ ()

&' *$ "#2 ++ + "# + 7+ 2 #) 2+ ? # 2 2 F " " ? #$ *+ 2 77 +

5