%% This is a LaTeX document. Hey, Emacs, -*- latex -*- , get it? \documentclass[12pt]{article} \usepackage[francais]{babel} \usepackage[latin1]{inputenc} \usepackage{times} % A tribute to the worthy AMS: \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsthm} % \usepackage{mathrsfs} \usepackage{wasysym} \usepackage{url} % \theoremstyle{definition} \newtheorem{comcnt}{Tout}[subsection] \newcommand\thingy{% \refstepcounter{comcnt}\smallbreak\noindent\textbf{\thecomcnt.} } \newtheorem{defn}[comcnt]{Définition} \newtheorem{prop}[comcnt]{Proposition} \newtheorem{lem}[comcnt]{Lemme} \newtheorem{thm}[comcnt]{Théorème} \newtheorem{cor}[comcnt]{Corollaire} \newtheorem{rmk}[comcnt]{Remarque} \newtheorem{exmps}[comcnt]{Exemples} \newcommand{\limp}{\mathrel{\Rightarrow}} \newcommand{\liff}{\mathrel{\Longleftrightarrow}} \newcommand{\pgcd}{\operatorname{pgcd}} \newcommand{\ppcm}{\operatorname{ppcm}} \newcommand{\signe}{\operatorname{signe}} \newcommand{\tee}{\mathbin{\top}} \renewcommand{\qedsymbol}{\smiley} % % % \begin{document} \title{Rappels maths pour crypto} \author{David A. Madore} \maketitle {\footnotesize \begin{center} CVS: \verb=$Id: rappels-maths.tex,v 1.5 2008-10-14 11:04:11 david Exp $= \end{center} \par} \pretolerance=10000 \tolerance=8000 % % % \section{Entiers} \subsection{L'anneau des entiers} $\mathbb{Z}=\{\ldots,-3,-2,-1,0,1,2,3,\ldots\}$ ensemble des entiers relatifs. Sous-ensemble $\mathbb{N}$. Opérations : $+$, $\times$. Rappeler : $(\mathbb{Z},0,+)$ est un groupe abélien, $(\mathbb{Z},0,+,1,\times)$ est un anneau commutatif. Mieux : anneau intègre. Éléments inversibles : $1$ et $-1$. Relation d'ordre... % \subsection{Écriture $b$-adique} Si $b\geq 2$ est un entier naturel, tout entier naturel $A$ s'écrit de façon unique $A = \sum_{i=0}^{+\infty} a_i b^i$ avec $0\leq a_i1$, il y a toujours un nombre premier $p$ tel que $x\leq p < 2x$ (\v Ceby\v sëv : « postulat de Bertrand »). Le nombre $\pi(x)$ de nombres premiers $\leq x$ est équivalent à $\frac{x}{\ln x}$ lorsque $x\to +\infty$ (Hadamard \& de la Vallée Poussin : « théorème des nombres premiers »). Moralement : la probabilité qu'un nombre de $n$ bits aléatoire soit premier est environ $n\,\ln 2$. Beaucoup de questions ouvertes. Par exemple : Conjecture des nombres premiers jumeaux : existe-t-il une infinité de nombres premiers $p$ tels que $p+2$ soit aussi premier (tels que $3$, $5$, $11$, $17$, $29$, $41$, $59$, $71$...) ? \smallbreak \textbf{Lemme de Gauß :} pour $p$ premier, si $p$ divise $ab$ alors $p$ divise $a$ ou $p$ divise $b$. % \subsection{Décomposition en facteurs premiers} Pour tout entier $n$ \emph{non nul}, il existe une écriture \emph{unique} (à l'ordre près) de $n$ comme produit d'une \emph{unité} ($1$ ou $-1$) et de nombres premiers : en regroupant les facteurs premiers $p$, \[ n = u\, 2^{v_2(n)} \, 3^{v_3(n)} \cdots p^{v_p(n)}\cdots \] Ici, $v_p(n)$ (un entier naturel) est l'exposant de la plus grande puissance de $p$ qui divise $n$ : on l'appelle \emph{valuation $p$-adique} de $n$. Presque tous ces nombres sont nuls, ce qui permet de donner un sens au produit infini. Dire que $b|a$ signifie $v_p(b) \leq v_p(a)$ pour tout $p$. Quant à $u$, c'est simplement le signe de $n$. % \subsection{Remarques sur la complexité} Toujours pour des nombres de $n$ bits. \textbf{Tests de primalité :} \emph{polynomiaux}. Un test polynomial \emph{déterministe} est connu depuis seulement récemment (Agrawal-Kayal-Saxena), démontrablement en $O(n^{12})$, sans doute meilleur ($O(n^3)$ ?). En pratique, des tests probabilistes sont suffisants et plus efficaces (p.e., Miller-Rabin « pratiquement » en $O(n^2)$) éventuellement complétés par des certificats de primalité (p.e., test d'Atkin). \textbf{Algorithmes de factorisation :} \emph{lents}. Font appel à des résultats difficiles de théorie algébrique et analytique des nombres. La meilleure méthode connue (« méthode du crible général de corps de nombres ») a une complexité « attendue » (et heuristique) en $O(e^{n^{1/3}\,(\log n)^{2/3}\,(\textrm{cte}+o(1))})$ (avec $\textrm{cte} \approx 2$). On ne pourra donc pas envisager d'utiliser la décomposition en facteurs premiers pour calculer les pgcd. % \subsection{Valuation $p$-adique} Si $n$ est un entier et $p$ un nombre premier, $v_p(n)$ est l'exposant de la plus grande puissance de $p$ qui divise $n$. Si $a/b$ est un rationnel, on pose $v_p(a/b) = v_p(a)-v_p(b)$ (ne dépend pas de la représentation $a/b$ choisie). Par convention, $v_p(0) = +\infty$. Quelle est la valuation $2$-adique de $192$ ? $3$-adique ? $5$-adique ? Quelles sont les valuations $p$-adiques de $-\frac{24}{11}$, pour tous les $p$ possibles ? Propriétés de $v_p$ : produit (cf. lemme de Gauß), inégalité sur la somme (et cas d'égalité)... Dire que $x \in \mathbb{Q}$ est entier signifie exactement $v_p(x) \geq 0$ pour tout $p$. % \subsection{Division euclidienne} Si $a$ est un entier relatif et $b$ un entier naturel \emph{non nul}, il existe un unique couple $(q,r)$ tel que : \begin{itemize} \item $q$ est un entier relatif, \item $r$ est un entier naturel tel que $0\leq r