Protocoles à Divulgation Nulle
-
Upload
hillary-blackwell -
Category
Documents
-
view
17 -
download
1
description
Transcript of Protocoles à Divulgation Nulle
Protocoles à Divulgation NulleProtocoles à Divulgation Nulle
Première approchePremière approche
Convainc le vérifieur que le prouveur est bien en possession d’un secret
L’interaction n’apprend rien du secret du prouveur au vérifieur
E
I
DG
La caverne d’Ali Baba Prouveur / vérifieur Questions / réponses
Systèmes de preuves Systèmes de preuves interactivesinteractives
Interactive Turing Machine P: tout puissant V:
polynomial
Pru b a n a lé a to ire
ru b a n d e tra v a il
ru b a n in te r ru p te u r
ru b a n d e c o m m u n ic a tio n
ru b a n d 'e n tré e
ru b a n d e so r tie
ru b a n d e c o m m u n ic a tio nV
ru b a n a lé a to ire
ru b a n d e tra v a il
ru b a n d e so r tie
ru b a n d 'e n tré e a u x ilia ireru b a n d 'e n tré e a u x ilia ire
Systèmes de preuves Systèmes de preuves interactivesinteractives
IP ={langages ayant des systèmes de preuves interactives} BPP NP IP
Complétude: V accepte souvent si P connaît le secret
xL, Pr(P,V(x)=1) 2/3 Validité: V accepte rarement si P est un imposteur
xL, Pr(B,V(x)=1) 1/3
Interactive Turing Machine P: tout puissant V:
polynomial
Graphes non isomorphesGraphes non isomorphes
Complétude: G1 et G2 non isomorphes V accepte toujours
Validité: G1 et G2 isomorphes V accepte avec une probabilité ½
Prouveur Vérifieur(G 1,G 2)
C hois it a léato irem ent de {1 ,2}.C hois it d 'une perm utation a léato ire sur V.C onstru it un graphe
G '=(V,F ) avec F={((u),(v)) : (u ,v)E}
C herche {1 ,2} tq G ' isom orphe à G :s i G ' n 'est isom orphe n i à G 1 n i à G 2, =0si G ' est isom orphe à G 1, =1si G ' est isom orphe à G 2, =2si G ' est isom orphe à G 1 e t G 2, est chois it
a léato irem ent dans {1,2}.
Vérifie s i =:s i c 'est le cas re tourne 1 s inon 0.
G'=(V',E')
Preuve à divulgation nullePreuve à divulgation nulle Simulateur (M*):
– Ne connaît pas le secret du prouveur– Exécution en temps polynomial– Peut échouer ()
Zero-knowledge parfait :– Les échecs du simulateur sont limités (Pr(M*(x)= ) ½) P,V*(x) et m*(x) sont identiquement distribuées
Zero-knowledge calculatoire:– {P,V*(x)}xL et {M*(x)}xL sont calculatoirement
indistingables Complexité:
– BPP PZK CZK IP – NP CZK ?
Graphes trois-colorablesGraphes trois-colorables
Complétude: G trois-colorable V accepte toujours Validité: G non trois-colorable V accepte avec une probabilité 1/|
E|
Prouveur VérifieurG =(V ,E)
C alcu le une tro is-co loration a léato ire de G .M et en gage dans |V | bo ites no ires
ferm ées à c lef
C hois it a léato irem ent (u ,v)E.
mise en gage
R ien (re trouve les c lés de u et v)
(u,v)
O uvre les bo ites contenant (u) et (v).Vérifie s i (u) et (v) sont dans {1,2,3} etsont d ifférentes :s i c 'est le cas re tourne 1 s inon 0.
clés de u et v
Graphes trois-colorablesGraphes trois-colorablesProuveur VérifieurG =(V ,E)
C alcu le une tro is-co loration a léato ire de G .M et en gage dans |V | bo ites no ires
ferm ées à c lef
C hois it a léato irem ent (u ,v)E.
mise en gage
R ien (re trouve les c lés de u et v)
(u,v)
O uvre les bo ites contenant (u) et (v).Vérifie s i (u) et (v) sont dans {1,2,3} etsont d ifférentes :s i c 'est le cas re tourne 1 s inon 0.
clés de u et v
M* V*G =(V ,E)
C hois it a léato irem ent et indépendam m ent |V | va leurs e 1,… ,e |V | {1 ,2,3} en gu ise de tro is-coloration
V*(x,r,z)
mise en gage
(u,v)
Si e ue v , a lors le s im ulateur s 'arrête avec en sortie(x ,z,r,"m ise en gage",(u,e u,v,e v)).
S inon, il re tourne .
Feige-Fiat-ShamirFeige-Fiat-Shamir
Complétude: P connaît s V accepte toujours Validité: P ne connaît pas s V accepte avec une probabilité 1/2
Protocole à clef publique (p,q,s) secrets (n=p.q, v=s2) publiques
Prouveur Vérifieur(n ,v)
C hois it un nom bre a léato ire r dans [1 ,n-1].C alcu le x = r2 m od n.
C hois it a léato irem ent b{0 ,1}.
x
C alcu le y = r.s b m od n.
Vérifie s i y 0 e t y2 x .vb (m od n) :s i c 'est le cas re tourne 1 s inon 0.
b
y
Feige-Fiat-ShamirFeige-Fiat-ShamirProuveur Vérifieur(n ,v)
C hois it un nom bre a léato ire r dans [1 ,n-1].C alcu le x = r2 m od n.
C hois it a léato irem ent b{0 ,1}.
x
C alcu le y = r.s b m od n.
Vérifie s i y 0 e t y2 x .vb (m od n) :s i c 'est le cas re tourne 1 s inon 0.
b
y
M* V*(n ,v)
C hois it a léato irem ent y[1 ,n-1] e t e{0 ,1}.C alcu le x = y2 m od n s i e=0
x = y2.v -1 m od n s i e=1
V*(x,r,z)
x
S i b=e, a lors le s im ulateur s 'arrête avec en sortie ((n ,v),z,r,x ,(b ,y)).
S inon, il re tourne .
b
Avantages pratiquesAvantages pratiques
Famille de protocoles
Taille message
Nb itérations
Calculs Mémoire
Zero-knowledge Large Plusieurs Lourd Grosse
Clef publique Large Une Très lourd Grosse
Symétrique Petit Une Léger Petite
Attaques possiblesAttaques possibles Force brute
– Principe: se libérer de la limite polynomiale de V*– Parade: limiter le temps de réponse
Post-mortem– Principe: se libérer de la limite polynomiale de V*– Parade: changer le secret régulièrement, tous les protocoles sont
sensibles à cette attaque et plus particulièrement les protocoles zero-knowledge
Replay– Principe: rejouer une instance d’identification– Parade: zero-knowledge non sensible à cette attaque
Man-in-the-middle / Connivence– Principe: jouer les intermédiaire entre 2 machines et tromper les 2– Parade: limiter le temps de réponse
ConclusionConclusion