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

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

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

6

6

6

6

+(

23!

23!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

23!

 

 

 

 

 

 

 

 

 

 

 

+(

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

23!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 + + = "/# >

7 /

' () )

* 2 + + #

 

*

"/

: #$ #

* +* * + + 2 <$ *

( * ( *+ B 45 & L

, 2 * * + 7+ * + K 5 4 -5 + 0 &

 

7

+

* * 2

7 L 7 $*2 + +

+ * # + * * : Æ 2 + # + * "# (6 /# * #;3 : & *2 + + * 7 2 *#+ * ** * # * G$ ** * Æ 2 +

I *#* * # 7 7 * * + 1 + ** #+ ( * :: * * #* # *

+ / + * + * 6 ! + #$ $ /# # "# *##$ ** + &' *$ 6 * + + ++ <

/ +* ** #* + #$ /# #/ + $ /# # "# &'

+ * &' *

 

#

 

+ "#$ +&' + "#$/# #/# #$

* # + #

2 E + *+ 72 * * 7* * +$** 2 * # ? * $ +

* ? ** ? $*< = > + + # 2

* 2 * $*#( * ( + * < * #2 +"/% . / #+ ".55# = ? 2#!% > 1 "55 &)<

+ <

6 / 2 + + * < *+ "#$ *#$ * "#$"/#Æ * #$+ + "#$ =# # + # # ># * #$ + *+ * 2

< * + #$$ : 2 *

"

(

3

 

 

 

 

 

 

 

1

<

"/#

4"#

"%-#

"/#

4"#

"%-#

( * ( L::

*

*

/455

".55

%!55

/ 55

"/%

"/%

"/%

 

 

 

 

 

 

 

 

 

 

( * ( L::

*

 

/!%5

./55

5.55

%55

%

%

%

( * ( L::

*

(

5.55

!455

.-55

5%55

!-5

!-5

!-5

( * ( L::

*

& *

-55

"!55

% 55

/"55

."5

."5

."5

( * ( L::

*

O

4 55

"%5

-55

"555

/-5

5

!"5

 

 

 

 

 

 

 

 

 

 

( * ( L::

&

 

"55

/555

"55

%.55

-55

-55

-55

( * ( L::

&

(

"55

. 55

4.55

! 55

/55

/55

/55

( * ( L::

&

& *

--55

555

./55

""55

5

5

5

( * ( L::

&

O

5%55

"!%5

"55

!555

5

.%5

""55

 

 

 

 

 

 

 

 

 

 

( * ( L::

9

 

! 55

5 55

-55

//55

-!5

-!5

-!5

( * ( L::

9

(

! 55

4%55

"55

--55

/!5

/!5

/!5

( * ( L::

9

& *

. 55

!-55

5 55

% 55

-5

-5

-5

( * ( L::

9

O

5 55

"55

!"55

!/55

4 5

"-.5

!.5

 

 

 

 

 

 

 

 

( *

*

*

/455

"!-55

"-/55

"//55

"45

"45

"45

( *

*

 

/"55

55

! 55

-555

%

%

%

( *

*

(

5 55

%%55

./55

4/55

! 5

! 5

! 5

 

 

 

 

 

 

 

 

 

 

( *

*

& *

"-55

.55

%455

.455

.!5

.!5

.!5

( *

*

O

/.55

/55

" 55

"-55

555

55

-55

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( *

&

 

/55

455

% 55

" %55

- 5

- 5

- 5

( *

&

(

! 55

4"55

!55

4/55

455

455

455

( *

&

& *

./55

/55

55

-455

!-5

!-5

!-5

( *

&

O

55

"/55

455

!455

.!5

""-5

".-5

 

 

 

 

 

 

 

 

 

 

( *

9

 

".55

!"55

/ 55

"- 55

/.5

/.5

/.5

( *

9

(

!"55

"55

-%55

"! 55

55

55

55

( *

9

& *

.%55

!.55

" 55

4"55

/-5

/-5

/-5

( *

9

O

/55

.55

!455

- 55

" %5

". 5

".5

 

 

 

 

 

 

 

 

 

 

6 ( 0

 

 

 

--55

" -55

"!455

.%5

.%5

.%5

6 ( 0

 

(

 

/ 55

55

4455

4 5

4 5

4 5

6 ( 0

 

& *

 

55

-55

--55

"55

"55

"55

6 ( 0

 

O

 

.55

55

%555

!%5

-/5

/.5

 

 

 

 

 

 

 

 

( ( .%5

 

 

 

""55

. 55

"""55

%45

%45

%45

( ( .%5

 

(

 

./55

""55

. 55

./5

./5

./5

( ( .%5

 

& *

 

"455

4 55

!"55

"/5

"/5

"/5

( ( .%5

 

O

 

"%55

-55

!455

5 5

%/5

"5!5

 

 

 

 

 

 

 

 

 

 

-/5!5

 

 

-.55

% 555

- %55

4-.55

%55

%55

%55

 

 

 

 

 

 

 

 

 

 

-/5!5

 

(

/ 55

-.55

!.%55

./%55

!455

!455

!455

-/5!5

 

& *

" 55

555

!5555

. /55

/ %5

/ %5

/ %5

 

 

 

 

 

 

 

 

 

 

-/5!5

 

O

-"55

4/55

55

.555

-/55

/-55

5!55

+ * 7

G * + *#22 * ** + ** + <

# : 2 *#*## + 2 * * + + ( * 3 + * () #** ? $ %555 + * * C * D+ $ * + "/% ( * ( * + ( * * 2 ++ * < ( * &&M * * ( * ( * ) 2 * $#* ? * * I G +< + * + + *+ *

0 8 # 8 #

* * + * 2 * + * :9 % 5 *+ * < * $* & + ; FF ! " * "5P + 9 ( * ** < + =-5+ & + ; FF ! " 2 /.5+ 9 % 5>I ( * ( L::7 * ?= -55 L 2 -!5 L >( + 7 * + * + 9 * #* #* *+ + + 7 #9 & + * 7 * * + * #9 * + * & + E * & # + + !5 ( * = -5 L - L > 2 + ' * * * * + * ) 2* *

!

2 + "/% 2 2 #2 + * *

* * 2 * * # * * < + * ( * = ( * &&M> 7 + * * ? *$* <( * ( ( * :: 2< 2 # + * * $* ( # * ( L:: (6 + * * *( * ( # * &&M + * ) 2 ( * ( L:: + * 36* * ( *+ 36 * *#= >7 + #* ( *( * ( + " 2 2 Q 2 *#(6 # *2 + * * * #+ =! P> ( * &&M (6( *&&M * +< + &&M

* * * * 2 + * : * 2+ + ) 2 7 * =* > 2C D 2 #, 2 * * # + * * < * * 2*

: + * * + ( * :: *+ ( * ( #: * 2 *( * ( * &&M 2 *+ #2 &&M *

+ * <

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

+ * * + * + ** 1 + 2 + * = ( * ( > * + * * *+ * +# + 2 * + * = > ) # 2 = R 2 > *+ + 7 + ** * < * * + * #+ *

# 2 9< + + * < ( # * ( + * /!%5 *#! 55 9 : * ""%5 < I * !555 + ""55+ + "/#: 9 !%55%555 + ( * ( * ( < 9 2 * + * < * 2 #+ ' $ + < < + + * * I # * 2 *<+ *

: !-55 +$ + &' *$ " " ? + ? ! 55 + # + + #' ( * ##2

5 + * * #2 + * * + $* + * * +2 ** 2 *

" 2 E + * ( # * ( = * # 2 > "/#

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

,

* * -/5% (6* 2 7 S * 7 1 7+ *

0 &

 

 

*

= >

<

9

T !&)<

-5

""55

"-%55

- - *

-5

" %5

"455

/ " *

-5

"555

%555

/ . *

-5

.-5

. 55

4 *

 

 

 

 

< #** :+ ? * * 2 * < * * ? * * 0 # * * #$ * + * ? 2 .%5 *+ % "# 01& : 2+ $ -/5%* < + # * 7 (6 * $ #= -%5"> * +

< * + < 2 + 2 "/# * *$ < + H 55$ + 4"# "55 + "%-# * #"-55 =+ + < L 7 2 > + 4"#%"55 + "%-#* * #"%%5 + 4"# !55

+ "%-#

-5 + 0 & + * * * #- + $L$- + :+ -$ / + 0 # * = > * * #* - + 0 & 2 #+ + <

0 $ A < 3+ ) *2

$( *& ) " 9 ( * $ $ $ $ )$

%

($

 

 

 

 

= >

1

 

 

9

-

O

"%5

/-5

4

"

O

"%5

."5

4" /

-!

O

"%5

!-45

.

"/

O

"%5

-//5

-%

"%-

(

!455

.-5

!. 4

% "

 

./55

55/5

! 4

 

 

./55

"5-5

".

"

 

./55

!5 "5

" %

 

 

 

 

 

!

*

".55

."4-5

"5 4

/

*

".55

!%4"5

4 !

 

 

 

 

 

-

*

".55

"4 /!5

/-

"

*

".55

%/-/5

/ "

-!

*

".55

-.-5

/ 5

&

*

".55

/-...-5

. /

" 9 * "/# ( * (

* + $ *< ? * 0 & 0 # * : * * 2 * #2 * *#0 & ? * + * # *

1 2 2 + 01&* " " #!# ! %* % " + 01& #-! + 01& ** + /# " " 2 %5 + 01&I ++ + * ? + * #+ 01& < $* + * * * G$ 7

+

8 2 2 # 2 + (6* * 2

*

+ #

: E &

*

&$ ( : * = (: >$ ( # * (: ;3:,* $

-

( *( * ( L( * :: * #) 2* * * * ;3:, * # * +$ * + &$* $ ( ;3:, (6 #2 ++ * * *

/# # #$+ * * 2 + $ 2 #;3:, ) 2+ * # < * < ;3:, + * * #? * 2 +#$ * # * 2 2 #? * $*@9 A C D * + !# #$ * $ 2;3:, (6? "

: * #* * 22 (6 #* 2 + + * #* * (6 *+ ) 2* * '

+ * #(6 + 2 ' + + * #+ * +

* * +* * + +2 * +* S * 7 * * + * # + 2 B + <+ :2 + 2 # * + + 2 7

$* *#0 & *#G :+ * G + #* #*$ #+ 2 <+ :+* +* #2 * ? * * #+ * #*$* 22 2 *

$* + 7 #$ * # 0 & + 2 + * #" * + 0 & = "%-# 0 & >< +* *< 0 & ' 2*+ + * = +< > + # + * * # + ? # * 2

* ! % + /# * " " + * + !# * * * # * < * * * + *+ "%-# 01&01& 2 ** *+ = "> 2 2

$ " $ " =+ K "/>2 * + ?" "+ 01& * #* #2

: #2 2 + * * +

= "E

&' ()

>

+ 2 #

+ *7 * : 9 * * 2 #* * #2 * $* + # 2* " E &' * + C 2 D ()*C D I 6 # + ++ +? + * + $+ * = "/ > + 2 **+ * : * 2 +* #2 2 2 + + * * #2, * * #E ? * C* * * + 8 L +$ D @& '4.A

2 < * ++ "/# ' #* < += * > * #2 "/# ** * 2 * * *# * *$ 5 % * &1$* ? * # E $ = + # * # > 2 2

.

8

 

 

(

 

 

 

 

 

 

9

3 2

 

=& L >

 

**

!555

 

-!

 

!5 &)<

/5

!

G

4555

 

"

 

!5 &)<

-5

!5

 

" 555

"

-

 

!5 &)<

"5

"5

 

"-555

"

"

"

/5 &)<

-!5

"5

 

"/555

"

!/

 

"5 &)<

4-5

"5

 

5555

"

-!

!

%5 &)<

"55

"5

 

/5555

"

-

 

/5 &)<

-!5

55

#$ 0 &

) 7 = "/# >

* + $2$ =5 "% * > * *

!

: + + #

, * 7 * * + 2 + # *

# : : ' : 2 * + 2 * 2 # ?

2 ' *+ #E

2+ + #$

$ ) #

+ + * # 22 + + * @ ,4.A #' + * * +3 @ &//A + $* #+ +

+ 1 + H 0 '1 :: @ ,4 A 31 @9( 45A 31 4

@9

A :' @3&4 3&&4 AH

+ * +

+ L

@& 4 A * $#Æ "# * I 3 @0 4! 0 4.A * #$* 0 " @0 24. A + -# * 19 0 @0 4/A + /#1 * *+ * 44. #( ' @O 4.A O #8 @O84.A #2 $ 2

* * +* + + * , *#E * +, # < @ ,4.A 0 % * 2 *#+ + ' +* + ' E 0 % +' * *

2 * 7 Æ#"# + + #+ # 2 + * < ## + * (6 * * Æ& * + 9 #@ 4!A 3 @0 4! 0 4.A 0 ! @ 4-A* 2 + * 7 #@ ,4.A = 2 # * E *$ 7 + * > : 2* + + *

 

( ) $8 ( 1 2 B + 29= +5

 

C (D ( A ( E ( ) < 1 , %%5 ( ) ( ($)

0- $ ' $ / 9 ($ 19 ' 5 C (D ( F A 9 ( G 0 (

/

 

:

E + * + : ( #

* ( @

: 4. A #

+ *

) 2 + *

"# (6 /# -# (6 :+ + * + * #2 J E # +# # (6 *

E (6 2 */# * * 2 2 2 *+ * * * * #@9 4. &4. &4.A2 < + ? * * " * #9 " 2 :;

2 * + +7 / + * 2 - +U

* #* *#, + : ( */# ** * * $*#/# #/ &' *$ 2 8 =" > # 7 +!# #! &' *$ 2 8 =" >I + * 2 ( *#* * *

. .1 : ;

' 2 # 2 + * + 7 *+ E +"5 I -"5 ,* + 2 * + * + + *

$*

, 2 # #+ &' *5+ ( * ="( * ( > + *2 *#+ ?+ * *- + * U

, 2 * 2 #2 2 ? 2. ++ * -

+ U

, 2 # #

$

+ +

+

2

* # * 2 #* * # * * #= #$ *# > 1 * * # *

$ , ) ) #

#

 

 

 

 

 

@ 4

4 1 4! 1 4! 1 4! 4!

4!

4! '8;4!

4%

& 4-

4-A 7 @9 4 A @& 4!A

 

#

 

@9 4!

 

 

A

*

H # "/

@ 4. A

&: J

@& 4.A * H* $

) 2 27 2

 

#

7

@3 4!

4% A

@R4.

A

# @

A

@R

&

 

A

@

A

@R

A 2 +

 

@&

A

 

 

<

@&

A

 

 

# "/

 

 

 

@ 4 ) 4!A7 #2 + * + * $ @3 4. A2 7+ #@& A , #*2

, 7

: + * <

 

*

 

, *#* < +

H ) 1, 2 +5 ( " )$ $ $ ' Æ$ &*-) $ $E$? "$ +-) $ $

4

2 2 2 # *

& * + G , # ** ,* #+ * #

@

O&:45A <

@ 4-A

 

, * * * * " F = :' &&9 @'8;4 A> #= 0 % @ 8&(4-A > + # * 2 * H&' * () H + 7 = ? @' 0 2 >

, # #$ +# + ? #7 #* , -2 #* , # #2 , 22 # #

$ + #

+ * +2 + * # * 3 @ &//A 9* +* *+ < * # * + = 0 '1 # :: @ ,4 A>

) 2 2 + #* 2 *+ E @, 4%A 0 %E *+ " @9 A :* + * * +

. .* :

1 + * + * * 2 * + #+ + C D + #* *+ H <

* #=/# #/# # #$ +$ * + #

&' *$ + ()

>

+

 

7 * = + E + + # 20 I E + #2 > #+ * # 27

2 + * # * + 0 2 * + ##

, * * #= 9 ( * @' 4/A 0 ! 0: ( @3 4-A J ) @J )4-A> 2 2 ' '@ 4! 994-A +* * 2 $ * #, + *+ * +7

. .* : 3

, # 2 $$ #+ + * 2= ' :' 9 >? 7 * + #= 0 ? >

+ #7 + *

9 $ ) ( (-( ( ? $ ? 12> 5 7 1 +5: ) G $ 12 % ,2 +5 ?? $( ) ) $" (-( (

' ) 10 % 29 %5

( $? .$ ) ) ' 3 ( $ ( $ " ) ( ?

( ( " $ &* ( ) *+ ( ' ( ? ' ? (

/ $ ( < $( < ( "$ ) &*-) )$ ( +-)$ ( ) 1 ( %)5

"5