Protocoles à Divulgation Nulle

13
Protocoles à Protocoles à Divulgation Nulle Divulgation Nulle

description

Protocoles à Divulgation Nulle. La caverne d’Ali Baba. Premiè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. Prouveur / vérifieur Questions / réponses. Systèmes de preuves interactives. - PowerPoint PPT Presentation

Transcript of Protocoles à Divulgation Nulle

Page 1: Protocoles à Divulgation Nulle

Protocoles à Divulgation NulleProtocoles à Divulgation Nulle

Page 2: Protocoles à 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

Page 3: Protocoles à Divulgation Nulle

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

Page 4: Protocoles à Divulgation Nulle

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

Page 5: Protocoles à Divulgation Nulle

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')

Page 6: Protocoles à Divulgation Nulle

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 ?

Page 7: Protocoles à Divulgation Nulle

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

Page 8: Protocoles à Divulgation Nulle

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 .

Page 9: Protocoles à Divulgation Nulle

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

Page 10: Protocoles à Divulgation Nulle

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

Page 11: Protocoles à Divulgation Nulle

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

Page 12: Protocoles à Divulgation Nulle

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

Page 13: Protocoles à Divulgation Nulle

ConclusionConclusion