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} \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) % 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... % Attention ! Encodage UTF8 ! Sinon adapter en conséquence...
%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%
\documentclass[11pt,a4paper]{book} \documentclass[11pt,a4paper]{book}
\usepackage[utf8]{inputenc} \usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc} \usepackage[T1]{fontenc}
\usepackage{graphicx} \usepackage{graphicx}
\usepackage[french]{babel} \usepackage[french]{babel}
\usepackage[inner=2.5cm,outer=2.5cm, top=2.5cm, bottom=2.5cm]{geometry} \usepackage[inner=2.5cm,outer=2.5cm, top=2.5cm, bottom=2.5cm]{geometry}
\begin{document} \begin{document}
\setlength{\parindent}{0pt} \setlength{\parindent}{0pt}
\thispagestyle{empty} \thispagestyle{empty}
\begin{center} \begin{center}
\includegraphics[height=3cm]{logo} %le fichier "logo" doit être dans le même dossier que le fichier tex \includegraphics[height=3cm]{logo} %le fichier "logo" doit être dans le même dossier que le fichier tex
\end{center} \end{center}
\fontsize{11pt}{13pt}\selectfont \fontsize{11pt}{13pt}\selectfont
N\textsuperscript{o} d'ordre NNT : xxx N\textsuperscript{o} d'ordre NNT : xxx
\vspace{1cm} \vspace{1cm}
\begin{center} \begin{center}
\fontsize{14pt}{16pt}\selectfont \fontsize{14pt}{16pt}\selectfont
\textbf{\uppercase{Thèse de doctorat de l'université de Lyon}}\\ \textbf{\uppercase{Thèse de doctorat de l'université de Lyon}}\\
\fontsize{12pt}{14pt}\selectfont \fontsize{12pt}{14pt}\selectfont
opérée au sein de\\ opérée au sein de\\
\textbf{l'École Normale Supérieure de Lyon} \textbf{l'École Normale Supérieure de Lyon}
\vspace{0.5cm} \vspace{0.5cm}
\textbf{École Doctorale ED512\\% rectifier le numéro d'accréditation \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 École Doctorale en Informatique et Mathématiques de Lyon}% nom complet de l'école doctorale
\vspace{0.5cm} \vspace{0.5cm}
\textbf{Spécialité de doctorat : Informatique\\ \textbf{Spécialité de doctorat : Informatique\\
%Discipline : } % éventuellement %Discipline : } % éventuellement
} }
\vspace{1.5cm} \vspace{1.5cm}
Soutenue publiquement le jj/mm/aaaa, par :\\ Soutenue publiquement le jj/mm/aaaa, par :\\
\fontsize{14pt}{16pt}\selectfont \fontsize{14pt}{16pt}\selectfont
\textbf{Fabrice Mouhartem} \textbf{Fabrice Mouhartem}
\vspace{1.5cm} % adapter à la longueur du titre \vspace{1.5cm} % adapter à la longueur du titre
\rule[20pt]{\textwidth}{0.5pt} \rule[20pt]{\textwidth}{0.5pt}
\fontsize{25pt}{28pt}\selectfont \fontsize{25pt}{28pt}\selectfont
\textbf{Cryptographie protégeant la vie privée avec des fonctionalités avancées} \textbf{Cryptographie protégeant la vie privée avec des fonctionalités avancées}
\rule{\textwidth}{0.5pt} \rule{\textwidth}{0.5pt}
\vspace{2cm} % adapter à la longueur du titre \vspace{2cm} % adapter à la longueur du titre
\end{center} \end{center}
\fontsize{12pt}{14pt}\selectfont \fontsize{12pt}{14pt}\selectfont
Devant le jury composé de : Devant le jury composé de :
\bigskip \bigskip
\fontsize{11pt}{13pt}\selectfont \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 %Nom Prénom, grade/qualité, établissement/entreprise \hfill Président(e) % mention "président" à ne préciser qu'après la soutenance
%\bigskip %\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 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
Nom Prénom, grade/qualité, établissement/entreprise \hfill Examinateur/trice Nom Prénom, grade/qualité, établissement/entreprise \hfill Examinateur/trice
\bigskip \bigskip
%Nom Prénom, grade/qualité, établissement/entreprise \hfill Directeur/trice de thèse %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 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 Co-directeur/trice de thèse % le cas échéant
%Nom Prénom, grade/qualité, établissement/entreprise \hfill Invité(e) % le cas échéant %Nom Prénom, grade/qualité, établissement/entreprise \hfill Invité(e) % le cas échéant
\newpage \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 %\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 % Suite du manuscrit
\end{document} \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[utf8x]{inputenc}
\usepackage[french]{babel} \usepackage[french,english]{babel}
%\usepackage[UKenglish]{babel} %\usepackage[UKenglish]{babel}
\usepackage[T1]{fontenc} \usepackage[T1]{fontenc}
\usepackage{libertine} \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{amsmath, amssymb, mathrsfs}
\usepackage{amsthm} \usepackage{amsthm}
\usepackage{pdfpages} \newtheorem{theorem}{Theorem}
\newtheorem{lemma}{Lemma}
\theoremstyle{definition}
\newtheorem{definition}{Definition}
\title{} \usepackage{pdfpages}
\author{} \usepackage{xspace}
\date{}
\input macros
\title{Cryptographie protégeant la vie privée avec des fonctionnalité avancées}
\author{Fabrice Mouhartem}
\date{\today}
\begin{document} \begin{document}
\pagenumbering{roman} \pagenumbering{roman}
\includepdf{garde.pdf} \includepdf{garde.pdf}
\pagestyle{empty} \pagestyle{empty}
%%%%%%%%%%%%%
% Décidaces %
%%%%%%%%%%%%%
\cleardoublepage
\vspace*{\stretch{1}}
\begin{flushright}
À \ldots
\end{flushright}
\vspace*{\stretch{2}}
\input acknowledgements \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} \end{document}
% vim: spl=en