Guillou-Quisquater
Modèle:Voir homonymes Le protocole de Guillou-Quisquater ou GQ est une preuve à divulgation nulle de connaissance proposée par Louis Guillou et Jean-Jacques QuisquaterModèle:Sfn pour prouver la connaissance d'un message clair RSA pour un chiffré public. Cette preuve peut-être dérivée en protocole d'authentification par l'heuristique de Fiat-Shamir.
Fonctionnement
Alice veut s'authentifier auprès de Bob. Elle est en possession d'un certificat public <math>J_{\textrm{A}}~</math> ainsi que d'un certificat privé <math>S_{\textrm{A}} = J_{\textrm{A}}^{-s}~mod~n</math>. Le but est de prouver la possession du certificat privé.
La signature se fait grâce aux paramètres suivants :
- <math>n = pq~</math>, de la même manière que dans RSA
- un nombre <math>v~</math> qui sert de clé publique tel que <math>\textrm{gcd}(v, \varphi(n))=1~</math>
- un nombre <math>s~</math> qui sert de clé privée tel que <math>sv = 1~mod~\varphi(n)~</math>
Étapes
Le schéma d'identification est construit comme un protocole ΣModèle:Sfn en trois parties :
- L'engagement :
- Alice choisit un nombre aléatoire <math>r~</math>
- Alice calcule <math>x=r^v~mod~n</math>
- Alice envoie <math>x~</math> et <math>J_{\textrm{A}}~</math> à Bob
- Le défi :
- Bob choisit un nombre aléatoire <math>e~</math> tel que <math>1 \leq e \leq v</math>
- Bob envoie <math>e~</math> à Alice
- La réponse :
- Alice calcule <math>y=rS_{\textrm{A}}^e~mod~n</math> et l'envoie à Bob
- Bob calcule <math>J_{\textrm{A}}^e y^v</math> et vérifie que le résultat est égal à <math>x~</math> et différent de 0.