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