X-Git-Url: http://git.euphorik.ch/?p=crypto_lab3.git;a=blobdiff_plain;f=rapport%2Fmain.tex;h=f02d7b6d6083ec5744e9c62a584948503798947e;hp=f8ebe680ed982cd3704f4c835388b7216c3a2770;hb=22aac262156e81085b22bdfcd0cc38950768be9b;hpb=2745bc6570ac32789650336b8c84a52d1883c62a diff --git a/rapport/main.tex b/rapport/main.tex index f8ebe68..f02d7b6 100644 --- a/rapport/main.tex +++ b/rapport/main.tex @@ -73,6 +73,7 @@ La génération de signature avec \emph{RSA CRT} est en moyenne 3.25 fois plus r Les valeurs de $p$, $q$, $d_p$, $d_q$ et $q_{inv}$ sont mémorisées en tant que clef privée. Celles ci sont calculées comme suit. +{\setlength{\abovedisplayskip}{-4pt} \begin{flalign*} e &= 65537 \\ \mathbf{p, q} &&\text{deux nombres premiers de 512 bits choisis de manière aléatoire} \\ @@ -81,12 +82,13 @@ Les valeurs de $p$, $q$, $d_p$, $d_q$ et $q_{inv}$ sont mémorisées en tant que d &= e^{-1} ~(mod ~\varphi(n)) \\ \mathbf{d_p} &= d ~(mod ~p - 1) \\ \mathbf{d_q} &= d ~(mod ~q - 1) \\ - \mathbf{q_{inv}} &= q^{-1} ~(mod p) + \mathbf{q_{inv}} &= q^{-1} ~(mod ~p) \end{flalign*} La signature $sig$ du message $m$ peut être ensuite calculée comme suit. +{\setlength{\abovedisplayskip}{-4pt} \begin{flalign*} s_p &= m^{d_p} ~(mod ~p) &\\ s_q &= m^{d_q} ~(mod ~q) \\ @@ -101,6 +103,7 @@ La signature $sig$ du message $m$ peut être ensuite calculée comme suit. D'après le document \cite{Boneh-DeMillo-Lipton-attack} : +{\setlength{\abovedisplayskip}{-4pt} \begin{flalign*} q &= gcd(m - sign'^e, n) & \end{flalign*} @@ -109,12 +112,13 @@ Où : \begin{itemize} \item $m$ : le message signé avec $sign'$ - \item $sign'$ : la signature calculé avec un $p$ altéré. + \item $sign'$ : la signature calculée avec un $p$ altéré. \end{itemize} Nous pouvons alors facilement retrouver $p$: +{\setlength{\abovedisplayskip}{-4pt} \begin{flalign*} p &= n / q & \end{flalign*} @@ -134,9 +138,24 @@ Voici une liste de techniques issues du document \cite{Barenghi-Breveglieri-Kore \item Exposition à une lumière intense. \end{itemize} +Il faut aussi ajouté qu'il est également possible d'utiliser des failles logicielles afin d'introduire des anomalies. -\subsubsection*{Est-ce que cette attaque fonctionne dans le cas d'un bourrage non déterministe ?} +\subsubsection*{Question 2.2 : Est-ce que cette attaque fonctionne dans le cas d'un bourrage non déterministe ?} + +Oui, il est possible de récupérer $p$ ou $q$ s'il l'on possède une signature valide mais pas le message original : + +{\setlength{\abovedisplayskip}{-4pt} +\begin{flalign*} + q &= gcd(sign - sign'^e, n) & +\end{flalign*} + +Où : + +\begin{itemize} + \item $sign$ : la signature correctement calculée. + \item $sign'$ : la signature calculée avec un $p$ altéré. +\end{itemize} @@ -154,14 +173,16 @@ qbs run -- attack \subsection{Fonctionnement} -(maths) -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\section{Conclusion} -% -% Fault Injection Attacks on Cryptographic Devices: Theory, Practice and Countermeasures + + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Conclusion} \bibliographystyle{plain}