This commit is contained in:
Fabrice Mouhartem 2018-11-07 16:26:04 +01:00
parent 9c3e4f48bd
commit 314cd780b7
2 changed files with 88 additions and 121 deletions

View File

@ -13,7 +13,7 @@ Recently, the National Institute of Standards and Technology (or \textit{NIST})
In this competition, 82 protocols have been proposed out of which: 28 were lattice-based, 24 were code-based, 13 were multi-variate based, 4 were hash-based and the 13 left were categorized as ``other''.
Though, real-world cryptography mainly aims at designing digital signatures and encryption schemes, as illustrated by the NIST competition.
Meanwhile, ongoing research in cryptology proposes different solutions to address more specific problems, such as the design of electronic-cash systems\footnote{Which is not to be confuse with cryptocurrency\ldots}~\cite{CFN88}, which are the digital analogue of real money. Coins are delivered by a central authority (the bank) and spendings remain untraceable. In case of misbehavior (such as double-spending), the identity of the cheater is revealed.
Meanwhile, ongoing research in cryptology proposes different solutions to address more specific problems, such as the design of electronic-cash systems\footnote{Which is not to be confused with cryptocurrency\ldots}~\cite{CFN88}, which are the digital analogue of real money. Coins are delivered by a central authority (the bank) and spendings remain untraceable. In case of misbehavior (such as double-spending), the identity of the cheater is revealed.
Cryptographic constructions should additionally verify some security requirements.
For instance, an encryption scheme has to hide a message in the presence of an eavesdropper, or even an active adversary who can alter some messages.
@ -118,7 +118,7 @@ From an algebraic point of view, a lattice is a discrete subgroup of $\RR^n$,
which leads to a simple additive structure.
The core difference with number-theoretic cryptography, such as discrete-logarithm-based cryptography, is the existence of the geometrical structure of the lattice.
From this geometry rises some problems that are believed to withstand quantum computers.
Despite this apparently simple structure, some advanced primitives are only known, as of today, to be possible under lattice assumptions, such as fully-homomorphic encryption~\cite{Gen09,GSW13}.
Despite this apparently simple structure, some advanced primitives are only known, as of today, to be possible under lattice assumptions, such as fully-homomorphic encryption~\cite{Gen09,BV11,GSW13}.
The versatility of lattice-based cryptography is enabled by the existence of lattice trapdoors~\cite{GPV08,CHKP10,MP12}, as we explain in~\cref{sse:lattice-trapdoors}.
Informally, the knowledge of a short basis for a lattice allows sampling short vectors, which is believed to be hard without such a short basis.
@ -126,7 +126,6 @@ Furthermore, knowing a short basis for the lattice $\{\mathbf{v} \in \ZZ^m \mid
An application for this property is Boyen's signature scheme~\cite{Boy10}.
In this scheme, a signature for message $m$ is a short vector in the orthogonal lattice of the matrix $\mathbf{A}_m = [\mathbf{A} \mid \mathbf{B}_m]$, where $\mathbf{B}_m$ is publicly computable.
Hence, knowing a trapdoor for $\mathbf{A}$ makes the computation of this short vector possible, and the message is bound to the description of the lattice $\mathbf{A}_m$.
Indeed, some extra care has to be taken to avoid multiplicative attacks.
Still, the use of lattice trapdoors comes at a price, as it significantly decreases the efficiency of cryptographic designs that use them~\cite{Lyu12,LLNW16}.
Given that we provide the first lattice-based construction for the scheme we present, we focused on designing provably-secure scheme under well-studied assumptions.
@ -152,7 +151,7 @@ We can imagine a scenario where some burglars eavesdrop a specific car to know w
In this thesis, we present in~\cref{ch:sigmasig} pairing-based group signatures that aims at efficiency while relying on simple assumptions.
The resulting scheme shows competitive signature size with other schemes that rely on more ad-hoc assumptions, and its practicality is supported by an implementation.
This scheme is presented in~\cite{LMPY16}, which is joint work with Benoît Libert, Thomas Peters an Moti Yung presented at AsiaCCS'16.
This scheme is presented in~\cite{LMPY16}, which is joint work with Benoît Libert, Thomas Peters and Moti Yung presented at AsiaCCS'16.
\cref{ch:gs-lwe} presents the first \textit{dynamic} group signature scheme relying on lattice assumptions.
This has been made possible by adapting Stern-like proofs to properly interact with a signature scheme: a variant of Boyen's signature~\cite{Boy10,BHJ+15}.
@ -166,7 +165,7 @@ Group encryption schemes~\cite{KTY07} are the encryption analogue of group signa
In this setting, a user is willing to send a message to a group member, while keeping the recipient of the message hidden inside the group.
In order to keep user accountable for their actions, an opening authority is further empowered with some secret information allowing it to un-anonymize ciphertexts.
More formally, a group signature scheme is a primitive allowing the sender to generate publicly verifiable proofs that: (1) The ciphertext is well-formed and intended to some registered group member who will be able to decrypt; (2) The opening authority will be able to identify the receiver if necessary; (3) The plaintext satisfies certain properties, such as being a witness for some public relation, or the private key that underlies a given public key.
More formally, a group signature scheme is a primitive allowing the sender to generate publicly verifiable proofs that: (1) The ciphertext is well-formed and intended to some registered group member who will be able to decrypt; (2) The opening authority will be able to identify the receiver if necessary; (3) The plaintext satisfies certain properties, such as being a witness for some public relation.
In the model of Kiayias, Tsiounis and Yung~\cite{KTY07}, the message secrecy and anonymity properties are required to withstand active adversaries, which are granted access to decryption oracles in all security definitions.
A natural application is to allow a firewall to filter all incoming encrypted emails except those intended for some certified organization members and the content of which is additionally guaranteed to satisfy certain requirements, like the absence of malware.
@ -188,7 +187,7 @@ This work have been presented at Asiacrypt'16~\cite{LLM+16a} and have been done
Oblivious transfer is a primitive coined by Rabin~\cite{Rab81} and later extended by Even, Goldreich and Lempel~\cite{EGL85}.
It involves a server with a database of messages indexed from $1$ to $N$ and a receiver with a secret index $\rho \in \{1,\ldots,N\}$.
The protocol allows the receiver to retrieve the $\rho$-th message from the receiver without letting him infer anything on his choice.
The protocol allows the receiver to retrieve the $\rho$-th message from the database without letting it infer anything on his choice.
Furthermore, the receiver only obtains the $\rho$-th message and learns nothing about the other messages.
In its adaptive flavor~\cite{NP99}, oblivious transfer allows the receiver to interact $k$ times with the server to obtain $k$ messages in such a way that, each request may depend on the previously retrieved messages.
@ -201,7 +200,7 @@ In many sensitive databases (e.g., DNA samples or patients' medical history), ho
It is thus crucial to protect the access to certain entries conditioned on the receiver holding suitable credentials delivered by authorities.
At the same time, privacy protection requires that authorized users should be able to query database records while leaking as little as possible about their interests or activities.
This requirements is handled by endowing oblivious transfer with access control, as stated by Camenish, Dubovitskaya and Neven~\cite{CDN09}.
These requirements are handled by endowing oblivious transfer with access control, as stated by Camenish, Dubovitskaya and Neven~\cite{CDN09}.
In this variant, each database record is protected by a different access control policy.
Based on their attributes, users can obtain credentials from pre-determined authorities, which entitle them to anonymously retrieve database records of which the access policy accepts their certified attributes.
During the transfer phase, the user demonstrates, in a zero-knowledge manner, possession of an attribute string compatible with the policy of a record in the database, as well as a credential for this attribute.

View File

@ -90,6 +90,48 @@ La seconde, décrite dans le chapitre~\ref{ch:gs-lwe}, adapte une variante de la
Ce schéma a aussi été relaxé dans le cadre du transfert inconscient, où, par endroits, seule la sécurité pour des messages aléatoires est requise.
Cela est décrit dans le chapitre~\ref{ch:ot-lwe}.
\section*{Couplages et réseaux euclidiens}
Les constructions proposées dans cette thèse reposent sur la difficulté supposée d'hypothèses sur les groupes compatibles avec des couplages et les réseaux euclidiens.
Ces deux objets mathématiques ont été étudiés en long et en large depuis leurs introductions respectives au début des années 2000~~\cite{SOK00,Reg05}.
Depuis lors, ils ont bénéficié d'une attention considérable de la part des cryptographes, ce qui a mené à la conception de nombreux protocoles avancés (tels que~\cite{Jou00,BBS04,BN06,GS08,LYJP14,LPQ17} pour les couplages et~\cite{GPV08,ABB10,BV11,GSW13,dPLNS17} pour les réseaux).
\subsection*{Cryptographie à base de couplages}
Un couplage est une application bilinéaire qui part de deux groupes cycliques sources vers un groupe cible.
La bilinéarité est rendue possible grâce à la structure algébrique forte des groupes abéliens compatibles avec de telles applications.
Il n'est donc pas surprenant de voir qu'une large gamme de schémas ont été rendus possibles dans le contexte de la cryptographie à base de couplages.
Dans le cadre de la cryptographie pour la protection de la vie privée, la pierre angulaire a été l'introduction des preuves de Groth-Sahai~\cite{GOS06,GS08} qui permettent de prouver de manière non interactive et sans divulgation de connaissance une large classe d'affirmations dans le modèle standard (c'est-à-dire sans présupposés).
Par exemple, les preuves de Groth-Sahai ont été utilisées pour la construction de signatures de groupe, d'accréditations anonymes~\cite{Gro07,BCKL08,BCC+09}, ou encore d'e-cash~\cite{BCKL09}.
Cependant, dans cette thèse, nos constructions à base de couplages visent à la praticité.
Ainsi, elles sont instanciées dans le modèle de l'oracle aléatoire, où les preuves à la Schnorr sont rendues non interactives par la transformée de Fiat-Shamir lorsque l'affirmation à prouver est suffisamment simple.
Des travaux récents en cryptanalyse des couplages~\cite{KB16,MSS17,BD18} ont mené à des changements radicaux dans le panorama de la cryptographie à base de couplage.
Ces changements nous affectent en ce sens que nos évaluations de paramètres de sécurité sont désormais à revoir pour atteindre le même niveau de sécurité que celui annoncé.
Néanmoins, la cryptographie à base de couplages offre un excellent compromis entre ce qu'on est capable d'y construire et l'efficacité.
Comme exemple, nous pouvons citer les travaux de Döttling et Garg~\cite{DG17a} qui ont clos le problème de fournir un chiffrement fondé sur l'identité qui repose uniquement sur des hypothèses sur les groupes cycliques.
Si leur construction repose sur des objets mathématiques plus simples, elle n'atteint néanmoins pas l'efficacité de celles que proposent la cryptographie à base de couplages~\cite{BB04}.
\subsection*{Cryptographie reposant sur les réseaux euclidiens}
D'un point de vue algébrique, un réseau est un sous-groupe discret d'un certain $\mathbb{R}^n$, ce qui mène à une structure de simple groupe additif.
La principale différence avec la cryptographie traditionnelle reposant sur de l'arithmétique modulaire, telle que celle fondée sur le logarithme discret, est l'existence d'une structure géométrique: celle de réseau.
C'est de cette géométrie que proviennent les problèmes difficiles sur les réseaux que nous considérons comme difficiles, et ce, même avec la puissance d'un calculateur quantique.
Malgré sa structure apparente simple, les réseaux euclidiens ont permis de débloquer des constructions qui ne sont par réalisables autrement, comme par exemple le chiffrement totalement homomorphe~\cite{Gen09,BV11,GSW13}.
La flexibilité de la cryptographie à base de réseaux euclidiens a été rendue possible par la découverte des \textit{portes dérobées}~\cite{GPV08,CHKP10,MP12} telles que nous l'avons expliqué en section~\ref{sse:lattice-trapdoors}.
De manière informelle, la connaissance d'une base courte (ou porte dérobée) pour un réseau permet d'échantillonner des vecteurs courts dans ce même réseau.
Il s'avère, par ailleurs, que trouver ces vecteurs courts est considéré comme un problème difficile en l'absence de la connaissance d'une base courte.
De plus, avoir une base courte pour un réseau $\{\mathbf{v} \in \ZZ^m \mid \mathbf{A} \mathbf{z} = 0 \bmod q\}$ décrit par une matrice $\mathbf{A} \in \mathbb{Z}^{n \times m}$ permet de générer une base pour un réseau dépendant de celui-ci, décrit par la matrice $[ \mathbf{A} \mid \mathbf{B}] \in \ZZ_q^{n \times m'}$.
Cette propriété est utilisée par exemple dans la signature de Boyen~\cite{Boy10}, largement employée dans la cryptographie à base de réseaux.
Dans ce schéma, une signature pour un message $m$ consiste en un vecteur court dans le réseau orthogonal à la matrice $\mathbf{A}_m = [\mathbf{A} \mid \mathbf{B}_m]$ où la matrice $\mathbf{B}_m$ est calculable publiquement.
Ainsi, la connaissance d'une porte dérobée pour la matrice $\mathbf{A}$ rend possible le calcul d'un tel vecteur, et le message est lié à la description de la matrice $\mathbf{A}_m$.
Néanmoins, l'utilisation de portes dérobées pour les réseaux est extrêmement coûteuse en terme d'efficacité~\cite{Lyu12,LLNW16}.
Comme notre but est de fournir les premières constructions pour les primitives que nous présentons, nous nous sommes concentrés sur la réalisations de telles constructions sous des hypothèses bien étudiées, au prix de cette efficacité.
\section*{Nos résultats}
Dans cette thèse sont présentées différentes constructions cryptographiques pour la préservation de la vie privée.
@ -117,14 +159,26 @@ Ces travaux sont décrits dans~\cite{LLM+16} avec Benoît Libert, San Ling, Khoa
\subsection*{Chiffrement de groupe}
Le chiffrement de groupe est l'analogue de la signature de groupe pour le chiffrement.
Dans ce contexte, un utilisateur souhaite envoyer un message à un membre d'un groupe, tout en gardant le destinataire du message anonyme au sein de ce groupe.
De manière similaire, une autorité peut lever l'anonymat des message à l'aide d'une information secrète~\cite{KTY07,LYJP14}.
Dans ce contexte, un utilisateur désire envoyer un message à un membre d'un groupe, tout en cachant l'identité du destinataire au sein de ce groupe.
De manière similaire, une autorité peut lever l'anonymat des message à l'aide d'une information secrète~\cite{KTY07,LYJP14}.
Une application possible du chiffrement de groupe est la construction d'un pare-feu d'entreprise, qui permet de garantir qu'un message possède bien un destinataire dans l'entreprise tout en garantissant des propriétés additionnelles comme l'absence de programme malicieux dans le message.
En cas de doute, une autorité est capable de lever l'anonymat d'un message suspicieux.
Pour réaliser cette construction dans le cadre des réseaux euclidiens, nous avons eu besoin de traiter des «\,relations quadratique\,».
Cela a été rendu possible en introduisant de techniques nouvelles sur les preuves à la Stern.
Plus formellement, le chiffrement de groupe est une primitive qui permet à un expéditeur de générer une preuve publiquement vérifiable que: (1)~Le cĥiffré est bien formé et est destiné à un utilisateur enregistré dans un groupe qui sera capable de déchiffrer le message; (2)~L'autorité d'ouverture sera capable d'identifier le destinataire du message si besoin; (3)~Le message clair vérifie certaines propriétés, comme celle d'être un témoin pour une relation publique.
Dans le modèle de Kiayias, Tsiounis et Yung~\cite{KTY07}, le secret du message et l'anonymat sont définis pour un adversaire actif dans toutes les définitions de sécurité.
C'est-à-dire un adversaire capable de demander des requêtes d'ouverture sur n'importe quel message et l'identité du destinataire de messages.
Cette construction nécessite de pouvoir prouver la connaissance d'une clef publique certifiée utilisée pour chiffrer un message.
Or, cette clef publique doit rester cachée parmi les différentes clef publiques certifiées.
Dans les réseaux euclidiens, cela revient à produire une preuve sans divulgation nulle de connaissance pour une relation dite «\,quadratique\,».
Avant ces travaux, les preuves sans divulgation de connaissances que nous connaissons sur les réseaux euclidiens ne permettent que de prouver des relations où le témoin vérifie une relation linéaire en les paramètres publiques.
Rappelons qu'une relation d'apprentissage avec erreurs est de la forme $\mathbf{A} \cdot \mathbf{s} + \mathbf{e} + \mathbf{m} \lceil \frac{q}{2} \rceil \bmod q$$\mathbf{A}$ est la clef publique du destinataire du message.
Comme le chiffrement de groupe demande à ce que le destinataire reste anonyme, cette clef publique $\mathbf{A}$ doit rester privée.
Un moyen d'y arriver est d'avoir des preuves sans divulgation nulle de connaissance qui supportent les relations où le témoin est multiplié par une matrice privée.
%Pour réaliser cette construction dans le cadre des réseaux euclidiens, nous avons eu besoin de traiter des «\,relations quadratique\,».
Cela a été rendu possible en introduisant des techniques nouvelles pour les preuves à la Stern.
Ces techniques, qui reposent sur une approche «\,diviser-pour-régner\,», sont décrites dans le chapitre~\ref{ch:ge-lwe}, ainsi que la construction du schéma de chiffrement de groupe prouvé sûr dans le modèle standard.
Ces travaux ont été présentés à Asiacrypt'16~\cite{LLM+16a} et ont été effectués avec Benoît Libert, San Ling, Khoa Nguyen et Huaxiong Wang.
@ -132,120 +186,34 @@ Ces travaux ont été présentés à Asiacrypt'16~\cite{LLM+16a} et ont été ef
Le transfert inconscient est une primitive proposée par Rabin~\cite{Rab81} qui a ensuite été étendue par Even, Goldreich et Lempel~\cite{EGL85}.
Elle met en relation un serveur et un client qui veulent s'échanger des messages indexés de $1$ à $N$.
Le client souhaite obtenir \textit{dynamiquement} des messages, tout en cachant l'indice des messages qu'il souhaite récupérer.
De son côté, la base de données a la garantie que le client n'obtient que les messages qu'il a demandé et n'apprend rien d'autre sur le reste des données.
Une autre propriété intéressante à obtenir est le contrôle d'accès~\cite{CDN09}, qui permet de protéger chaque messages par une politique d'accès.
Ainsi, un utilisateur ne peut récupérer un message que s'il en possède les droits.
Le protocole permet ainsi à un client d'obtenir le $\rho$-ième message de la part du serveur sans lui permettre de savoir quoi que ce soit sur le choix du client.
De plus, le client n'obtient que le $\rho$-ième message et n'apprend rien sur les autres messages de la base de donnée.
Au delà de son intérêt théorique (le transfert inconscient est une brique de base \textit{complète} de la cryptographie, dans le sens où sa réalisation permet la construction de calcul multipartite sécurisé),
le transfert inconscient adaptatif (présenté dans le premier paragraphe), permet la protection des requêtes sur des bases de données sensibles, comme les bases de génomes.
Dans sa version adaptative~\cite{NP99}, le client souhaite obtenir \textit{dynamiquement} $k$ messages.
Toujours en gardant secret l'indice des messages qu'il a récupéré, ainsi que le motif d'accès des requêtes.
Nous avons proposé la première construction de schéma de transfert inconscient adaptatif avec contrôle d'accès qui repose sur des hypothèses de réseaux euclidien décrite dans le chapitre~\ref{ch:ot-lwe} et dans~\cite{LLM+17}.
Cette construction a été présentée à Asiacrypt'17. Ces travaux ont été réalisés avec Benoît Libert, San Ling, Khoa Nguyen et Huaxiong Wang.
D'un point de vue théorique, le transfert inconscient est une \textit{brique de base complète} pour la cryptographie.
Autrement dit, si elle est possible, n'importe quel calcul multipartite sécurisé est rendu possible.
Dans sa variante adaptative, le transfert inconscient a des applications pour l'accès préservant la vie privée à des bases de données sensibles (comme les bases de données médicales ou financières) stockées de manière chiffrées sur un serveur distant.
Dans sa forme simple, le transfert inconscient (adaptatif) ne restreint pas l'accès aux données.
Dans plusieurs cas de figures (comme des bases de génomes), on souhaite mutualiser la base de données, et il n'est pas souhaitable que n'importe quel utilisateur puisse avoir accès à toutes les données.
Il est alors important de protéger l'accès à ces données sensibles conditionnés par les droits d'accès du client.
Dans le même temps, la protection de la vie privée nécessite que seuls les utilisateurs autorisés puissent accéder à la base de donnée, tout en gardant leurs informations anonymes (en particulier, le certificat utilisé pour accéder aux données doit rester secret pour tout le monde, y compris le serveur).
Cette propriété a été formalisée par~\cite{CDN09} par la notion de contrôle d'accès.
Dans cette variante, chaque données est protégée par une police d'accès différente. À partir de leurs attributs, les utilisateurs peuvent obtenir une accréditation de la part d'une autorité tierce, qui les autorise à récupérer anonymement les données pour lesquelles leurs attributs leurs en permettent l'accès.
Durant la phase de transfert, le client prouve sans divulgation de connaissance la possession d'un tel certificat pour un attribut qui vérifie la police d'accès de la donnée qu'il souhaite obtenir.
La seule information que la base de donnée peut apprendre est donc qu'un utilisateur a obtenu un élément de la base de données pour lequel il avait accès.
Le système doit être capable de traiter des polices d'accès complexes, tout en gardant la complexité en temps et en mémoire raisonnable.
Dans cette thèse, nous proposons dans le chapitre~\ref{ch:ot-lwe} un protocole de preuve sans divulgation de connaissance qui permet de traiter n'importes quelles polices d'accès pouvant être décrites à l'aide d'un circuit booléen de profondeur logarithmique (c'est-à-dire la classe de complexité $\mathsf{NC}^1$) qui repose sur les réseaux euclidiens.
Dans le cadre du transfert inconscient adaptatif, la plupart des constructions (à base de couplages) ne permettent que de traiter, sous des hypothèses raisonnables, que des polices d'accès composées de conjonctions~\cite{CDN09,CDNZ11,ACDN13}. Sous des hypothèses plus fortes, les polices d'accès dans $\mathsf{NC}^1$ sont néanmoins possibles~\cite{ZAW+10}.
%Nous avons proposé la première construction de schéma de transfert inconscient adaptatif avec contrôle d'accès qui repose sur des hypothèses de réseaux euclidien décrite dans le chapitre~\ref{ch:ot-lwe} et dans~\cite{LLM+17}.
Cette construction, présentée à Asiacrypt'17~\cite{LLM+17}, a été réalisée avec Benoît Libert, San Ling, Khoa Nguyen et Huaxiong Wang.
\begin{comment}
\section*{Couplages et réseaux}
Dans cette thèse, les constructions proposées reposent sur la difficulté présumée de problèmes sur les groupes cycliques munis de couplages ou de réseaux euclidiens.
Ces deux objets ont largement été utilisé dans la cryptographie depuis le début des années 2000~\cite{SOK00,Reg05}.
Depuis, ils ont attiré l'attention des cryptographes et de nombreuses constructions avancées reposent sur ces hypothèses, comme~\cite{Jou00,BBS04,BN06,GS08,LYJP14,LPQ17} pour les couplages et~\cite{GPV08,ABB10,BV11,GSW13,dPLNS17} pour les réseaux.
\subsection*{Cryptographie à base de couplages}
Un couplage est une application bilinéaire sur des groupes cycliques.
La propriété de bilinéarité
\subsection{Pairing-Based Cryptography}
A pairing is a bilinear map from two cyclic source groups to a target group.
This bilinear property takes advantage of a rich structure to groups that are compatible with such a map.
It is then not surprising to see the variety of schemes that stems from pairing-based cryptography.
In the context of privacy-based cryptography, an important breakthrough was the introduction of Groth-Sahai proofs~\cite{GOS06,GS08} that allow proving in a non-interactive zero-knowledge fashion a large class of statements in the standard model.
For instance, Groth-Sahai proofs have been used in group signatures and anonymous-credential schemes~\cite{Gro07,BCKL08,BCC+09}, or e-cash systems in the standard model~\cite{BCKL09}.
In this thesis, however, our pairing-based constructions focus on practicality.
Thus, they are instantiated in the random oracle model, where Schnorr's proof are made non-interactive through the Fiat-Shamir transform when the statement to prove is simple enough.
A recent line of work in cryptanalysis of bilinear maps~\cite{KB16,MSS17,BD18} led to a change in the panorama of practical pairing-based cryptography.
This affects us in the sense that security parameter has to be increased in order to achieve the same security level.
Nevertheless, pairing-based cryptography offers a nice tradeoff between its capabilities and efficiency.
As an example, we can cite the work of Döttling and Garg~\cite{DG17}, who closed the problem of providing an identity-based encryption scheme which only relies on the Diffie-Hellman assumption (it is construction on cyclic groups that does not need pairings, as defined in~\cref{de:DDH}).
While their construction relies on a simpler mathematical object, it does not reach the efficiency of pairing-based ones~\cite{BB04}.
\subsection{Lattice-Based Cryptography}
From an algebraic point of view, a lattice is a discrete subgroup of $\RR^n$,
which leads to a simple additive structure.
The core difference with number-theoretic cryptography, such as discrete-logarithm-based cryptography, is the existence of the geometrical structure of the lattice.
From this geometry rises some problems that are believed to withstand quantum computers.
Despite this apparently simple structure, some advanced primitives are only known, as of today, to be possible under lattice assumptions, such as fully-homomorphic encryption~\cite{Gen09,GSW13}.
The versatility of lattice-based cryptography is enabled by the existence of lattice trapdoors~\cite{GPV08,CHKP10,MP12}, as we explain in~\cref{sse:lattice-trapdoors}.
Informally, the knowledge of a short basis for a lattice allows sampling short vectors, which is believed to be hard without such a short basis.
Furthermore, knowing a short basis for the lattice $\{\mathbf{v} \in \ZZ^m \mid \mathbf{A} \mathbf{z} = 0 \bmod q\}$ described by matrix $\mathbf{A} \in \ZZ_q^{n \times m}$ makes it possible to generate a short basis for a related lattice described by $[ \mathbf{A} \mid \mathbf{B}] \in \ZZ_q^{n \times m'}$.
An application for this property is Boyen's signature scheme~\cite{Boy10}.
In this scheme, a signature for message $m$ is a short vector in the orthogonal lattice of the matrix $\mathbf{A}_m = [\mathbf{A} \mid \mathbf{B}_m]$, where $\mathbf{B}_m$ is publicly computable.
Hence, knowing a trapdoor for $\mathbf{A}$ makes the computation of this short vector possible, and the message is bound to the description of the lattice $\mathbf{A}_m$.
Indeed, some extra care has to be taken to avoid multiplicative attacks.
Still, the use of lattice trapdoors comes at a price, as it significantly decreases the efficiency of cryptographic designs that use them~\cite{Lyu12,LLNW16}.
Given that we provide the first lattice-based construction for the scheme we present, we focused on designing provably-secure scheme under well-studied assumptions.
\section{Our Results}
In this thesis, we present several cryptographic constructions that preserve privacy.
These constructions are the result of both improvements we made in the use of zero-knowledge proofs and the ability to prove the security of our constructions under standard assumptions.
We believe that these advances on zero-knowledge proofs are of independent interest and that the given schemes are a step towards quantum-secure privacy-preserving cryptography.
In the following, we detail four contributions that are developed in this thesis.
These results are taken from four published articles: \cite{LMPY16,LLM+16,LLM+16a,LLM+17}.
\subsection{Dynamic Group Signatures and Anonymous Credentials}
In~\cref{pa:gs-ac}, we present two primitives: dynamic group signatures and anonymous credentials.
We already described the behavior of anonymous credential in~\cref{se:privacy-preserving-crypto}.
As for dynamic group signatures, they are a primitive that allows a group of users to authenticate messages on behalf of the group while remaining anonymous inside this group.
The users still remain accountable for their actions, as another authority knows a secret information that gives it the ability to lift anonymity of misbehaving users.
By itself, this primitive can be used to provide anonymous authentications while providing accountability (which is not the case with anonymous credentials).
For instance, in the Internet of things, such as smart cars, it is important to provide authenticated communication channels as well as anonymity. For car communications, if exchanged data may not be sensitive by themselves, the identity of the driver could be.
We can imagine a scenario where some burglars eavesdrop a specific car to know whenever a house is empty.
In this thesis, we present in~\cref{ch:sigmasig} pairing-based group signatures that aims at efficiency while relying on simple assumptions.
The resulting scheme shows competitive signature size with other schemes that rely on more ad-hoc assumptions, and its practicality is supported by an implementation.
This scheme is presented in~\cite{LMPY16}, which is joint work with Benoît Libert, Thomas Peters an Moti Yung presented at AsiaCCS'16.
\cref{ch:gs-lwe} presents the first \textit{dynamic} group signature scheme relying on lattice assumptions.
This has been made possible by adapting Stern-like proofs to properly interact with a signature scheme: a variant of Boyen's signature~\cite{Boy10,BHJ+15}.
It results in a \textit{signature with efficient protocols} that is of independent interest.
Later, it has been adapted in the design dynamic group encryption~\cite{LLM+16a} and adaptive oblivious transfer~\cite{LLM+17}.
This work is described in~\cite{LLM+16}, made with Benoît Libert, San Ling, Khoa Nguyen and Huaxiong Wang and presented at Asiacrypt'16.
\subsection{Group Encryption}
Group encryption schemes~\cite{KTY07} are the encryption analogue of group signatures.
In this setting, a user is willing to send a message to a group member, while keeping the recipient of the message hidden inside the group.
In order to keep user accountable for their actions, an opening authority is further empowered with some secret information allowing it to un-anonymize ciphertexts.
More formally, a group signature scheme is a primitive allowing the sender to generate publicly verifiable proofs that: (1) The ciphertext is well-formed and intended to some registered group member who will be able to decrypt; (2) The opening authority will be able to identify the receiver if necessary; (3) The plaintext satisfies certain properties, such as being a witness for some public relation, or the private key that underlies a given public key.
In the model of Kiayias, Tsiounis and Yung~\cite{KTY07}, the message secrecy and anonymity properties are required to withstand active adversaries, which are granted access to decryption oracles in all security definitions.
A natural application is to allow a firewall to filter all incoming encrypted emails except those intended for some certified organization members and the content of which is additionally guaranteed to satisfy certain requirements, like the absence of malware.
Furthermore, group encryption schemes are motivated by privacy applications such as anonymous trusted third parties, key recovery mechanisms or oblivious retriever storage system.
In cloud storage services, group encryption enables privacy-preserving asynchronous transfers of encrypted datasets.
Namely, it allows users to archive encrypted datasets on remote servers while convincing those servers that the data is indeed intended to some anonymous certified client who has a valid account to the storage provider.
In case of suspicions on the archive's content, a judge should be able do identify the recipient of the archive.
To tackle the problem of designing lattice-based group encryption, we needed to handle ``quadratic relations''.
Indeed, lattice-based zero-knowledge proof systems were able to handle only relations where witnesses are multiplied by a public value.
Let us recall that, in Learning-With-Errors schemes, an encryption have the form $\mathbf{A} \cdot \mathbf{s} + \mathbf{e} + \mathbf{m} \lceil \frac{q}{2} \rceil \bmod q$, where $\mathbf{A}$ is the recipient public-key.
As group encryption requires this public-key $\mathbf{A}$ to be private, a way to achieve this is to have a zero-knowledge proof system which handles relations where the witness is multiplied with a private matrix.
We address this issue introducing new technique to handle this kind of relations.
These techniques, based on a \textit{divide-and-conquer} strategy, are described in~\cref{ch:ge-lwe}, as well as the construction of the group signature scheme proven fully-secure in the standard model.
This work have been presented at Asiacrypt'16~\cite{LLM+16a} and have been done with Benoît Libert, San Ling, Khoa Nguyen and Huaxiong Wang.
\subsection{Adaptive Oblivious Transfer}
Oblivious transfer is a primitive coined by Rabin~\cite{Rab81} and later extended by Even, Goldreich and Lempel~\cite{EGL85}.