Fractions Continues et Algorithme LLL

publicité
CRYPTANALYSE DE CERTAINS RSA PAR LES
FRACTIONS CONTINUES ET L’ALGORITHME
LLL
Abderrahmane Nitaj
13 Janvier 2005
A. Nitaj, Cryptanalyse de RSA – p.1/21
Contenu
Le cryptosystème RSA
Les fractions continues
Le théorème de Legendre
Les réseaux
L’algorithme LLL
Le théorème de Coppersmith
Le théorème de May
L’attaque de Wiener
L’attaque de de Weger
Les modules de sécurité
Généralisation de l’attaque de de Weger
L’attaque de Blömer-May
Généralisation de l’attaque de Blömer-May
A. Nitaj, Cryptanalyse de RSA – p.2/21
Le cryptosystème RSA
Brigitte veut envoyer un message secret à Ali.
.
sont publics.
.
et
Brigitte envoie le message :
prend
Calcule
, et sont privés,
Ali construit son initialisation :
Choisit et premiers.
Calcule
.
Choisit ,
.
Calcule
.
envoie le message .
est secret, est public.
.
!
Equation :
Calcule
Ali procède au décodage :
A. Nitaj, Cryptanalyse de RSA – p.3/21
Les fractions continues
Données :
.
#
"
"
.
,
*
)
(
' &
"
%
$
"
On cherche :
.
.
.
Divisions Euclidiennes successives.
0
+
-
Algorithme des fractions continues.
$,
3
2
$
$,
/.$
1
.
4
65
0
.
;
9:
$
78
+
..
2
2&
)
Calcule
$,
$-
$<
0
+
>
9
7
=:
%
$,
$-
$<
A. Nitaj, Cryptanalyse de RSA – p.4/21
Le théorème de Legendre?Lagrange?
Données :
.
#
?
' &
, alors
est une réduite de
)
A
'
B
#
? ?
@
)
?@?
' &
Théorème.
Si
-
*
' &
Problème :
est-il une réduite de
.
)
)
(
$
' &
,
"
%
"
"
.
,
.
A. Nitaj, Cryptanalyse de RSA – p.5/21
Les réseaux
EF
Données :
, linéairement indépendants.
.
C-
LDC
K
J
HG
K
A
C
K
J
C
J
I
C-
A
/DC
,
PP
(après une orthogonalisation de Gram-Schmidt).
I
det
U
tel que
C P
PS
I
C
Théorème de Minkowski:
R
PP
T
2
< C
Q
PP
-
ON< MD
det
I
I
Caractéristiques
dim
.
.
Problème : Trouver un vecteur court.
A. Nitaj, Cryptanalyse de RSA – p.6/21
L’algorithme LLL
C P
P
*
PP
C
I
Problème : Déterminer un vecteur
.
est assez petite.
C
LDC
C-
K
J
, linéairement indépendants.
.
K
A
C
K
J
J
C
C
I
A
/DC
EF
Données :
I
W
det
U
C
Produit un vecteur ,
En temps polynomial en
.
.
C P
PS
PP
UV
2
2
L’algorithme LLL (Lenstra-Lenstra-Lovasz) :
A. Nitaj, Cryptanalyse de RSA – p.7/21
Le théorème de Coppersmith
.
.
et
*
Problème : Déterminer
X PS
X
, tel que
-
P
ZY
Données :
[
Le théorème de Coppersmith :
Produit et .
En temps polynomial en
.
A. Nitaj, Cryptanalyse de RSA – p.8/21
Le théorème de May
ZY
-
.
]
et
*
Problème : Déterminer ,
, tel que
PS
]P
/\X
.
/\X
Données :
] .
[
En temps polynomial en
]
Le théorème de May :
Utiliser Coppersmith pour produire
.
.
A. Nitaj, Cryptanalyse de RSA – p.9/21
L’attaque de Wiener
Les fractions continues.
Données :.
#
.
.
.
*
En utilisant l’équation
, ,
Trouver , ,
But :
est le dénominateur d’une réduite de
)
, alors
W
#
^
Si
-
2
L’attaque de Wiener
.
b
)a c
? @
_
? ?
est petit.
(
.
Les réduites de
)
1
?_@
? ?
`
L’idée
.
A. Nitaj, Cryptanalyse de RSA – p.10/21
La généralisation de de Weger
Les fractions continues.
#
.
(
Données :
.
, , .
.
*
En utilisant l’équation
Trouver , ,
But :
j
)
est le dénominateur d’une réduite de
A
, alors
)
h 3-
ie
#
h gfe
Si
)
W d
L’attaque de de Weger
.
est petit.
1
(
.
)
A
h 3-
)
Les réduites de
j
1
T
b
)a c
? @
k
? ?
?k@
? ?
`
L’idée :
.
A. Nitaj, Cryptanalyse de RSA – p.11/21
et
Les modules de sécurité
ont le même nombre de bits.
*
l
#
#
Données :
est un module de sécurité.
T
T
#
#
T
#
.
f
A
#
T
A
j
Conséquences :
,
#
o
m#
.
T
q p3
.
*
qp 3
-j
1
A
i
,
nm1
,
*
l
(o
l’attaque de de Weger avec
.
*
l
une attaque avec
.
A
j
(
1
T
^
,
(
m*
l
(
A
(
,
T
T
T
A
j
(
1
T
,
m*
(
(
l
T
Deux exemples.
A. Nitaj, Cryptanalyse de RSA – p.12/21
Généralisation de l’attaque de de Weger
s
' &
i
(
1
#
,
.
#
,
, module de sécurité
#
f r
Données :
, , .
.
h
u
p3
-j
.
, alors
est le dénominateur d’une réduite de
pgw b c
W
#
Si
3
B v
2
m
T
A
p3
1
m t
? _
_
? ?
' &
?__
?f ?
i m
Théorème :
,
En utilisant l’équation
Trouver , ,
But :
.
pgw b c
(
1
Les réduites de
m t
b
)a c
? @
k
? ?
est petit.
?k@
? ?
`
L’idée
.
.
A. Nitaj, Cryptanalyse de RSA – p.13/21
Généralisation de l’attaque de de Weger: L’algorithme
#
.
.
' &
,
i
(
1
f r
s
#
,
, module de sécurité
#
Données :
x
$
#
S
o
S%
.
x
.
p3
.
.
#
avec
}
de

}
~
, calculer
.
{
et calculer
et .
h
.
J
et
Stoper si
J
, prendre
o
Si
~
-
|
|
Pour chaque réduite
{
|
Calculer les réduites
pgw b c
{
p3
-j
1
y z
m t
A
' &
$S
S%
S
o
m
S
o
x
Algorithme 1:
A. Nitaj, Cryptanalyse de RSA – p.14/21
(
Z
Š‰
†
‡
Z
†
A
‹ ,
‘
’‘‡
‹ ,
(
^‡
A

A
-†
^
,
-
‰
Z
Z
(
%P
A

€‚
€…
o
‚
o
€
…

‚ƒ
‚
€„
€
…ƒ
€
…

A
„
ƒ
Z
^
ˆZ
^‡
Š
^†
†
^Š
ˆ
Š
‰
-
ˆ,
ˆ,
-
A,
-
|
‡
A
ˆ
†A
,Š
,
Z‡
‰‡
ˆ
^
A^
,
ˆ
†
ŠZ
ˆ‰
{
o
o
$
…
m

%
^‡
A
A
-†
ƒ
ƒ
ƒ
ƒ
€
‚
€o
‚
„
o
€
€…





o
‚
o
„
‚
‚
€
o
‚
‚
€
€
ƒ
„
…
€
€
o
…
„
o


…
‚
‚
€…
‚
…
o
‚

…
€
…
…
…
o
‚
.
…
€
„
o
„
‚
€„
ƒ
‡
Z
…
‹ ,
Pourquoi?
Avec l’algorithme 1: Une solution car
ƒ
Y
.
#
†
AZ
‹ ,
Œ
(
‡
Z
ŠZ
Ž ,
Œ
h
‹ ,
$
Œ
‹ ,
,
‹ ,
ˆ
†
-
ˆ
ˆ
†
-
P
(
,
‘
‘
‹ ,
‡
A
‰
o
La 49ème réduite
‡
Z
1
(
f
x
,
(
‹ 3,
‰
i
,
‹ ,
Pas de solution avec l’attaque de Wiener :
Pas de solution avec l’attaque de de Weger :
.
Généralisation de l’attaque de de Weger: un exemple
Données :
.
Résultats :
.
,
.
.
.
.
A. Nitaj, Cryptanalyse de RSA – p.15/21
L’attaque de Blömer-May
Les fractions continues+LLL.
.
peut être factorisé en temps
#
.
#
,
, module de sécurité
#
Données :
But :
.
“

Œ}
Trouver , .
En utilisant l’équation
^
h
“ PS
et
W
#
o
S}
Si
polynomial.
, alors
}
W d
P
-
2
Théorème :
b
)a c
? @
k
? ?
{
est petit.
et
.
}

*
)
*
(
les réduites de
*
approximation de
*
{
*
,
1
(
1
|
1
|
? @
k
? ?
L’idée
Coppersmith-LLL
.
A. Nitaj, Cryptanalyse de RSA – p.16/21
Généralisation de l’attaque de Blömer-May (1/2)
#
.
#
,
, module de sécurité
#
Données :
.
But :
“
t

(
t
Œ}
Trouver , .
En utilisant l’équation
.
Conditions :
,
de on peut extraire un multiple de
t
ou de ,
? w ?_?
_
{
est petit.
]
.
}

ou
*
et
)
les fractions continues de
]
*
{
(
*
t
approximation d’un multiple
Coppersmith-LLL-May
ou .
*
|
(
*
t
|
? _
_
? ?
L’idée
A. Nitaj, Cryptanalyse de RSA – p.17/21
Généralisation de l’attaque de Blömer-May (2/2)
#
.
#
,
#
, module de sécurité
Données :
.
But :
.
“
t

Œ}
Trouver , .
En utilisant l’équation
)e
w
T
h e
A
j
, alors
}
W d
h
“ PS
et
#
o
Si
S}
)
P
-
Théorème :
peut être factorisé en
temps polynomial.
A. Nitaj, Cryptanalyse de RSA – p.18/21
œ
›
˜ —
™
š
•
–
”
Généralisation de l’attaque de Blömer-May :
#
#
.
,
#
, module de sécurité
Données :
.
But :
, inconnu.
.
“
t

En utilisant l’équation
}
Œ
]
J
,
]
t
t
] Trouver , .
|
#
{
, calculer
.
.
]

par l’algorithme de Coppersmith.
.
]
Calculer
Stoper si
|
Pour chaque réduite
}
avec
/\X
)
de
{
Calculer les réduites
|
{
Algorithme 2:
A. Nitaj, Cryptanalyse de RSA – p.19/21
Généralisation de l’attaque Blömer-May : un exemple
A
ˆ


,
o

{
|
ˆ-
^
\X
-
,†
Z
‚
ƒ
„
€„
o
ƒ
…
„
„ƒ
‚
…
‚ƒ
€
o
…
.

ƒ
…
.

t
}
]
,
“
ž
1
1
ZY
? ?
_
Ÿ
p
ž
p
“
}
Pourquoi?
Avec l’algorithme 2: Une solution car
et vérifient le théorème.
Pas de solution avec l’attaque de Blömer-May car:
Pour toutes les réduites ,
-
t
,
?_‘ ?
‘

.

Š^
Z
{
|
o
„
‚
o
,
Coppersmith-LLL-May avec
]

ƒ
€
ƒ
o
…
€
€
‚
o
o
„
‚
„

…
„
…
o
Résultats :
La 12ème réduite
.
…
…

‚
€
ƒ
‚

€
o
€
€
…
‚
ƒ
€
‚
…
ƒ
‚ƒ

€
€„
o
…
‚
„
o
ƒ
ƒ
ƒ

.
€
ƒ
„
ƒ
Données :
.
A. Nitaj, Cryptanalyse de RSA – p.20/21
”
Généralisation de l’attaque de Blömer-May :Autres
#
.
.
#
,
, module de sécurité
#
Données :
But :
“
(
t
t

Œ}
Trouver , .
En utilisant l’équation
.
Conditions :
,
de on peut extraire un multiple de
t
ou de ,
]
J
.
J
).
.
J
,
]
] ]
]
]
t
(généralise
]
]
,
t
J
]
,
t
.
,
t
Exemples :
A. Nitaj, Cryptanalyse de RSA – p.21/21
Téléchargement