A Low Data Complexity Attack on the GMR-2 Cipher Used in the Satellite Phones
Ruilin Li, Heng Li, Chao Li, Bing Sun National University of Defense Technology, Changsha, China
A Low Data Complexity Attack on the GMR-2 Cipher Used in the - - PowerPoint PPT Presentation
A Low Data Complexity Attack on the GMR-2 Cipher Used in the Satellite Phones Ruilin Li, Heng Li, Chao Li, Bing Sun National University of Defense Technology, Changsha, China FSE 2013, Singapore 11 th ~13 th March, 2013 Outline
Ruilin Li, Heng Li, Chao Li, Bing Sun National University of Defense Technology, Changsha, China
2
3
4
5
6
7
8
9
10
11
K
s6 s7
……
s1 s0
Zl
p
F G H
t c
1 3 8 8 4 6 6 8
G H F
12
Å
p
c
K t K0 K1 K2 K3 K4 K5 K6 K7
1
t
2
t
>>>
a
O0 O1 8 4 8 4 4
Å
13
Å
p
c
K t K0 K1 K2 K3 K4 K5 K6 K7
1
t
2
t
>>>
a
O0 O1 8 4 8 4 4
Å
1
2
14
Å
p
c
K t K0 K1 K2 K3 K4 K5 K6 K7
1
t
2
t
>>>
a
O0 O1 8 4 8 4 4
Å
1
( ) 2 1 1
( ( )) ((( ) 4) & 0xF) (( ) & 0xF)
c c
O K O K p K p
t a
t t a = ì ï í = Å Å Å ï î ?
) &0xF, if (( ) 4) &0xF, if 1
c c
K p t K p t a Å = ì = í Å = î ?
15
Å
1
O¢ O¢
6 6 8 8 4
1
B
O0 O1 S0
1
B
3
B
2
B
2
B
1 1 3 2 1 3 3 2 3 1 2 3 2 1 3 3 3 2 1 3 3 2 2 1
:( , , , ) ( , , , ); :( , , , ) ( , , , ); :( , , , ) ( , , , ). B x x x x x x x x B x x x x x x x B x x x x x x x x x x x x x x x Å Å ì ï Å Å Å Å í ï î a a a
16
6
S
2
S
t
l
Z
6 6 4 4 8
1
O¢ O¢
2 1 6 8 2 6 1 8
l
6 5 4 3 2 1 1 5 4 2 3 2
17
F G H
18
F G H
(0) (0) (0) (1) (1) (1) (2) 1 14 1 14
( ) N l
19
Å
p
c
K t K0 K1 K2 K3 K4 K5 K6 K7
1
t
2
t
>>>
a
O0 O1 8 4 8 4 4
Å
( )&0xF, if (( ) 4)&0xF, if 1
c c
K p t K p t a Å = ì = í Å = î ?
20
uniquely obtained.
uniquely obtained, except for when the column index is 4 and the output is 9, the row index can be either 0 or 3.
6
S
2
S
l
Z
1
O¢ O¢ 6 2 /
S S
6
S
21
Å
1
O¢ O¢
6 6 8 8 4
1
B
O0 O1 S0
1
B
3
B
2
B
2
B
' 0 , 5 ' 0 , 4 ' 0 , 3 ' 0 , 2 ' 1, 5 ' 1, 4 ' 1, 3 ' 1, 2 ' 0 ,1 ' 0 , 0 ' 1,1 ' 1, 0
1 0 0 1 0 0 0 0 0 0 0 0 1 1 O O O O O O O O O O O O æ ö ç ÷ ç ÷ ç ÷ 0 1 0 0 0 0 0 0 0 0 ç ÷ 1 0 0 0 0 0 0 0 0 0 0 0 ç ÷ ç ÷ 0 0 1 0 0 0 0 0 0 0 0 0 ç ÷ ç ÷ ç ÷ ç ÷ = ç ÷ ç ÷ ç ÷ ç ÷ ç ÷ ç ÷ ç ÷ ç ÷ ç ÷ ç ÷ è ø 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 é ê ê ê ê ê ê 0 0 0 1 0 0 1 0 0 0 0 ê 0 0 0 0 1 1 0 1 0 0 0 0 ê ê ê ê ê 1 0 1 1 ê 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 ë
0 , 7 0 , 6 0 , 5 0 , 4 0 , 3 0 , 2 0 ,1 0 , 0 1, 3 1, 2 1,1 0 , 5 0 , 7 0 , 1, 0 4 0 , 6 0 ,1 0 , 3 0 , 0 0 , 2
O O O O O O O O O O O O S S S S S S S S æ ö ù ç ÷ ú ç ÷ ú ç ÷ ú ç ÷ ú ç ÷ ú ç ÷ ú ç ÷ ú ç ÷ ú ç ÷ ú ç ÷ ú æ ö ç ÷ ç ÷ ç ÷ ç ÷ ç ÷ ç ÷ ç ÷ ç ÷ ç Å ç ç ç ç ç ç ç ÷ ú ç ÷ ú ç ÷ ú ç ÷ ê ú ç ÷ ê ú ç ÷ ê ú ç ÷ ê ú ç ç ç è ø ç ÷ û ç ÷ è ø g ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷
22
' 0 , 5 ' 0 , 4 ' 0 , 3 ' 0 , 2 ' 1, 5 ' 1, 4 ' 1, 3 ' 1, 2 ' 0 ,1 ' 0 , 0 ' 1,1 ' 1, 0
1 0 0 1 0 0 0 0 0 0 0 0 1 1 O O O O O O O O O O O O æ ö ç ÷ ç ÷ ç ÷ 0 1 0 0 0 0 0 0 0 0 ç ÷ 1 0 0 0 0 0 0 0 0 0 0 0 ç ÷ ç ÷ 0 0 1 0 0 0 0 0 0 0 0 0 ç ÷ ç ÷ ç ÷ ç ÷ = ç ÷ ç ÷ ç ÷ ç ÷ ç ÷ ç ÷ ç ÷ ç ÷ ç ÷ ç ÷ è ø 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 é ê ê ê ê ê ê 0 0 0 1 0 0 1 0 0 0 0 ê 0 0 0 0 1 1 0 1 0 0 0 0 ê ê ê ê ê 1 0 1 1 ê 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 ë
0 , 7 0 , 6 0 , 5 0 , 4 0 , 3 0 , 2 0 ,1 0 , 0 1, 3 1, 2 1,1 0 , 5 0 , 7 0 , 1, 0 4 0 , 6 0 ,1 0 , 3 0 , 0 0 , 2
O O O O O O O O O O O O S S S S S S S S æ ö ù ç ÷ ú ç ÷ ú ç ÷ ú ç ÷ ú ç ÷ ú ç ÷ ú ç ÷ ú ç ÷ ú ç ÷ ú ç ÷ ú æ ö ç ÷ ç ÷ ç ÷ ç ÷ ç ÷ ç ÷ ç ÷ ç ÷ ç Å ç ç ç ç ç ç ç ÷ ú ç ÷ ú ç ÷ ú ç ÷ ê ú ç ÷ ê ú ç ÷ ê ú ç ÷ ê ú ç ç ç è ø ç ÷ û ç ÷ è ø g ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷
23
' 0 , 5 ' 0 , 4 ' 0 , 3 ' 0 , 2 ' 1, 5 ' 1, 4 ' 1, 3 ' 1, 2 ' 0 ,1 ' 0 , 0 ' 1,1 ' 1, 0
1 0 0 1 0 0 0 0 0 0 0 0 1 1 O O O O O O O O O O O O æ ö ç ÷ ç ÷ ç ÷ 0 1 0 0 0 0 0 0 0 0 ç ÷ 1 0 0 0 0 0 0 0 0 0 0 0 ç ÷ ç ÷ 0 0 1 0 0 0 0 0 0 0 0 0 ç ÷ ç ÷ ç ÷ ç ÷ = ç ÷ ç ÷ ç ÷ ç ÷ ç ÷ ç ÷ ç ÷ ç ÷ ç ÷ ç ÷ è ø 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 é ê ê ê ê ê ê 0 0 0 1 0 0 1 0 0 0 0 ê 0 0 0 0 1 1 0 1 0 0 0 0 ê ê ê ê ê 1 0 1 1 ê 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 ë
0 , 7 0 , 6 0 , 5 0 , 4 0 , 3 0 , 2 0 ,1 0 , 0 1, 3 1, 2 1,1 0 , 5 0 , 7 0 , 1, 0 4 0 , 6 0 ,1 0 , 3 0 , 0 0 , 2
O O O O O O O O O O O O S S S S S S S S æ ö ù ç ÷ ú ç ÷ ú ç ÷ ú ç ÷ ú ç ÷ ú ç ÷ ú ç ÷ ú ç ÷ ú ç ÷ ú ç ÷ ú æ ö ç ÷ ç ÷ ç ÷ ç ÷ ç ÷ ç ÷ ç ÷ ç ÷ ç Å ç ç ç ç ç ç ç ÷ ú ç ÷ ú ç ÷ ú ç ÷ ê ú ç ÷ ê ú ç ÷ ê ú ç ÷ ê ú ç ç ç è ø ç ÷ û ç ÷ è ø g ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷
24
1
2
1
2
1
2
25
26
27
,a
1
y
i
1(
) 2 1
a
1 1 2 2 1 2 1 2 h l 2 1 2 2 2 2
)
i
x x
1(
)
, Kt
a 1
x
, , , , ,
1 2 1 2
W W W v v v u
1
2
28
1
2 1
( )
( ( )) Kt
a
t t a
G H
c
K p Å
S
'
S
1
2 1
( )
( ( )) Kt
a
t t a
2 1
( )
( ( )) Kt
a
t t a
K p Å
29
1
2 1
( )
( ( )) Kt
a
t t a
G H
c
K p Å
S
'
S
1
2 1
( )
( ( )) Kt
a
t t a
2 1
( )
( ( )) Kt
a
t t a
K p Å
1
2
30
1
2 1
( )
( ( )) Kt
a
t t a
G H
c
K p Å
S
'
S
1
2 1
( )
( ( )) Kt
a
t t a
2 1
( )
( ( )) Kt
a
t t a
K p Å
2
1
1
2
31
32
– Guess -Determine -Verify – The Guessed and Determined Parts of the internal state are known in prior before applying the attack
– Dynamically Guess and Determine – Dynamically Check the candidate by backtracking
33
at the (c+8)th-clock ( ) in the keystream generation phase.
6 c £ £
1
2 1
( )
( ( )) Kt a t t a
c
K p Å
'
6 6 8 4
S0
8 c
Z +
34
1
2 1
( )
( ( )) Kt a t t a
c
K p Å
'
6 6 8 4
S0
8 c
Z +
1 ( ) 8
Let ( , ), assume is odd, and given a guessed value for , if ( ), then using the theory of , has no solution or can be determined by ;Similarly,assume
c N c
linear consistence tes K c c Z c t t a
+
= =
h l h l
k k k k
( ) 1 8
is even,and given a guessed value for , if ( ), then has no solution or can be determined by .
N c
c Z t a
+
=
l h
k k
35
1
2 1
( )
( ( )) Kt a t t a
c
K p Å
'
6 6 8 4
S0
8 c
Z +
1 1
( ) ( ) 8 ( ) ( ) 8
Let ( , ),and given guessed values for and , then can be determined by ;Similarly, given guessed values for and ,then can be determined by .
c N c N c
K K Z K Z
t a t a + +
=
h l h l l h
k k k k k k
36
1
2 1
( )
( ( )) Kt a t t a
c
K p Å
'
6 6 8 4
S0
8 c
Z +
1
1 ( ) ( ) 8
Given a guessed value for , if ( ) , then can be determined by .
c N c
K c K Z
t a
t a
+
¹
37
1
2 1
( )
( ( )) Kt a t t a
c
K p Å
'
6 6 8 4
S0
8 c
Z +
1(
)
Given guessed values for and , then we can determine whether those guessed values are wrong.
c
K Kt
a
38
– saves the indices for the session key that has been known
– Calculate t, c, p, S0, judge whether – Adopt Rule 1~ Rule 4 to perform the attack – A little boring, see the full version paper
(0) (0) (0 1 7 8 ) (0) (0) 14
G = Æ
cÎG
39
40
41
1000 Experimental Results with Random IV and Session Key
42
43
44
45