X-Git-Url: http://git.euphorik.ch/?a=blobdiff_plain;f=rapport%2Fmain.tex;h=f2e5ba587a4ea78a0c6190848d945cbe2423693f;hb=d061bc06b7e5681e9da4c2c0b7642f50d126ff76;hp=b9ab2588b8afc218e0490a54e0b17eab1fb3d762;hpb=91989c2627abc2cdf511f17169e4f862dc55e838;p=crypto_lab3.git diff --git a/rapport/main.tex b/rapport/main.tex index b9ab258..f2e5ba5 100644 --- a/rapport/main.tex +++ b/rapport/main.tex @@ -28,13 +28,79 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{RSA-CRT} + +\subsection{Implémentation} + +L'implémentation utilise le langage \emph{C++11}, le compilateur \emph{GCC} 4.9.1, la \emph{library} \emph{GMP} 6.0.0 ainsi que la système de \emph{build} \emph{QBS}~\footnote{\url{http://qt-project.org/wiki/qbs}}. + +Le fichier \emph{*.qbs} peut-être ouvert à l'aide de l'environnement de développement \emph{Qt Creator}~\footnote{\url{http://qt-project.org/wiki/Category:Tools::QtCreator}}. + + +\subsubsection*{Question 1.1 : Comment s'assure-t-on que les routines implémentées fonctionnent correctement ?} + +Pour chaque version, standard et restes chinois, une paire de clefs est générée puis trois messages sont testés avec des valeurs différentes correspondantes à $n$, $n-1$ et $n / 2$. Pour le premier cas la vérification de la signature ne doit pas fonctionner car le \emph{plaintext} est trop grand, dans les deux autres cas, on vérifie la signature ainsi qu'une signature altérée (incrémentée de 1). + +Les tests peuvent être lancés avec la commande suivante : + +\begin{verbatim} +qbs run -- tests +\end{verbatim} + + +\subsubsection*{Question 1.2 : Quel est le gain en terme de temps d'exécution lors de la création d'une signature avec \emph{RSA-CRT} par rapport à la version standard ?} + +Les mesures sont réalisées en générant $20'000$ signatures. Vingt paires de clefs différentes sont utilisées. + +Les temps sont mesurés à l'aide de la commande suivante : + +\begin{verbatim} +qbs run release -- time-measures +\end{verbatim} + +\begin{itemize} + \item \emph{RSA} standard : $14'800\, ms$ ($740\, \mu s$ par signature). + \item \emph{RSA CRT} : $4'466\, ms$ ($223, \mu s$ par signature). +\end{itemize} + +La génération de signature avec \emph{RSA CRT} est en moyenne 3.25 fois plus rapide. + + +\subsubsection*{Question 1.3 : Quels sont les valeurs que l'on peut pré-calculer est stocker hormis $n$ et $d$ afin d'améliorer la vitesse de calcul d'une signature avec \emph{RSA-CRT} ?} + +[TODO] +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{L'attaque de \emph{Boneh-DeMillo-Lipton}} + +\subsection{Fonctionnement} + +http://crypto.stanford.edu/~dabo/abstracts/faults.html + +(maths) + +\subsubsection*{Question 2.1 : En pratique, comment est-il possible d'introduire des fautes dans l'implémentation d'un algorithme cryptographique ?} + + + +\subsubsection*{Est-ce que cette attaque fonctionne dans le cas d'un bourrage non détérministe ?} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Le \flqq truc \frqq de \emph{Shamir}} + +\subsection{Fonctionnement} + +(maths) + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Conclusion} % http://en.wikipedia.org/wiki/RSA_%28cryptosystem%29 + %\bibliographystyle{plain} %\bibliography{main}