Repr´ esentation de Nombres pour les Algorithmes
Pr´ esentation du Sch´ ema de Chiffrement Somewhat Homomorphe de Fan and Vercauteren
Vincent Zucca
Ann´ ee 2016-2017
Contexte
Chiffrement Homomorphe:
Encpkpm1q
Encpkpm2q
‹ p‹ P t`,ˆuq
Encpkpm1‹m2q
sk
Dec m1‹m2
“Chiffrement Bruit´ e”
Chaque chiffr´ e contient un bruit.
Apr` es chaque op´ eration homomorphique le bruit grandit.
Le d´ echiffrement reste correct tant que le bruit ne d´ epasse pas une certaine borne.
ùñ Nombre limit´ e d’op´ erations.
ùñ Chiffrement “Somewhat” Homomorphe.
Probl` eme : pas tr` es efficace en pratique.
Contexte
Chiffrement Homomorphe:
Encpkpm1q
Encpkpm2q
‹ p‹ P t`,ˆuq
Encpkpm1‹m2q
sk
Dec m1‹m2
“Chiffrement Bruit´ e”
Chaque chiffr´ e contient un bruit.
Apr` es chaque op´ eration homomorphique le bruit grandit.
Le d´ echiffrement reste correct tant que le bruit ne d´ epasse pas une certaine borne.
ùñ Nombre limit´ e d’op´ erations.
ùñ Chiffrement “Somewhat” Homomorphe.
But : acc´ el´ erer l’arithm´ etique en utilisant des repr´ esentations adapt´ ees.
Sch´ ema de Chiffrement FV (Fan et Vercauteren, 2012)
Repr´ esentation des donn´ ees dans (FV)
Espace ambiant : R “ ZrX s{pX
n` 1q avec n “ 2
hě 2 ùñ polynˆ omes de degr´ e inf´ erieur ` a n ` a coefficients entiers
t: le module des clairs, m P R
t“ R{tR (coeff. modulo t)
q: le module des chiffr´ es (q ąą t), c P R
qˆ R
q(coeff. modulo q ) Probabilit´ es sur R
q§
U coeff. entiers tir´ es ind´ ep. et uniform´ ement dans [-q/2,q/2[).
§
χ
keycoeff. uniforme et ind´ ep. dans un ensemble “´ etroit” (t´1, 0, 1u)
§
χ
errcoeff. tir´ es ind´ ep. selon un gaussienne discr` ete centr´ ee en 0.
Notations
§
rxs
qest px mod qq in r´q{2, q{2r (reste centr´ e),
§
|x|
qest px mod qq in r0, qr (reste de la division euclidienne).
Sch´ ema de Chiffrement FV (Fan et Vercauteren, 2012)
G´ en´ eration des cl´ es
1
tirer s Ð χ
key2
tirer pa, eq Ð U ˆ χ
err3
retourner
§
pk “ pp
0, p
1q “ pr´pas ` eqs
q, aq (´ Echantillon RLWE)
§
sk “ s
Chiffrement
Donn´ ees : r m s
tP R
t` a chiffrer, cl´ e publique pk,
1
tirer pe
1, e
2, uq Ð pχ
errq
2ˆ χ
key2
retourner pc
0, c
1q “ pr∆rms
t` p
0u ` e
1s
q, rp
1u ` e
2s
qq (∆ “ t
qtu)
Propri´ et´ e : r c
0` c
1s s
q“ ∆r m s
t` v (mod q ) avec v le “bruit” du chiffr´ e
Remarque
Un chiffr´ e peut ˆ etre vu comme un polynˆ ome de degr´ e 1 ` a coefficients dans R
q. C’est ` a dire un polynˆ ome dont les coefficients sont des polynˆ omes.
Evaluer un chiffr´ ´ e en la cl´ e secr` ete s , permet de r´ ev´ eler un multiple du message plus une “petite” erreur.
Application
On consid` ere R “ ZrX s{pX
2` 1q, q “ 221, t “ 2.
Calculer le chiffr´ e du message m “ ´X ´ 1, avec sk “ X ´ 1 et pk “ p83X ` 62, 73X ´ 12q et d´ eterminer le bruit v du message.
avec u “ ´X , e
1“ ´3 et e
2“ X Solution
c “ p49X ´ 30, 13X ` 73q, rc
0` c
1s s
q“ 109X ` 105, v “ ´X ´ 5
Sch´ ema de Chiffrement FV (Fan et Vercauteren, 2012)
D´ echiffrement
Donn´ ees : pc
0, c
1q un chiffr´ e de rms
t, cl´ e secr` ete s.
Renvoie :
”Y
tq
r c
0` c
1s s
qUı
t
Propri´ et´ e : si le bruit v d’un chiffr´ e c d’un message r m s
tsatisfait : }v }
8ď ∆ ´ |q|
t2
Alors la fonction de d´ echiffrement renverra bien r m s
t. Remarque : plus ∆ est grand plus la borne est grande.
Application
V´ erifier que le chiffr´ e pr´ ec´ edent se d´ echiffre bien correctement. On
rappelle que c “ p49X ´ 30, 13X ` 73q, s “ X ´ 1 et m “ ´X ´ 1.
Sch´ ema de Chiffrement FV (Fan et Vercauteren, 2012)
Addition
Donn´ ees : deux messages chiffr´ es avec pk, c
1“ pc
01, c
11q, c
2“ pc
02, c
12q Renvoie : c
add“ pc
01` c
02, c
11` c
12q
Propri´ et´ e : l’algorithme ci-dessus retourne bien un chiffr´ e de m
1` m
2. Quel impact sur le bruit ?
ùñ }v
add}
8ď }v
1}
8` }v
2}
8. Application
Additionner le chiffr´ e pr´ ec´ edent avec c
1“ p´37X ´ 31, 19X ´ 51q.
V´ erifier que la somme des deux chiffr´ es d´ echiffre bien en m “ ´1.
Solution
c
add“ p12X ´ 61, 32X ` 22q Y
tq
¨ rc
add00` c
add1ss
qU
“ X
4221
T ¨ X ` X
212221
T “ 1
Sch´ ema de Chiffrement FV (Fan et Vercauteren, 2012)
Multiplication homomorphique de pc
0, c
1q by pc
01, c
11q Version Na¨ıve
1
Calcule le produit p˜ c
0, c ˜
1, c ˜
2q “ pc
0c
01, c
0c
11` c
01c
1, c
1c
11q dans Z
2
Normalisation + Arrondi : c ˆ
i“
” t
qt¨ ˜ c
is
ı
q
ù rˆ c
0` c ˆ
1s ` ˆ c
2s
2s
q“ ∆rm
1m
2s
t` v
11mod q
3
Relin´ earisation: prˆ c
0` c ˆ
2s
2s
q, c ˆ
1q Ñ prˆ c
0` c ˆ
2ps
2` e ` asqs
q, rˆ c
1´ aˆ c
2s
qq Remarque : on ne peut pas r´ ev´ eler s donc on fournit une cl´ e d’´ evaluation qui est quasiment un chiffr´ e de s
2:
evk “ prs
2` e ` as s
q, ´aq avec a Ð χ
keyet e Ð χ
err. Probl` eme :
Le terme c ˆ
2ˆ e se rajoute au bruit.
} c ˆ
2ˆ e }
8ď n} c ˆ
2}
8}e}
8ď n
q2B
errùñ Le message ne d´ echiffrera pas correctement.
Sch´ ema de Chiffrement FV (Fan et Vercauteren, 2012)
Solution : d´ ecomposer c ˆ
2en base ω ą 2.
Plus pr´ ecisemment...
Soit ω un entier plus grand que 2, `
ω,q“ tlog
ωpqqu ` 1 et a P R
q, on d´ efinit les fonctions suivantes :
D
ω,qpaq “ pras
ω, rtaω
´1us
ω, ¨ ¨ ¨ , rtaω
´p`ω,q´1qus
ωq P R
`qω,qP
ω,qpaq “ pras
q, raωs
q, ¨ ¨ ¨ , raω
p`ω,q´1qs
qq P R
`qω,qLemme : pour tout pa, bq P R
2qon a : x D
ω,qpbq, P
ω,qpbqy ” ab rq s.
Et donc...
On modifie la cl´ e d’´ evaluation en :
evk “ prP
ω,qps
2q ` Ý Ñ e ` Ý Ñ a ss
q, ´Ý Ñ a q avec ( Ý Ñ a , Ý Ñ e q Ð χ
`keyω,qˆ χ
`errω,q.
On calcule prˆ c
0` x D
ω,qpˆ c
2q, evk
0ys
q, rˆ c
1` xevk
1, D
ω,qpˆ c
2qys
qq
Remarque : } xD
ω,qp c ˆ
2q, Ý Ñ e y }
8ď n`
ω,qω2B
err.
Sch´ ema de Chiffrement FV (Fan et Vercauteren, 2012)
Application :
On donne ω “ 4, evk
0“ pX ´ 2, ´8X ` 1, ´32X ` 2, 92X q et evk
1“ p´1, 0, X , ´X ` 1q. Calculer le produit des chiffr´ es c “ p49X ´ 30, 13X ` 73q et c
1“ p´37X ´ 31, 19X ´ 51q.
Solution ˆ
c
mult“ p´409X ` 2743, ´6173X ´ 1183, 724X ´ 3970q
”Y
t q¨ c ˆ
multUı
q