Start structure

This commit is contained in:
Fabrice Mouhartem 2017-12-19 15:25:47 +01:00
parent 245a6c8ded
commit 4a1e6fd552
8 changed files with 264 additions and 107 deletions

2
abstract.tex Normal file
View File

@ -0,0 +1,2 @@
\chapter*{Résumé}
\addcontentsline{toc}{chapter}{Résumé}

View File

@ -1,3 +1,6 @@
\thispagestyle{empty}
\chapter*{Remerciements}
\addcontentsline{toc}{chapter}{Remerciements}
\begin{otherlanguage}{french}
\end{otherlanguage}

3
chap-introduction.tex Normal file
View File

@ -0,0 +1,3 @@
\chapter{Introduction}
\pagenumbering{arabic}
\pagestyle{fancy}

90
chap-lattices.tex Normal file
View File

@ -0,0 +1,90 @@
\chapter{Lattices}
A (full-rank) lattice~$L$ is defined as the set of all integer linear
combinations of some linearly independent basis
vectors~$(\mathbf{b}_i)_{i\leq n}$ belonging to some~$\RR^n$. We work with $q$-ary lattices, for some prime $q$.
\begin{definition} \label{de:qary-lattices}
Let~$m \geq n \geq 1$, a prime~$q \geq 2$, $\mathbf{A} \in \ZZ_q^{n \times m}$ and $\mathbf{u} \in \ZZ_q^n$, define
$\Lambda_q(\mathbf{A}) := \{ \mathbf{e} \in \ZZ^m \mid \exists \mathbf{s} \in \ZZ_q^n ~\text{ s.t. }~\mathbf{A}^T \cdot \mathbf{s} = \mathbf{e} \bmod q \}$ as well as
\begin{align*}
\Lambda_q^{\perp} (\mathbf{A}) &:= \{\mathbf{e} \in \ZZ^m \mid \mathbf{A} \cdot \mathbf{e} = \mathbf{0}^n \bmod q \},&
\Lambda_q^{\mathbf{u}} (\mathbf{A}) &:= \{\mathbf{e} \in \ZZ^m \mid \mathbf{A} \cdot \mathbf{e} = \mathbf{u} \bmod q \}
\end{align*}
For any $\mathbf{t} \in \Lambda_q^{\mathbf{u}} (\mathbf{A})$, $\Lambda_q^{\mathbf{u}}(\mathbf{A})=\Lambda_q^{\perp}(\mathbf{A}) + \mathbf{t}$ so that $\Lambda_q^{\mathbf{u}} (\mathbf{A}) $
is a shift of $\Lambda_q^{\perp} (\mathbf{A})$.
\end{definition}
\noindent For a lattice~$L$, a vector $\mathbf{c} \in \RR^n$ and a real~$\sigma>0$, define the function
$\rho_{\sigma,\mathbf{c}}(\mathbf{x}) = \exp(-\pi\|\mathbf{x}- \mathbf{c} \|^2/\sigma^2)$.
The discrete Gaussian distribution of support~$L$, parameter~$\sigma$ and center $\mathbf{c}$ is defined as
$D_{L,\sigma,\mathbf{c}}(\mathbf{y}) = \rho_{\sigma,\mathbf{c}}(\mathbf{y})/\rho_{\sigma,\mathbf{c}}(L)$ for any $\mathbf{y} \in L$.
We denote by $D_{L,\sigma }(\mathbf{y}) $ the distribution centered in $\mathbf{c}=\mathbf{0}$.
We will extensively use the fact that samples
from~$D_{L,\sigma}$ are short with overwhelming probability.
\begin{lemma}[{\cite[Le.~1.5]{Bana93}}]
\label{le:small}
For any lattice~$L \subseteq
\RR^n$ and positive real number~$\sigma>0$,
we have $\Pr_{\mathbf{b} \sample D_{L,\sigma}} [\|\mathbf{b}\|
\leq \sqrt{n} \sigma] \geq 1-2^{-\Omega(n)}.$
\end{lemma}
\noindent As shown by Gentry {\em et al.}~\cite{GePeVa08}, Gaussian
distributions with lattice support can be sampled efficiently
given a sufficiently short basis of the lattice.
\begin{lemma}[{\cite[Le.~2.3]{BLPRS13}}]
\label{le:GPV}
There exists a $\PPT$ (probabilistic polynomial-time) algorithm $\textsf{GPVSample}$ that takes as inputs a
basis~$\mathbf{B}$ of a lattice~$L \subseteq \ZZ^n$ and a
rational~$\sigma \geq \|\widetilde{\mathbf{B}}\| \cdot \Omega(\sqrt{\log n})$,
and outputs vectors~$\mathbf{b} \in L$ with distribution~$D_{L,\sigma}$.
\end{lemma}
%We
%use an algorithm that jointly samples a uniform~$\mathbf{A}$ and a short
%basis of~$\Lambda_q^{\perp}(\mathbf{A})$.
\begin{lemma}[{\cite[Th.~3.2]{AlPe09}}]
\label{le:TrapGen}
There exists a $\PPT$ algorithm $\TrapGen$ that takes as inputs $1^n$,
$1^m$ and an integer~$q \geq 2$ with~$m \geq \Omega(n \log q)$, and
outputs a matrix~$\mathbf{A} \in \ZZ_q^{n \times m}$ and a
basis~$\mathbf{T}_{\mathbf{A}}$ of~$\Lambda_q^{\perp}(\mathbf{A})$ such
that~$\mathbf{A}$ is within statistical distance~$2^{-\Omega(n)}$
to~$U(\ZZ_q^{n \times m})$, and~$\|\widetilde{\mathbf{T}_{\mathbf{A}}}\| \leq
\bigO(\sqrt{n \log q})$.
\end{lemma}
\noindent Lemma~\ref{le:TrapGen} is often combined with the sampler from Lemma~\ref{le:GPV}. Micciancio and Peikert~\cite{MiPe12} recently proposed a more efficient
approach for this combined task, which should be preferred in practice but, for the sake of simplicity, we present our schemes using~$\TrapGen$.
We also make use of an algorithm that extends a trapdoor for~$\mathbf{A} \in \ZZ_q^{n \times m}$ to a trapdoor of any~$\mathbf{B} \in \ZZ_q^{n \times m'}$ whose left~$n \times m$
submatrix is~$\mathbf{A}$.
\begin{lemma}[{\cite[Le.~3.2]{CaHoKiPe10}}]\label{lem:extbasis}
There exists a $\PPT$ algorithm $\ExtBasis$ that takes as inputs a
matrix~$\mathbf{B} \in \ZZ_q^{n \times m' }$ whose first~$m$ columns
span~$\ZZ_q^n$, and a basis~$\mathbf{T}_{\mathbf{A}}$
of~$\Lambda_q^{\perp}(\mathbf{A})$ where~$\mathbf{A}$ is the left~$n \times
m$ submatrix of~$\mathbf{B}$, and outputs a basis~$\mathbf{T}_{\mathbf{B}}$
of~$\Lambda_q^{\perp}(\mathbf{B})$ with~$\|\widetilde{\mathbf{T}_{\mathbf{B}}}\|
\leq \|\widetilde{\mathbf{T}_{\mathbf{A}}}\|$.
\end{lemma}
\noindent In our security proofs, analogously to \cite{Boy10,BHJKS15} we also use a technique due to Agrawal, Boneh and Boyen~\cite{ABB1} that implements
an all-but-one trapdoor mechanism (akin to the one of Boneh and Boyen \cite{BB04}) in the lattice setting.
%In other words we need the following algorithm:
\begin{lemma}[{\cite[Th.~19]{ABB1}}]\label{lem:sampler}
There exists a $\PPT$ algorithm $\SampleR$ that takes as inputs matrices $\mathbf A, \mathbf C \in \ZZ_q^{n \times m}$, a low-norm matrix $\mathbf R \in \ZZ^{m \times m}$,
a short basis $\mathbf{T_C} \in \ZZ^{m \times m}$ of $\Lambda_q^{\perp}(\mathbf{C})$, a vector $\mathbf u \in \ZZ_q^{n}$ and a rational $\sigma$ such that $\sigma \geq \|
\widetilde{\mathbf{T_C}}\| \cdot \Omega(\sqrt{\log n})$, and outputs a short vector $\mathbf{b} \in \ZZ^{2m}$ such that $\left[ \begin{array}{c|c} \mathbf A ~ &~ \mathbf A
\cdot \mathbf R + \mathbf C \end{array} \right]\cdot \mathbf b = \mathbf u \bmod q$ and with distribution statistically close to $D_{L,\sigma}$ where $L$ denotes the shifted
lattice $\Lambda^\mathbf{u}_q \left( \left[ \begin{array}{c|c} \mathbf A ~&~ \mathbf A \cdot \mathbf R + \mathbf C \end{array} \right] \right)$.
%$\{ \mathbf x \in \ZZ^{2 m} : \left[ \begin{array}{c|c} \mathbf A ~&~ \mathbf A \cdot \mathbf R + \mathbf C \end{array} \right] \cdot \mathbf x = \mathbf u \bmod q \}$.
\end{lemma}

1
chap-pairings.tex Normal file
View File

@ -0,0 +1 @@
\chapter{Pairing-based cryptography}

196
garde.tex
View File

@ -1,98 +1,98 @@
%%%%%%%%%%%%%%%%
% modèle de page de garde pour une thèse de l'Université de Lyon (version de mars 2016)
% Attention ! Encodage UTF8 ! Sinon adapter en conséquence...
%%%%%%%%%%%%%%%%
\documentclass[11pt,a4paper]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage[french]{babel}
\usepackage[inner=2.5cm,outer=2.5cm, top=2.5cm, bottom=2.5cm]{geometry}
\begin{document}
\setlength{\parindent}{0pt}
\thispagestyle{empty}
\begin{center}
\includegraphics[height=3cm]{logo} %le fichier "logo" doit être dans le même dossier que le fichier tex
\end{center}
\fontsize{11pt}{13pt}\selectfont
N\textsuperscript{o} d'ordre NNT : xxx
\vspace{1cm}
\begin{center}
\fontsize{14pt}{16pt}\selectfont
\textbf{\uppercase{Thèse de doctorat de l'université de Lyon}}\\
\fontsize{12pt}{14pt}\selectfont
opérée au sein de\\
\textbf{l'École Normale Supérieure de Lyon}
\vspace{0.5cm}
\textbf{École Doctorale ED512\\% rectifier le numéro d'accréditation
École Doctorale en Informatique et Mathématiques de Lyon}% nom complet de l'école doctorale
\vspace{0.5cm}
\textbf{Spécialité de doctorat : Informatique\\
%Discipline : } % éventuellement
}
\vspace{1.5cm}
Soutenue publiquement le jj/mm/aaaa, par :\\
\fontsize{14pt}{16pt}\selectfont
\textbf{Fabrice Mouhartem}
\vspace{1.5cm} % adapter à la longueur du titre
\rule[20pt]{\textwidth}{0.5pt}
\fontsize{25pt}{28pt}\selectfont
\textbf{Cryptographie protégeant la vie privée avec des fonctionalités avancées}
\rule{\textwidth}{0.5pt}
\vspace{2cm} % adapter à la longueur du titre
\end{center}
\fontsize{12pt}{14pt}\selectfont
Devant le jury composé de :
\bigskip
\fontsize{11pt}{13pt}\selectfont
%Nom Prénom, grade/qualité, établissement/entreprise \hfill Président(e) % mention "président" à ne préciser qu'après la soutenance
%\bigskip
Nom Prénom, grade/qualité, établissement/entreprise \hfill Rapporteur(e)
Nom Prénom, grade/qualité, établissement/entreprise \hfill Rapporteur(e)
Nom Prénom, grade/qualité, établissement/entreprise \hfill Examinateur/trice
Nom Prénom, grade/qualité, établissement/entreprise \hfill Examinateur/trice
\bigskip
%Nom Prénom, grade/qualité, établissement/entreprise \hfill Directeur/trice de thèse
Benoît Libert, Directeur de Recherche, CNRS et École Normale Supérieure de Lyon\hfill Directeur de thèse
%Nom Prénom, grade/qualité, établissement/entreprise \hfill Co-directeur/trice de thèse % le cas échéant
%Nom Prénom, grade/qualité, établissement/entreprise \hfill Invité(e) % le cas échéant
\newpage
%\fontsize{12pt}{14pt}\selectfont % si le document général n'est pas en police 11pt, décommenter et préciser la taille utilisée
% Suite du manuscrit
\end{document}
%%%%%%%%%%%%%%%%
% modèle de page de garde pour une thèse de l'Université de Lyon (version de mars 2016)
% Attention ! Encodage UTF8 ! Sinon adapter en conséquence...
%%%%%%%%%%%%%%%%
\documentclass[11pt,a4paper]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage[french]{babel}
\usepackage[inner=2.5cm,outer=2.5cm, top=2.5cm, bottom=2.5cm]{geometry}
\begin{document}
\setlength{\parindent}{0pt}
\thispagestyle{empty}
\begin{center}
\includegraphics[height=3cm]{logo} %le fichier "logo" doit être dans le même dossier que le fichier tex
\end{center}
\fontsize{11pt}{13pt}\selectfont
N\textsuperscript{o} d'ordre NNT : xxx
\vspace{1cm}
\begin{center}
\fontsize{14pt}{16pt}\selectfont
\textbf{\uppercase{Thèse de doctorat de l'université de Lyon}}\\
\fontsize{12pt}{14pt}\selectfont
opérée au sein de\\
\textbf{l'École Normale Supérieure de Lyon}
\vspace{0.5cm}
\textbf{École Doctorale ED512\\% rectifier le numéro d'accréditation
École Doctorale en Informatique et Mathématiques de Lyon}% nom complet de l'école doctorale
\vspace{0.5cm}
\textbf{Spécialité de doctorat : Informatique\\
%Discipline : } % éventuellement
}
\vspace{1.5cm}
Soutenue publiquement le jj/mm/aaaa, par :\\
\fontsize{14pt}{16pt}\selectfont
\textbf{Fabrice Mouhartem}
\vspace{1.5cm} % adapter à la longueur du titre
\rule[20pt]{\textwidth}{0.5pt}
\fontsize{25pt}{28pt}\selectfont
\textbf{Cryptographie protégeant la vie privée avec des fonctionalités avancées}
\rule{\textwidth}{0.5pt}
\vspace{2cm} % adapter à la longueur du titre
\end{center}
\fontsize{12pt}{14pt}\selectfont
Devant le jury composé de :
\bigskip
\fontsize{11pt}{13pt}\selectfont
%Nom Prénom, grade/qualité, établissement/entreprise \hfill Président(e) % mention "président" à ne préciser qu'après la soutenance
%\bigskip
Nom Prénom, grade/qualité, établissement/entreprise \hfill Rapporteur(e)
Nom Prénom, grade/qualité, établissement/entreprise \hfill Rapporteur(e)
Nom Prénom, grade/qualité, établissement/entreprise \hfill Examinateur/trice
Nom Prénom, grade/qualité, établissement/entreprise \hfill Examinateur/trice
\bigskip
%Nom Prénom, grade/qualité, établissement/entreprise \hfill Directeur/trice de thèse
Benoît Libert, Directeur de Recherche, CNRS et ENS de Lyon\hfill Directeur de thèse
%Nom Prénom, grade/qualité, établissement/entreprise \hfill Co-directeur/trice de thèse % le cas échéant
%Nom Prénom, grade/qualité, établissement/entreprise \hfill Invité(e) % le cas échéant
\newpage
%\fontsize{12pt}{14pt}\selectfont % si le document général n'est pas en police 11pt, décommenter et préciser la taille utilisée
% Suite du manuscrit
\end{document}

18
macros.tex Normal file
View File

@ -0,0 +1,18 @@
% Abbreviations
%% Usual
\newcommand{\PPT}{\textsf{PPT}\xspace}
%% Algorithms
\newcommand{\TrapGen}{\textsf{TrapGen}\xspace}
\newcommand{\ExtBasis}{\textsf{ExtBasis}\xspace}
\newcommand{\SampleR}{\textsf{SampleR}\xspace}
% Operators
\newcommand{\sample}{\xspace\ensuremath{\hookleftarrow}\xspace}
\newcommand{\bigO}{\ensuremath{\mathcal{O}}}
% Sets
%% Usual sets
\newcommand{\RR}{\xspace\ensuremath{\mathbb{R}}\xspace}
\newcommand{\ZZ}{\xspace\ensuremath{\mathbb{Z}}\xspace}
\newcommand{\CC}{\xspace\ensuremath{\mathbb{C}}\xspace}
\newcommand{\QQ}{\xspace\ensuremath{\mathbb{Q}}\xspace}

View File

@ -1,26 +1,66 @@
\documentclass[a4paper]{book}
\documentclass[a4paper, 11pt]{memoir}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage[utf8x]{inputenc}
\usepackage[french,english]{babel}
%\usepackage[UKenglish]{babel}
\usepackage[T1]{fontenc}
\usepackage{libertine}
\usepackage{fancyhdr}
\pagestyle{fancy}
\usepackage[pagebackref]{hyperref}
\renewcommand*{\backref}[1]{}
\renewcommand*{\backrefalt}[4]{\small Citations: \S{} #4}
\hypersetup{colorlinks=true, linkcolor=black!50!blue, citecolor=black!50!green, breaklinks=true}
\usepackage{amsmath, amssymb, mathrsfs}
\usepackage{amsthm}
\usepackage{pdfpages}
\newtheorem{theorem}{Theorem}
\newtheorem{lemma}{Lemma}
\theoremstyle{definition}
\newtheorem{definition}{Definition}
\title{}
\author{}
\date{}
\usepackage{pdfpages}
\usepackage{xspace}
\input macros
\title{Cryptographie protégeant la vie privée avec des fonctionnalité avancées}
\author{Fabrice Mouhartem}
\date{\today}
\begin{document}
\pagenumbering{roman}
\includepdf{garde.pdf}
\pagestyle{empty}
%%%%%%%%%%%%%
% Décidaces %
%%%%%%%%%%%%%
\cleardoublepage
\vspace*{\stretch{1}}
\begin{flushright}
À \ldots
\end{flushright}
\vspace*{\stretch{2}}
\input acknowledgements
\input abstract
\tableofcontents
\addcontentsline{toc}{chapter}{Contents}
\input chap-introduction
\part{Background and definitions}
\input chap-lattices
\input chap-pairings
\bibliographystyle{alpha}
\bibliography{these.bib}
\end{document}
% vim: spl=en