\documentclass[nofrench, 11pt]{thloria} %---------------------------------------------------------------------- % Chargement de quelques packages %---------------------------------------------------------------------- % Si l'on veut produire une version PDF avec distiller ou pdflatex : \usepackage[pageanchor=false]{tlhypref} % Si l'on produit le PDF avec pdflatex, ceci remplace la plupart % des polices EC par des polices CM, plus adaptées a la génération de PDF, % car ayant des équivalents PS : \usepackage{aeguill} % Pour tout savoir sur les polices % (cette ligne n'est pas nécessaire au traitement du fichier) \usepackage[infoshow]{tracefnt} % Pour les figures PS : \usepackage{graphicx} % Si on veut des mini-tables des matières (utiliser minitoc-hyper % en conjonction avec tlhypref) : \usepackage[french]{minitoc} % Pour mathds : les ensembles IR, IN, etc. \usepackage{dsfont} % Pour une police à casse fixe \usepackage{alltt} % Pour suspendre et reprendre des énumérations \usepackage{mdwlist} % Pour avoir des intervalles d'entiers \usepackage{stmaryrd} % Pour avoir de la couleur \usepackage{color} % Pour divers symboles de math \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amscd} % Pour redéfinir les théorèmes (ci-dessous) \usepackage{framed} \usepackage[amsmath,thmmarks,thref,framed]{ntheorem} % Pour le français \usepackage[french]{babel} \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage[utf8]{inputenc} \usepackage{pxfonts} % Pour avoir de belles têtes de chapitres \usepackage[Sonny]{fncychap} \usepackage{algorithm2e,algorithmic} % Pour avoir des citations au début des chapitres \usepackage{epigraph} % Redéfinition de la largeur des citations \setlength{\epigraphwidth}{8.25cm} \renewcommand{\textflush}{flushepinormal} % Pour les listings des codes python \usepackage{listing} \usepackage{listings} \lstset{% general command to set parameter(s) basicstyle=\small, % print whole listing small keywordstyle=\color{black}\bfseries, % underlined bold black keywords identifierstyle=, % nothing happens commentstyle=\color{white}, % white comments stringstyle=\ttfamily, % typewriter type for strings extendedchars = true, showstringspaces=false,% no special string spaces language=python} % Pour faire des sous-figures dans les figures \usepackage{subfigure} %Divers \usepackage{times} \usepackage{tabularx} \usepackage{sublabel} \usepackage{ctable} %------------------------------------------------------------------- % Corrections pour les imprimantes recto-verso % (A AJUSTER) %------------------------------------------------------------------- %\ShiftOddPagesRight{-1mm} %\ShiftOddPagesDown{2.5mm} %\ShiftEvenPagesRight{0mm} %\ShiftEvenPagesDown{0mm} %------------------------------------------------------------------- % Marges %------------------------------------------------------------------- % pour positionner les vraies marges: %\SetRealMargins{1mm}{1mm} %------------------------------------------------------------------- % En-tetes %------------------------------------------------------------------- % Les en-tetes: quelques exemples %\UppercaseHeadings %\UnderlineHeadings %\newcommand\bfheadings[1]{{\bf #1}} %\FormatHeadingsWith{\bfheadings} %\FormatHeadingsWith{\uppercase} %\FormatHeadingsWith{\underline} \newcommand\upun[1]{\uppercase{\underline{\underline{#1}}}} \FormatHeadingsWith\upun \newcommand\itheadings[1]{\textit{#1}} \FormatHeadingsWith{\itheadings} % pour avoir un trait sous l'en-tete: \setlength{\HeadRuleWidth}{0.4pt} %------------------------------------------------------------------- % Les references %------------------------------------------------------------------- \NoChapterNumberInRef \NoChapterPrefix % CREATION DE NOUVELLES COULEURS : gris5 \definecolor{gris}{gray}{0.35} %REDEFINITION DU STYLE DES PROPOSITIONS \theoremstyle{plain} \theoremprework{\medskip} \theoremheaderfont{\bfseries \scshape} %\theorembodyfont{\scshape \bfseries} \theoremseparator{ :} %\theorempostwork{\hrulefill} \theoremindent0.5cm \newtheorem{Prop}{Proposition}[part] %REDEFINITION DU STYLE DES COROLLAIRES \theoremstyle{plain} \theoremprework{\medskip} \theoremheaderfont{\bfseries \scshape} %\theorembodyfont{\scshape \bfseries} \theoremseparator{ :} %\theorempostwork{\hrulefill} \theoremindent0.5cm \newtheorem{Cor}{Corollaire}[part] %REDEFINITION DU STYLE DES THEOREMES \theoremstyle{plain} %\theoremprework{\medskip} \theoremheaderfont{\bfseries \scshape} %\theorembodyfont{\scshape \bfseries} \theoremseparator{ :} %\theorempostwork{\hrulefill} \theoremindent0.5cm \newframedtheorem{Th}{Théorème}[part] %REDEFINITION DU STYLE DES PREUVES \theoremheaderfont{\bfseries \scshape} \theoremstyle{nonumberplain} \theoremseparator{ :} \theorembodyfont{\slshape} \theoremprework{\begin{color}{gris}} \theorempostwork{\end{color}} %\theoremsymbol{\openbox} \theoremindent1cm \newtheorem{Pre}{Preuve}[chapter] %REDEFINITION DU STYLE DES REMARQUES \theoremstyle{nonumberplain} \theoremheaderfont{\bfseries \scshape} \theorembodyfont{\upshape} \theoremsymbol{\ensuremath{}} \theoremseparator{. } \theoremindent0cm \newtheorem{Rem}{Remarque}[chapter] %REDEFINITION DU STYLE DES NOTATIONS \theoremstyle{plain} \theoremheaderfont{\bfseries \scshape} \theorembodyfont{\upshape} \theoremsymbol{\ensuremath{}} \theoremseparator{. } \theoremindent0cm \newtheorem{Notation}{Notation}[part] %REDEFINITION DU STYLE DES LEMMES \theoremstyle{plain} \theoremsymbol{\ensuremath{\diamond}} \theoremindent0.5cm \theoremnumbering{arabic} \newtheorem{Lemma}{Lemme}[chapter] %%%%%%%% REDEFINITION DES LISTES %%%%%%%% % Pour les énumerate %\setlength{\leftmargini}{2.25cm} % Redéfinition des items \AtBeginDocument{ \renewenvironment{itemize}{% \begin{list}{\begin{scriptsize}$\bullet$\end{scriptsize}}{% \setlength{\leftmargin}{1.8cm}% }}{\end{list}} } % Redéfinition des enumerate \AtBeginDocument{ \newcounter{numero} \renewenvironment{enumerate}{% \begin{list}{\large{\oldstylenums{\arabic{numero}}}. }{% \usecounter{numero}% \setlength{\leftmargin}{2cm}% }}{\end{list}} } % Redéfinition des descriptions \newcommand{\entree}[1]{\mbox{\itshape\textbf{#1}}\hfil} \AtBeginDocument{ \renewenvironment{description}{% \begin{list}{}{% \renewcommand{\makelabel}{\entree} \setlength{\leftmargin}{1.75cm}% \setlength{\labelwidth}{1cm} }}{\end{list}} } %%%%%%%% REDEFINITION DU STYLE DES TITRES DES SECTIONS %%%%%%%% \usepackage{titlesec} \setcounter{secnumdepth}{5} %% REDEFINITION DU STYLE DES CHAPITRES %% Fait par le package fncychap % REDEFINITION DU STYLE DES SECTIONS %% Le format \titleformat{\section} [block] {\Large\bfseries\scshape} % Le style des caractères : % tt (police), LARGE (très grand), % scshape (en majuscule), bfseries (en gras) {\Roman{section}. } % Numérotation : I. II. etc. {0cm} % Espace entre le numéro et le titre {} % Commandes à exécuter avant [] % Commandes à exécuter après : arrêt du soulignement % L'espacement \titlespacing*{\section} {0pt} {3.5ex plus 1ex minus .2ex} {2.3ex plus .2ex} % REDEFINITION DU STYLE DES SOUS-SECTIONS % Le format \titleformat{\subsection} [block] {\normalfont\large\bfseries} {\arabic{subsection}. } % Numérotation : 1. , 2., etc. % On impose en plus le soulignement du numéro. {0cm} % Espace entre le numéro et le titre {} % Commandes à exécuter avant [] % Commandes à exécuter après : arrêt du soulignement % L'espacement \titlespacing*{\subsection} {50pt} % On décale de 50pt devant le titre {3.25ex plus 1ex minus .2ex} {1.5ex plus .2ex} % REDEFINITION DU STYLE DES SOUS-SOUS-SECTIONS % Le format \titleformat{\subsubsection} {\normalfont\normalsize\itshape\bfseries} {\alph{subsubsection}. } {0cm} {} [] % L'espacement \titlespacing*{\subsubsection} {70pt} % On décale de 70pt devant le titre {3.25ex plus 1ex minus .2ex} {1.5ex plus .2ex} %% REDEFINITION DU STYLE DES PARAGRAPHES %% Le format \titleformat{\paragraph}[runin] {\normalfont\normalsize\bfseries} {\roman{paragraph}. } {0cm} {} [.] %% L'espacement \titlespacing*{\paragraph} {0pt} {3.25ex plus 1ex minus .2ex} {1em} %% REDEFINITION DU STYLE DES SOUS-PARAGRAPHES %% Le format %\titleformat{\subparagraph}[runin] % {\normalfont\normalsize\bfseries} % {\thesubparagraph} % {1em} % {} %% L'espacement % \titlespacing*{\subparagraph} % {\parindent} % {3.25ex plus 1ex minus .2ex} % {1em} %%%%%%%%%%%%%%%%%%% FIN DE LA REDEFINITION DES TITRES %%%%%%%%%%%% %------------------------------------------------------------------- % POUR LES INFOS ET LES LIENS DES PDFs %------------------------------------------------------------------- \usepackage{hyperref} \pdfcompresslevel=9 \hypersetup{ %backref=true, %permet d'ajouter des liens dans... %pagebackref=true,%...les bibliographies %hyperindex=true, %ajoute des liens dans les index. colorlinks=true, %colorise les liens breaklinks=true, %permet le retour à la ligne dans les liens trop longs urlcolor= black, %couleur des hyperliens linkcolor= blue, %couleur des liens internes %bookmarks=true, %créé des signets pour Acrobat bookmarksopen=true, %si les signets Acrobat sont créés, %les afficher complÚtement. citecolor=blue, % Couleur des références citées pdftitle={Générateurs de nombres pseudo-aléatoires. Applications en cryptologie}, %informations apparaissant dans pdfauthor={Christophe Guyeux}, %dans les informations du document pdfsubject={Thèse} %sous Acrobat. } %------------------------------------------------------------------- % Le glossaire %------------------------------------------------------------------- % On inclus le fichier contenant le glossaire : %\usepackage{xindy} %\include{Autre/Glossaire} %------------------------------------------------------------------- % Césure des mots problématiques %------------------------------------------------------------------- \hyphenation{dy-na-mi-que} \hyphenation{nom-bre} \hyphenation{pé-rio-di-que} \hyphenation{ca-rac-té-ri-sa-tion} \hyphenation{con-crè-tes} \hyphenation{con-ver-ge} \hyphenation{con-trai-re} %------------------------------------------------------------------- % Mes redéfinitions %------------------------------------------------------------------- \newcommand{\X}{\mathcal{X}} \newcommand{\Go}{G_{f_0}} \newcommand{\B}{\mathds{B}} \newcommand{\N}{\mathds{N}} \newcommand{\BN}{\mathds{B}^\mathsf{N}} \let\sur=\overline %------------------------------------------------------------------- % Brouillons %------------------------------------------------------------------- % ceci ajoute une marque `brouillon' et la date %\ThesisDraft %------------------------------------------------------------------- % Pour collecter un glossaire et un index %------------------------------------------------------------------- \makeglossary \makeindex \begin{document} \OddHead={{\leftmark\rightmark}{\hfil\slshape\rightmark}} \EvenHead={{\leftmark}{{\slshape\leftmark}\hfil}} \OddFoot={\hfil\thepage} \EvenFoot={\thepage\hfil} \pagestyle{ThesisHeadingsII} %------------------------------------------------------------------- % Encadrements %------------------------------------------------------------------- % encadre les chapitres dans la table des matières: % (ces commandes doivent figurer après \begin{document} \FrameChaptersInToc %\FramePartsInToc %------------------------------------------------------------------- % Re initialisation de la numérotation des chapitres %------------------------------------------------------------------- % Si la commande suivante est présente, % elle doit figurer APRÈS \begin{document} % et avant la première commande \part \ResetChaptersAtParts %------------------------------------------------------------------- % mini-tables des matières par chapitre %------------------------------------------------------------------- % préparer les mini-tables des matières par chapitre. % (commande de minitoc.sty) \dominitoc %------------------------------------------------------------------- % Page de titre: %------------------------------------------------------------------- \ThesisTitle{Générateurs de nombres pseudo-aléatoires. Applications en cryptologie} \ThesisDate{13 décembre 2010} \ThesisAuthor{Christophe Guyeux} % Type de la thèse (autres solution: \ThesisINPL, \ThesisNancyII) \ThesisNancyI % Jury: % (ne pas mettre de \\ après la dernière entrée) % Exemple de création d'une nouvelle catégorie dans le jury: \NewJuryCategory{Directeur}{\it Directeur :} {\it Directeur :} \def\blanc{\hspace*{1cm}} \President = {Michel de Labachelerie} \Rapporteurs = {Pascale Charpin, \emph{Directrice de Recherche, INRIA-Rocquencourt}\\ Éric Filiol, \emph{Professeur, ESIEA - Laval}\\ Pierre Spitéri, \emph{Professeur Émérite, IRIT-ENSEEIHT} } \Examinateurs = { Michel de Labachelerie, \emph{Directeur de Recherche CNRS, Université de Franche-Comté}\\ Laurent Larger, \emph{Professeur, Université de Franche-Comté}\\ Jean-Claude Miellou, \emph{Professeur, Université de Franche-Comté}\\ Congduc Pham, \emph{Professeur, Université de Pau} } \Directeur = {Jacques M. Bahi, \emph{Professeur, Université de Franche-Comté}} % Creation de la page de titre: \MakeThesisTitlePage % on peut en faire plusieurs: %\MakeThesisTitlePage %\ThesisINPL %\MakeThesisTitlePage %------------------------------------------------------------------- %------------------------------------------------------------------- % remerciements %------------------------------------------------------------------- % %\DontFrameThisInToc \begin{ThesisAcknowledgments} Je souhaite avant toutes choses remercier mon directeur de thèse, le Professeur Jacques M. Bahi, pour son encadrement, sa disponibilité et son amitié. Il a su, malgré un emploi du temps bien chargé, toujours être présent à mes côtés, et me faire profiter de son expérience, son intelligence, et sa connaissance si fine des objets de ma recherche. Le travail que j'ai pu mener et ce document ne seraient pas ce qu'ils sont sans sa motivation et ses encouragements, sa patience, son recul, son regard critique, et la pertinence de ses conseils. Ce fut un grand plaisir de travailler avec lui, et j'espère pouvoir continuer à le faire longtemps encore. \medskip Je tiens également à remercier Pascale Charpin, \'Eric Filiol, Pierre Spitéri, Michel de Labachelerie, Laurent Larger, Jean-Claude Miellou et Congduc Pham, qui ont bien voulu être membres de mon jury de thèse. Et plus particulièrement, merci à P. Charpin, \'E. Filiol et P. Spitéri qui m'ont fait l'honneur d'être les rapporteurs de cette thèse. Merci pour leurs suggestions et leurs conseils précieux, qui m'ont aidé à améliorer et clarifier ce mémoire. \bigskip Je tiens aussi à remercier tous les membres de l'équipe AND pour leur amitié et la bonne ambiance qu'ils contribuent à créer. Je remercie notamment Jean-François Couchot et Michel Salomon pour leurs relectures de qualité et leurs conseils. \bigskip Je ne remercierai jamais assez mon frère et mes parents, pour avoir toujours été présents, m'avoir toujours aidé et soutenu, et pas seulement durant mes études. Sans eux, leur gentillesse, leurs encouragements et leur dévouement, je n'en serais pas là. Malgré la distance, ils sont toujours présents à mes côtés. \medskip Et surtout, merci à Nathalie, pour tout. \end{ThesisAcknowledgments} %------------------------------------------------------------------- % dédicace %------------------------------------------------------------------- \begin{ThesisDedication} \`A Nathalie. \bigskip \bigskip \`A mes parents et ma filleule,\\en souvenir de mon grand-père. \end{ThesisDedication} %------------------------------------------------------------------- % Écriture de `Chapitre' et `Partie' % dans la table des matières %------------------------------------------------------------------- \WritePartLabelInToc \WriteChapterLabelInToc %------------------------------------------------------------------- % table des matières %------------------------------------------------------------------- \tableofcontents %\FrameThisInToc %\DontNumberThisInToc %\listoffigures % Pour ne pas avoir le mot `Chapitre' au début de chaque chapitre. %\NoChapterHead %------------------------------------------------------------------- % Introduction générale et notation %------------------------------------------------------------------- \SpecialSection{Introduction g\'en\'erale} \WriteThisInToc \FrameThisInToc \NumberThisInToc %\include{Autre/IntroductionGenerale} \NumberThisInToc %\part*{Introduction générale} \label{Contexte et rappels} %REDEFINITION DU STYLE DES DEFINITIONS \theoremstyle{plain} \theoremheaderfont{\bfseries \scshape} %\theorembodyfont{\em} \theoremsymbol{\ensuremath{\diamondsuit}} %\theoremprework{\medskip} \theoremseparator{ : } \theoremindent0cm \newtheorem{Def}{Définition} %REDEFINITION DU STYLE DES EXEMPLES \theoremstyle{numberplain} \theoremheaderfont{\bfseries \scshape\slshape} \theorembodyfont{\upshape} \theoremsymbol{\ensuremath{}} \theoremseparator{ : } %\theoremprework{\hrulefill} %\theorempostwork{\hrulefill\newline} \newtheorem{Ex}{Exemple} %\include{Rappels_ICs/historique} %\include{Objectifs/cryptosys} % La commande \mainmatter (nouvelle commande LaTeX2e) permet de passer % a la numérotation arabe (ce que fait \pagenumbering{arabic}) % et de faire commencer la nouvelle page 1 sur une page impaire. % On évitera donc d'utiliser directement \pagenumbering{arabic}. \mainmatter %REDEFINITION DU STYLE DES DEFINITIONS \theoremstyle{plain} \theoremheaderfont{\bfseries \scshape} %\theorembodyfont{\em} \theoremsymbol{\ensuremath{\diamondsuit}} %\theoremprework{\medskip} \theoremseparator{ : } \theoremindent0cm \renewtheorem{Def}{Définition}[part] \newtheorem{definition}{Definition} \newtheorem{proposition}{Proposition} \newtheorem{theorem}{Theorem} \newtheorem{proof}{Proof} \newtheorem{remark}{Remark} %REDEFINITION DU STYLE DES EXEMPLES \theoremstyle{numberplain} \theoremheaderfont{\bfseries \scshape\slshape} \theorembodyfont{\upshape} \theoremsymbol{\ensuremath{}} \theoremseparator{ : } %\theoremprework{\hrulefill} %\theorempostwork{\hrulefill\newline} \renewtheorem{Ex}{Exemple}[part] % \NumberThisInToc % \part[a]{a} % \label{a} \NumberThisInToc \part{Introduction} \label{Introduction} \include{Introduction} \include{GeneralNotions} \NumberThisInToc \part{Apport} \label{Apport} \include{DesignofCIPRNG} \include{StatisticalTestsforRandomness} \include{Securityanalysis} \include{ThefamilyofCIPRNG} \NumberThisInToc \part{Application aux techniques de la dissimulation d'information} \label{Applications aux techniques de dissimulation d'information} \include{ApplicationofRNG} \part*{Conclusions et Annexes} \label{part:Conclusions} \include{FinalConclusion} %\part*{Annexes} \Annexes %\Annex{Index} %------------------------------------------------------------------ % Le glossaire %----------------------------------------------------------------- %\printglossaries %------------------------------------------------------------------- % L'index (toujours sur deux colonnes) %------------------------------------------------------------------- %\BeginIndWith{Les numéros de pages auxquelles font références les entrées de cet index ne sont pas celles du fichier pdf, mais celles que l'on trouve en bas de chaque page. En effet, les premières pages du document sont numérotées en chiffres romains.} %\PrintIndex %------------------------------------------------------------------- % La bibliographie %------------------------------------------------------------------- \bibliographystyle{alpha} \bibliography{Thesis} %------------------------------------------------------------------- % Les résumes %------------------------------------------------------------------- % (si le resume' apparait sur une colonne etroite, avec la % bibliographie a gauche, c'est sans doute parce que vous avez % oublie' de generer les fichiers d'index et de glossaire...) \NumberAbstractPages \begin{ThesisAbstract} \begin{FrenchAbstract} ...... \KeyWords{Théorie du Chaos; Systèmes Dynamiques Discrets; Itérations Chaotiques; Sécurité; Fonctions de Hachage; Stéganalyse; Réseaux de Capteurs.} \end{FrenchAbstract} \begin{EnglishAbstract} Due to the rapid development of the Internet in recent years, the need to find new tools to reinforce trust and security through the Internet has became a major concern. The discovery of new pseudo-random number generators with a strong level of security is thus becoming a hot topic. Although some mechanical ways, such as tossing a coin or roling a dice, are commonly accepted as good random sources, they are obviously not be able to fulfill the requirements of most of the real-world applications, in wich high throughput and good quality are generally required.\\ For more than half century, different random generators have been proposed. Recently, we have witnessed an active involvement of another branch of sciences in this topic, in particularly, aiming for cryptographical applications. Due to the distinct properties of chaos, including random-like dynamics, high sensitivity on initial conditions and system parameters, etc, the use of chaos in random number generation and crytographical applications has aroused tremendous interests.\\ However, the actual realization environment is usually ignored in most of the chaos-designs, for which an infinite precision is commonly assumed.as pinted out by some researchers, if a chaotic system is to be implemented in finite precision, its dynamics will be greatly deviated from its original one, and hence some nice properties will be vanished.\\ In this thesis, a new scheme to generate pseudo random number is presented, the generators are based on discrete chaotic iterations which satisfy Devaney's definition of chaos. A rigorous framework is introduced, where topological chaotic properties of the generator are shown. Two practical designs of these chaos-based random number generators are showed. With such chaotic iterations, the statistical quality of the generated random sequence can be greatly improved and fulfil the up-to-date standards. From the experiments, the comparison between these two designs are investigated in details. The second designed technique outperforms the first one, both in terms of performance and speed.\\ In the above research, the iteration function for chaotic iterations is the vectorial Boolean negation as a prototype. we propose a method using Graph with strongly connected components as a selecton criterion and modifying the iteration function without deflating the good properties of the associated generator. Simulation results and basic security analysis are then presented to evaluate the randomness of this new family of generators.\\ Finally, an illustration in the field of data hiding is presented and the robustness of the obtained data hiding algorithm against attacks is evaluated. \KeyWords{Internet security; Chaotic sequences; Statistical tests; Discrete chaotic iterations; Information hiding.} \end{EnglishAbstract} \end{ThesisAbstract} \end{document}