A new self-synchronizing stream cipher

2 downloads 0 Views 183KB Size Report
Cryptography has become one of the fields of modern science since the celebrated ShanM. nonGs work [1]. Cryptosystems can be classified to two classes, ...

A new self-synchronizing stream cipher Shihong Wang Department of Physics, Beijing Normal University, Beijing 100875, China Science school, Beijing University of Posts and Telecommunications, Beijing 100876 , China Huaping Lü Department of Physics, Xuzhou Normal University, Xuzhou 221009, China Gang Hu Department of Physics, Beijing Normal University, Beijing 100875, China Correspondent author (Email: [email protected])

Abstract A new self-synchronizing stream cipher (SSSC) is proposed based on one-way and nearest neighbor coupled integer maps. Some ideas of spatiotemporal chaos synchronization and chaotic cryptography are applied in this new SSSC system. Several principles of constructing optimal SSSC are discussed, and the methods realizing these principles are specified. This SSSC is compared with several SSSC systems in security by applying chosen-ciphertext attacks. It is shown that our new system can provide SSSC with high security and fairly fast performance. Keywords:

stream ciphers, self-synchronization, coupled integer maps

1

1 Manuscript Received January 11, 2005. This work is supported by the National Natural Science Foundation of China under 10335010 and by Nonlinear Science Project.

!

"

"

!

"

"

#

"

$ %

!

" "

& !

%

"

!

!

"

&

"

"

"

"

"

' (

% )

"

$

*

+ "

*

" %

$

"

"

,

" "

"

- . &

&

0 &

/

!

% %

"

"

"

! /

"

"

"

" "

%

#

$

" /

( )

"

%

"

12 '

" " "

"

3

-

1

' +

3

1

4

"

"

" 5 * "

,

"

.

"

%

,

"

#6

"

"

4 7

8

"

"

" %

/

"

"

"

%

*

"

" %

/

"

*

// "

"

,

9

" "

"

/

"

///

"

*

"

%

" " /:

" "

"

,

+

"

" "

/

" "

"

"

" /

" " "

"

" "

" ;




, ;

! / 0>

!

"

"

/

! 0>"

!

" 0>"

!

>"

!

)

! !

"

,

"

/

,

" ,

'! ,

%

,

,

9

(! " 0>

0>

! 5

!

0

"

"

1

!" #

*

$

,

$

0>

% ( ( "( %$ '

!

)"(% " (

2 ( ( "( %$

%&

.

" "

) ! 7

"

"+

7

,

>"

! ;

5 "

.

0

50 !

50 "

>"

,

5

" ) !

" 50

" ,

) !

-

) ! 5

?"

.

"

* @

"

%

,

0> )!

*

- !

- !

*

,

0>

!

!

-! ;

! *

- !

! /

" *

"

-!

!

" "

" " .

"

!

>"

1 ! 1 ! " "

" "

*

"

1 " *

"

" 0> -!

"

>"

" "

>"

,

0> - !

4!

A! 0> 4!

" "

>"

0> 4!

"

"

"

0> A!

*

"

,

"

"

" *

"

"

-!

"

3

*

$

$ $

$4' 4$

*15/

4

B !

*

B !

*

" " 0> B! 7

;

! *

" "

0> B! 8 , 0> B!

" >"

, ;

"

"

,

*

" ,

,

, *

"

A

C!

"

" "

*

>"

!

"

; '0>

,

"

!

"

"

*

! 9

*

*

0>

-!

B!

"

"

"

"

+ "

,

; $"

"

, " ,

,

"

'C B!

"

*

"

"

"

B

&

"

//

"

+ "

"

9

%

0> )! *

"

0> ) !

*

"

,

0> ) !

>"

!

/

"

"

"

, "

+ " !

.

" "

9

0> ) !

>"

6

"

.

0> )!

, ;

0> )!

0> )! >"

"

"

, "

" "

"

"

* "

"

%

"

"

( D

"

"

+ " $

="

%

"

" " '! " !

"

" "

"

5 "

"

*

C 9

0>

"

"

'!

,

, ,

,

>"

&

$ *

8

,

"

% ,

! / 0>

'!

"

"

E

8"

" "

!/

"

"

.

"

E !

/

!

// 7

!

!

'!

//

!

E *

0>

"

"

!

>"

"

" "

"+

$"

5 " !

!

"

"

$

! "

@

"

"

"

5

0> ) !

