\documentclass[a4paper,10pt,twocolumn]{article} % To include images \usepackage{graphicx} % Change the margins of the document \usepackage[top=1.5cm,bottom=2cm,left=1.5cm,right=1.5cm]{geometry} % No indentation but a wider space between the paragraphs \setlength{\parindent}{0cm} \setlength{\parskip}{2mm} % Add a rule between the two columns and enlarge the space \setlength{\columnseprule}{.5pt} \setlength{\columnsep}{1cm} % French language \usepackage[francais]{babel} \usepackage[utf8]{inputenc} % Math extensions \usepackage{amsfonts} \usepackage{amstext} \usepackage{amsmath} \usepackage{mathbbol} % Customize theorems \usepackage{theorem} \theoremstyle{break} % Some useful shortcuts \newcommand{\A}{\mathcal{A}} \newcommand{\C}{\mathcal{C}} \newcommand{\F}{\mathbb{F}} \newcommand{\Poly}{\mathbb{P}} \newcommand{\FF}{\F_2} \newcommand{\FFn}[1]{\FF^{#1}} \newcommand{\Zn}[1]{\mathbb{Z}_{#1}} \newcommand{\Zp}{\Zn{p}} \newcommand{\dg}[1]{\mathrm{d}^\circ(#1)} \newcommand{\cy}[1]{{<}#1{>}} % Definition of new environments \newtheorem{mydef}{Définition} \newtheorem{myprop}{Proposition} \newtheorem{myth}{Théorème} \newtheorem{mylemma}{Lemme} \newtheorem{mycor}{Corolaire} \newenvironment{note}[1] {\textbf{#1}:} {} \newenvironment{mydem} {\begin{note}{Démonstration}} {\end{note}} \newenvironment{myproof} {\begin{note}{Preuve}} {\end{note}} \newenvironment{remarque} {\begin{note}{Remarque}} {\end{note}} \newenvironment{proprietes} {\begin{note}{Propriétés}} {\end{note}} \newenvironment{exemple} {\begin{note}{Exemple}} {\end{note}} % Metadata \title{Devoir de Cryptographie} \author{Nicolas MASSE \\ \texttt{nicolas27.masse@laposte.net}} \date{2006-2007} \begin{document} \maketitle \section{Preuves de sécurité} \subsection{Question 1} Il est possible de vérifier la signature en utilisant la signature, la clé publique et le condensé du message : $$ P\sigma \stackrel{?}{=} A.H(m) $$ En effet, $P\sigma = P.a.H(m) = A.H(m)$. \subsection{Question 2} La sécurité de référence pour un schéma de signature a été présenté par \textsc{Goldwasser}, \textsc{Mirali} et \textsc{Rivest}. Il s'agit d'EF-CMA (Existential Forgery, Chosen Message Attack). Il s'agit de l'attaque la plus facile à mener pour un attaquant. \subsection{Question 4} Le problème calculatoire Diffie-Hellman (CDH) consiste à retrouver $g^{ab}$ à partir de $g^a$ et $g^b$. \subsection{Question 5} L'idée serait d'utiliser la relation $e(aP,bP) = e(P,P)^{ab}$ avec $e(P,P) = g$. \section{Logarithme composite} \subsection{Question 1} On sait que $g \in \Zn{n}^{*}$; c'est à dire que $g$ est inversible. On en déduit alors que $$pgcd(g,n) = 1$$ Et d'après le théorème d'Euler, on a $g^{\varphi(n)} \equiv 1 \mod n$. On sait que $g^{\varphi(n)} = 1$. On a donc \begin{eqnarray*} g^{\varphi(n)} & = & g^0 \\ g^{(p-1)(q-1)} & = & g^0 \\ g^{pq-p-q+1} & = & g^0 \\ g^{pq+1} g^{-(p+q)} & = & g^0 \\ g^{n+1} & = & g^{p+q} \end{eqnarray*} \subsection{Question 2} On sait que \begin{eqnarray*} \varphi(n) & = & (p-1)(q-1) \\ & = & pq -p -q +1 \\ & = & n -(p+q) +1 \end{eqnarray*} C'est-à-dire que si on connait $n$ et $p+q$, on connait également $\varphi(n)$. Et à partir de $\varphi(n)$ on peut retrouver $p$ et $q$. \begin{eqnarray*} \varphi(n) & = & (p-1)(q-1) \\ \varphi(n) & = & (p-1)(\frac{n}{p}-1) \\ \varphi(n) & = & n - p - \frac{n}{p} + 1 \\ \varphi(n) - n + p + \frac{n}{p} - 1 & = & 0 \\ p^2 + (\varphi(n) - n - 1)p + n & = & 0 \end{eqnarray*} Et connaissant $p$, il est trivial de trouver $q$. \subsection{Question 3} Si $f > p + q$, alors il est possible d'utiliser l'algorithme A pour factoriser $n$: \begin{eqnarray*} g^{n + 1} & = & g^{\varphi(n) + (p+q)} \\ & = & g^{\varphi(n)} . g^{p+q} \\ & = & g^{p+q} \end{eqnarray*} Le calcul de $\log_{(n,g)}(g^{n+1})$ permet de retrouver $p + q$, et donc de factoriser $n$. La complexité de B est alors équivalente à celle de A. \subsection{Question 4} La réciproque, c'est à dire la construction de A à partir de B n'est pas vraie, la factorisation de $n$ ne suffisant pas pour obtenir le logarithme discret. \end{document}