The arithmetic of pairing-based proof systems
L'arithmétique des systèmes de preuves à base de couplage
Résumé
A proof system is a protocol where one party (called the prover) tries to convince another party (called the verifier) that a given statement is true. In the class of non-interactive proof systems, a particularly interesting concept for proving the computational integrity is the Succinct Non-interactive ARgument of Knowledge (SNARK). It provides a computationally sound proof, cheap to verify and small compared to the size of the statement or the witness. Bilinear pairings over elliptic curves have become key ingredients for instantiating such SNARKs.In this thesis we investigate tailored pairing-friendly elliptic curves to efficiently implement SNARKs. We present a study at three stages of the process: curves to instantiate a SNARK, curves to instantiate a recursive SNARK, and also curves to express an elliptic-curve related statement. We provide new constructions of curves for SNARKs and new families of 2-chain curves for recursive SNARKs. We derive and implement in open-source efficient algorithms to speed up the arithmetic on these curves: Co-factor clearing, subgroup membership testing, multi-scalar multiplication and pairings over 2-chains. We also study and optimize elliptic curves arithmetic and pairings as a SNARK statement, yielding to the fastest recursive proof generation in pairing-based settings.
Un système de preuve est un protocole où une partie (appelée le prouveur) essaie de convaincre une autre partie (appelée le vérifieur) qu'un énoncé donné est vrai. Dans la classe des systèmes de preuve non interactifs, un concept intéressant pour prouver l'intégrité de calcul est le "Succinct Non-interactive ARgument of Knowledge" (SNARK). Il fournit une preuve calculatoirement solide, peu coûteuse à vérifier et petite de taille par rapport à la taille de l'énoncé ou du témoin. Les couplages bilinéaires sur des courbes elliptiques sont devenus des ingrédients clés pour instancier de tels SNARKs.Dans cette thèse nous étudions des courbes elliptiques à couplage efficace adaptées à ce type de SNARKs. Nous présentons une étude à trois étapes du processus: Des courbes pour instancier un SNARK, des courbes pour instancier un SNARK récursif, et également des courbes pour exprimer un énoncé lié à l'arithmétique sur la courbe elliptique. Nous fournissons de nouvelles constructions de courbes pour les SNARK et de nouvelles familles de 2-chaînes de courbes pour les SNARKs récursifs. Nous dérivons et implémentons en open-source des algorithmes efficaces pour accélérer l'arithmétique sur ces courbes: Effacement des cofacteurs, test d'appartenance aux sous-groupes, multiplication multi-scalaire et couplage sur les 2-chaînes. Nous étudions et optimisons également l'arithmétique des courbes elliptiques et le couplage bilinéaire en tant qu'énoncés SNARK à prouver, permettant de générer rapidement une preuve récursive.
Origine | Version validée par le jury (STAR) |
---|