"

$

.

"

"

"

/

" "

( ! ( !

D" " " *

"

( ! " "

"

"

" * "

"

(!

"

/

"

$ %

0>

(!

%

)!

$ ! /

"

%

"

"

"

"

%

-! 9

"

1! "

4 ! 4 ! 4 ! *

4 !

" 9

0>

4!

% A!

' /

//

) !

,

- !

0>

B !

0>

B ! *

"

!

) !

- !

!

!

" "

"

, ,

!

"

*

" "

"

"

"

"

*

0>

(!

0> - !

%

" " "

7

(!

" 0>

4! /

, , "

,

6

.

4! *

"

%

B ! *

"

B !

B !

( 4!

"

'A

, 'C!

('

*

FDG ;

" ;

"

* !!

"

' !

*

" " " '

!

D

'' !

) /

0> '' !

* "

;

,

('

" A

A

0

;

" *

! H"

,

E

" '' !

! I" @

"

" "

"

,

J

,

'' !

!G J

,

'' ! / *

% >"

"

0>

7

-! "

"

,

9 ' ! @

"

(! *

'

" " I

0> '

(!

" "

-

'( !

J

"

'( !

;

0>

'( !

'( !

J

!

" !

'( !

"!

"

"!

'( !

!

" " "

"

"

')!

" "

"

"

1 ;

0>

' !

')! '-! " 5

"

"

"

"

//

;

>" *

0> - !

7 0> ' !

//

,

*

"

"

//

"

"

, ,

7

"

,

"

$

0> '-! 0> ' ! *

"

"

"

9 " + "

" "

0> '-!

"

"

"

0> - !

*

0> '-!

"

,

"

5

% "

"

0>

4!

! * "

"

" ,

0> '-!

, 0

" >"

, 0> '' !

4 " 0> ' !

9

FDG

"

>"

9

" "

*

0> '-!

'A

(!

"

"

"

+ "

"

'A "

/ ,

0> '-!

"

"

$" + "

" &

8 ,

>"

" 'A

' ! "

'A

$

B'

! #

=0

*

" ""

?"

#

"

!

50

3 1)

5

0> ' !

!

"

/

0> ' !

50

'A

"

'A

.

=

" "

7

/

8

"

"

./ *

*

"

'

" " "

; !

/

,

1 >"

!

"

,

"

./ * '

!

"

>" "

!

"

9

,

/

A >"

>"

!

$

$ *

% "

' %

/

$

$

$

'1! "

% /

"

"

; "

% )' !

"

' !

"

1

*

"

"

!

&

&

'4!

& "

"

!

$

& "+

!

"

&

0 'A

( ) .0

E (

' !

"

!

"

&

"

)'

K &

*

L

B)B

' ./ * KG 5

"

&

&

K 1-1 4 -

; "

"

!

=

5

EMM

M 5

/0 / * BBB '(') K#

E

0 M

EMM

50 ! K

D

G 5 D

'CCC "

%

M /

M

;5H .0

/0

B #

K

5

E

EMM

" "

M

D

'CC' - ; =

9

)A

% K

'

* @ A

4 @ I

K

A' A')

"

%

K

"


!

!3 0> -!

)' !

0> ' !

>"

"

"

"

0> '4!

)' !

&

!

"

" 1

! * !&

!

!3

0> ' ! !#

"

!3 0> B!

&

xn (1) xn ( 2) xn (1) xn ( 2)

......xn (i ) ......xn ( N )

...... xn (i ) ......xn ( N ) f i = f ( Ai , xn ( i )) Ai xn (i )

ciphertext

keystream plaintext

Q ( f1 , f 2 ,..., f N )

keystream

Encryption

ciphertext

plaintext

Encryption

Fig. 1(a)

Fig. 1(b)

125 input terminals connected to 125 stages of shift register

keystream bit

Fig. 1(c)

xn −1 (i )

>> 16 >>> 11

xn −1 (i − 1)

Ai