Étude du crypto-syst`eme NTRU

publicité
Étude du crypto-système NTRU
GUEGUEN david
14 mai 2010
GUEGUEN david
Étude du crypto-système NTRU
Table of contents
Introduction
Les réseaux
NTRU
GUEGUEN david
Étude du crypto-système NTRU
Introduction
NTRU est un crypto-système à clef publique très efficace dont la
sécurité n’est basée ni sur le problème de factorisation des entiers,
ni sur des problèmes de log discret mais sur des problèmes difficiles
de la géométrie des nombres dans des classes très particulières de
réseaux outre sa grande rapidité un autre de ses attraits est la
résistance à un éventuel ordinateur quantique.
GUEGUEN david
Étude du crypto-système NTRU
Sous-réseau d’un espace vectoriel
Définition
Soit E un K-espace vectoriel de dimension finie N.
Une partie Γ de E est appelé sous-réseau de E si elle peut s’écrire
de la façon suivante :
Γ={
r
P
i=1
(
λi bi |λi ∈ Z}
avec
GUEGUEN david
r ∈ N∗
une famille libre{bi }1≤i≤r ⊂ E
Étude du crypto-système NTRU
Rang d’un sous réseau, réseau
Proposition
Étant donné une base d’un sous réseau alors l’entier r ne dépends
que de Γ ; on appelle cet entier Rang du sous réseau.
Définition
C’est seulement lorsque RgK (Γ) = n que l’on parle de réseau de Kn
GUEGUEN david
Étude du crypto-système NTRU
Théorèmes de Minkowski
Définition
On définit ainsi les plus petites normes de vecteur du réseau
appelées minima successifs du réseau :
∀i ≤ r , Li (Γ) = min {R : dim B(0, R) ∩ L ≥ i}.
Théorèmes de Minkowski
Soit Γ un réseau de dimension N, alors :
√
√ N
Q
λ1 (Γ) ≤ N.Det(Γ)1/N i=N
n .Det(Γ)
i=1 λi (Γ) ≤
GUEGUEN david
Étude du crypto-système NTRU
Deux problèmes en géométrie des nombres
SVP
Problème 1 : ”plus court vecteur” ou SVP : Étant donnée une base
B d’un réseau Γ trouver le plus court vecteur, non trivial, pour la
norme Euclidienne.
CVP
”plus proche vecteur” ou CVP : Étant donnée une base B et un
vecteur v ∈ Kn , trouver un vecteur u, non trivial, de Γ minimisant
u-v pour la norme Euclidienne.
GUEGUEN david
Étude du crypto-système NTRU
Classe de complexité I
Définitions
•Classe P : Un problème de décision est dans la classe P s’il peut
être décidé sur une machine déterministe en temps polynomial par
rapport à la taille de la donnée.
•Classe NP : La classe NP est formée des problèmes de décision qui
peuvent être résolus par un algorithme polynomial non déterministe
Exemple
La résolution d’un système linéaire de rang maximum est dans la
classe P.
GUEGUEN david
Étude du crypto-système NTRU
Classe de complexité II
Définition
• Pour une classe de complexité C donnée, que un problème est dit
C-difficile s’il est plus dur à résoudre que tous les problèmes de C .
• Un problème est C-Complet si et seulement si :
(
Il est dans C
Il est C-difficile
Exemple
Le problème des voyageurs de commerce est NP-Complet
GUEGUEN david
Étude du crypto-système NTRU
Un autre problème ”difficile”
Définition
Problème 0 : ”du Sac a dos” : Étant donnée une famille (a1 , ..., ap )
une famille de p ntiers positifs et un entier M, existe il une sous
famille de ai de somme M.
Théorème de Karp
Le problème du sac à dos est NP-complet
Mort de Merkle-Hellman et de ses variantes
Pas de connection cas moyen/ cas général...
GUEGUEN david
Étude du crypto-système NTRU
La percée d’Ajtaı̈
Théorème 1996
Connection pire cas/moyen cas pour le SVP,
toutes les instances ont à peu près la même difficulté :
le SVP est NP-difficile pour une instance au hasard.
Remarque
Il n’existe actuellement aucun algorithme quantique connu
pouvant résoudre un problème NP-difficile de la géométrie des
nombres.
GUEGUEN david
Étude du crypto-système NTRU
L’anneau R
Definition
Soit N un entier positif, on appelle anneau de polynômes
convolutifs l’anneau quotient :
R=
Z[X ]
(X N −1)
Produit dans R
la k e coordonnée du vecteur obtenu par produit dans R de deux
éléments f et g s’écrit comme leur convolé évaluée en k :
(f • g)k =
X
i+j≡k
GUEGUEN david
fi gj
mod N
Étude du crypto-système NTRU
Paramètres
Definition
L(i, j) = P ∈ Z[X ] tq


 P possède i coefficients 1,
P possède j coefficients -1,

 et N-(i+j) coefficients 0.
NTRU-1998
p=3 et q est une puissance de 2
Dm = {−1, 0, 1}[X ] : l’espace des messages.
Df = L(df , df − 1),
Dg = L(dg , dg ),
Dr = L(dr , dr ) : l’ espace de brouille.
GUEGUEN david
Étude du crypto-système NTRU
La génération des clefs
étape 1 : on génère au hasard deux polynômes f , g dans Df et Dg .
étape 2 : on vérifie que f est inversible dans Rp et Rq
on note ces inverses respectivement fp et fq .
La clef privée est la paire : (f ,fp ).
La clef publique est H = p*fq *g (mod q).
Confidentialité
Doivent rester secret f , g, fq , fp , Df , Dg , Dr
GUEGUEN david
Étude du crypto-système NTRU
Le chiffrement
étape 1 : on génère au hasard un polynôme r ∈ Dr .
étape 2 : on calcul le chiffré e ≡ r • h + m (mod q).
les coefficients du polynôme m doivent être choisis dans un
intervalle bien choisis contenant p entiers successifs.
Le déchiffrement
étape 1 : on utilise f première moitié de la clef privée :
a = f • e (mod q).
étape 2 : on utilise fp seconde moitié de la clé privée :
m = fp • a mod p = fp • (p.r • g + f • m) mod p
Une faiblesse
Le déchiffrement n’est pas garantit...
GUEGUEN david
Étude du crypto-système NTRU
Attaque par force brute
Jouant sur les relations entre les éléments, et les la faibles
longueurs des vecteurs associés au clefs, on peut mener des
attaques exhaustives.
Sécurité
Modérée
Haute
Très Haute
N
107
167
503
df
15
61
216
—Df —
2115
2255
2719
GUEGUEN david
dg
12
20
72
—Dg —
2100
2166
2569
dr
5
18
55
Étude du crypto-système NTRU
—Dφ —
253
2155
2482
Attaque de Coppersmith
Pour deux vecteurs tq u • h = v on peut remarquer l’écriture
















1
0
..
.
0
1
..
.
0
h0
h1
..
.
0
h1
h2
..
.
hN−1
h0
...
...
..
.
0
0
0
1
...
. . . hN−1
...
h0
..
.
0
. . . hN−2
0 0 ...
0 0 ...
.. .. . .
.
. .
0 0 ...
q 0 ...
0 q ...
.. .. . .
.
. .

0 
0 














0 

0
0
0
0
0 0 ... q
GUEGUEN david
u0
..
.
..
.







uN−1 


K0 

.. 
. 

.. 
. 
KN−1
Étude du crypto-système NTRU
Lenstra, Lenstra et Lovász 1982’
Réduction de réseaux de LLL
C’est le pendant de l’orthogonalisation de Gram-Schmidt mais
pour les réseaux, il fournit en sortie une base dont les vecteurs sont
courts et presque orthogonaux
L’irruption de LLL
La matrice précédente génère un réseau de dimension 2N auquel
appartient le vecteur (f, g) et celui-ci est un vecteur court.
GUEGUEN david
Étude du crypto-système NTRU
Attaque à chiffrés choisis
Principe
Muni d’un oracle de déchiffrement, on peut trouver une erreur de
déchiffrement. Donc il existe α entier relatif et k entier tels que :
m0 = fp • (f • m − α.q.X k ) mod p = m − (α.qmod p)X k • fp mod p
Un second couple de clé privé
m-m’ permet alors de trouver une rotation (au signe près)
fp0 = α0 .X k • fp du polynôme fp de la clef privée, que l’on inverse
et :
une autre clef (f 0 , fp0 ).
GUEGUEN david
Étude du crypto-système NTRU
Conclusion
• NTRU est rapide, portatif, et peut être exécuter en grande
dimension sans sacrifier la vitesse.
• Les meilleures attaques connues reposent sur LLL, qui progresse
vite...
• Les réseaux NTRU sont très particuliers...
• NTRU est donc un crypto-systeme en devenir, qui pourrait être
une alternative en cas d’arrivée d’un ordinateur quantique.
GUEGUEN david
Étude du crypto-système NTRU
Téléchargement