From 591062c8359275f37c6528d0fb3909479f6e4a6e Mon Sep 17 00:00:00 2001 From: couchot Date: Tue, 1 Sep 2015 11:19:36 +0200 Subject: [PATCH] ajout de compartif sauter marcher --- 14Secrypt.tex | 336 ++++++++++++++++-- 15RairoGen.tex | 9 +- ...e-navette-autorisation-inscription-hdr.doc | Bin 85504 -> 85504 bytes demandeInscription/synthese.tex | 33 +- main.tex | 5 +- 5 files changed, 344 insertions(+), 39 deletions(-) diff --git a/14Secrypt.tex b/14Secrypt.tex index a04c11e..0465fcf 100644 --- a/14Secrypt.tex +++ b/14Secrypt.tex @@ -94,7 +94,7 @@ C'est évidemment une relation d'équivalence. -\subsection{Analyse de l'approche} +\subsection{Analyse de l'approche}\label{sub:prng:ana} Exécutée sur un ordinateur personnelle, PROLOG trouve en moins d'une seconde les 49 solutions pour $n=2$, @@ -114,7 +114,7 @@ comparé les fonctions non équivalentes selon leur proportion -\begin{xpl} +\begin{xpl}\label{xpl:mixing:3} Le tableau~\ref{table:mixing:3} fournit les 5 fonctions booléennes qui ont les temps de mélange les plus petits pour $\varepsilon=10^{-5}$. \begin{table}[ht] @@ -126,13 +126,13 @@ $$ \hline f^a & (x_2 \oplus x_3, x_1 \oplus \overline{x_3},\overline{x_3}) & 16 \\ \hline -f^* & (x_2 \oplus x_3, \overline{x_1}\overline{x_3} + x_1\overline{x_2}, -\overline{x_1}\overline{x_3} + x_1x_2) & 17 \\ +f^* & (x_2 \oplus x_3, \overline{x_1}.\overline{x_3} + x_1\overline{x_2}, +\overline{x_1}.\overline{x_3} + x_1x_2) & 17 \\ \hline -f^b & (\overline{x_1}(x_2+x_3) + x_2x_3,\overline{x_1}(\overline{x_2}+\overline{x_3}) + \overline{x_2}\overline{x_3}, & \\ +f^b & (\overline{x_1}(x_2+x_3) + x_2x_3,\overline{x_1}(\overline{x_2}+\overline{x_3}) + \overline{x_2}.\overline{x_3}, & \\ & \qquad \overline{x_3}(\overline{x_1}+x_2) + \overline{x_1}x_2) & 26 \\ \hline -f^c & (\overline{x_1}(x_2+x_3) + x_2x_3,\overline{x_1}(\overline{x_2}+\overline{x_3}) + \overline{x_2}\overline{x_3}, & \\ +f^c & (\overline{x_1}(x_2+x_3) + x_2x_3,\overline{x_1}(\overline{x_2}+\overline{x_3}) + \overline{x_2}.\overline{x_3}, & \\ & \overline{x_3}(\overline{x_1}+x_2) + \overline{x_1}x_2) & 29 \\ \hline f^d & (x_1\oplus x_2,x_3(\overline{x_1}+\overline{x_2}),\overline{x_3}) & 30 \\ @@ -182,32 +182,53 @@ On s'intéresse par la suite à la génération de ce genre de cycles. \begin{minipage}{0.35\linewidth} \begin{scriptsize} \begin{center} - $ \dfrac{1}{4} \left( - \begin{array}{cccccccc} - 1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 \\ + +\[ +M=\dfrac{1}{3} \left( +\begin{array}{llllllll} +1&1&1&0&0&0&0&0 \\ +1&1&0&0&0&1&0&0 \\ +0&0&1&1&0&0&1&0 \\ +0&1&1&1&0&0&0&0 \\ +1&0&0&0&1&0&1&0 \\ +0&0&0&0&1&1&0&1 \\ +0&0&0&0&1&0&1&1 \\ +0&0&0&1&0&1&0&1 +\end{array} +\right) +\] + + + + % $ \dfrac{1}{4} \left( + % \begin{array}{cccccccc} + % 1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 \\ - 1 & 1 & 0 & 0 & 1 & 1 & 0 & 0 \\ + % 1 & 1 & 0 & 0 & 1 & 1 & 0 & 0 \\ - 0 & 0 & 1 & 1 & 0 & 0 & 1 & 1 \\ + % 0 & 0 & 1 & 1 & 0 & 0 & 1 & 1 \\ - 1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 \\ + % 1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 \\ - 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 \\ + % 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 \\ - 0 & 0 & 0 & 0 & 1 & 1 & 1 & 1 \\ + % 0 & 0 & 0 & 0 & 1 & 1 & 1 & 1 \\ - 0 & 0 & 0 & 0 & 1 & 1 & 1 & 1 \\ + % 0 & 0 & 0 & 0 & 1 & 1 & 1 & 1 \\ - 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 \\ + % 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 \\ - \end{array} \right) $ + % \end{array} \right) $ + + + \end{center} \end{scriptsize} \end{minipage} }% \caption{Représentations de $f^*(x_1,x_2,x_3)= - (x_2 \oplus x_3, \overline{x_1}\overline{x_3} + x_1\overline{x_2}, - \overline{x_1}\overline{x_3} + x_1x_2)$.}\label{fig1} + (x_2 \oplus x_3, \overline{x_1}.\overline{x_3} + x_1\overline{x_2}, + \overline{x_1}.\overline{x_3} + x_1x_2)$.}\label{fig1} \end{center} \end{figure} @@ -217,7 +238,7 @@ On s'intéresse par la suite à la génération de ce genre de cycles. \section{Graphes $\textsc{giu}(f)$ $\textsc{gig}(f)$ - fortement connexes et doublement stochastiques} + fortement connexes et doublement stochastiques}\label{sec:gen:dblstc} % Secrypt 14 @@ -293,8 +314,8 @@ depuis n'importe quel n{\oe}ud. Le graphe des itérations $\textsf{giu}$ qui -Les preuves, relativement directes, sont laissées en exercices au lecteur. Par -contre, ce qui est moins aisé est la génération de cycles hamiltoniens dans le +%Les preuves, relativement directes, sont laissées en exercices au lecteur. +La génération de cycles hamiltoniens dans le $n$-cube, ce qui revient à trouver des \emph{codes de Gray cycliques}. On rappelle que les codes de Gray sont des séquences de mots binaires de taille fixe ($n$), dont les éléments successifs ne différent que par un seul bit. Un @@ -524,11 +545,24 @@ $\ov{h}(\ov{h}(X))\neq X$, alors $E[\ts]\leq 8{\mathsf{N}}^2+ 4{\mathsf{N}}\ln ({\mathsf{N}}+1)$. \end{theorem} -Sans entrer dans les détails de la preuve, on remarque que le calcul -de cette borne ne tient pas en compte le fait qu'on préfère enlever des +Sans entrer dans les détails de la preuve, on remarque tout d'abord +que le calcul +de cette borne n'intègre pas le fait qu'on préfère enlever des chemins hamiltoniens équilibrés. En intégrant cette contrainte, la borne supérieure pourrait être réduite. +On remarque ensuite que la chaîne de Markov proposée ne suit pas exactement +l'algorithme~\ref{CI Algorithm}. En effet dans la section présente, +la probabilité de rester dans une configuration donnée +est fixée à $frac{1}{2}+\frac{1}{2n}$. +Dans l'algorithme initial, celle-ci est de ${1}{n}$. +Cette version, qui reste davantage sur place que l'algorithme original, +a été introduite pour simplifier le calcul de la borne sup +du temps d'arrêt. + + + + \section{Et les itérations généralisées?} Le chaptire précédent a présenté un algorithme de PRNG construit à partir d'itérations unaires. @@ -567,4 +601,258 @@ Par exemple, pour $n=3$, l'ensemble $\textit{Set}(6)$ vaudraitt $\{3,2\}$. On remarque aussi que l'argument de la fonction $\textit{Random}$ passe de $n$ à $2^n$. +On a le théorème suivant qui étend le théorème~\ref{thm:prng:u} aux itérations +généralisées. + +\begin{theorem}\label{thm:prng:g} + Soit $f: \Bool^{n} \rightarrow \Bool^{n}$, $\textsc{gig}(f)$ son + graphe des itérations généralisées, $\check{M}$ la matrice d'adjacence + correspondante à ce graphe + et $M$ une matrice $2^n\times 2^n$ + définie par + $M = \dfrac{1}{n} \check{M}$. + Si $\textsc{gig}(f)$ est fortement connexe, alors + la sortie du générateur de nombres pseudo aléatoires détaillé par + l'algorithme~\ref{CI Algorithm} suit une loi qui + tend vers la distribution uniforme si + et seulement si $M$ est une matrice doublement stochastique. +\end{theorem} + +La preuve de ce théorème est la même que celle du théorème~\ref{thm:prng:u}. +Elle n'est donc pas rappelée. + +\begin{xpl} + + On reprend l'exemple donné à la section~\ref{sub:prng:ana}: + Dans le $3$-cube cycle hamiltonien défini par la séquence + $000,100,101,001,011,111,110,010,000$ a été supprimé engendrant + la fonction $f^*$ définie par + $$f^*(x_1,x_2,x_3)= + (x_2 \oplus x_3, \overline{x_1}.\overline{x_3} + x_1\overline{x_2}, +\overline{x_1}.\overline{x_3} + x_1x_2). +$$ + +Le graphe $\textsc{gig}(f^*)$ est représenté à la +Figure~\ref{fig:iteration:f*}. +La matrice de Markov $M$ correspondante est donnée à +la figure~\ref{fig:markov:f*}. + +\begin{figure}[ht] + \begin{center} + \subfigure[Graphe des itérations chaotiques de $f^*$. + \label{fig:iteration:f*}]{ + \begin{minipage}{0.55\linewidth} + \centering + \includegraphics[width=\columnwidth]{images/iter_f}% + \end{minipage} + }% + \subfigure[Matrice de Markov du graphe d'itérations chaotiques de + $f^*$\label{fig:markov:f*}]{% + \begin{minipage}{0.35\linewidth} + \begin{scriptsize} + \begin{center} + $ \dfrac{1}{4} \left( + \begin{array}{cccccccc} + 1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 \\ + + 1 & 1 & 0 & 0 & 1 & 1 & 0 & 0 \\ + + 0 & 0 & 1 & 1 & 0 & 0 & 1 & 1 \\ + + 1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 \\ + + 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 \\ + + 0 & 0 & 0 & 0 & 1 & 1 & 1 & 1 \\ + + 0 & 0 & 0 & 0 & 1 & 1 & 1 & 1 \\ + + 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 \\ + + \end{array} \right) $ + \end{center} + \end{scriptsize} + \end{minipage} + }% + \caption{Représentations de $f^*(x_1,x_2,x_3)= + (x_2 \oplus x_3, \overline{x_1}\overline{x_3} + x_1\overline{x_2}, + \overline{x_1}\overline{x_3} + x_1x_2)$.}\label{fig1} + \end{center} +\end{figure} +\end{xpl} + + + +\begin{table}[table:functions]{Fonctions avec matrices DSCC et le plus faible temps de mélange.} + \begin{center} + \begin{scriptsize} + \begin{tabular}{|c|l|c|c|} + \hline + fonction & $f(x)$, $f(x)$ pour $x \in [0,1,2,\hdots,2^n-1]$ & $b$ & $b'$ \\ + \hline + $f^{*4}$ & [13,10,9,14,3,11,1,12,15,4,7,5,2,6,0,8] & 17 & 38 \\ + \hline + $f^{*5}$ & [29, 22, 25, 30, 19, 27, 24, 16, 21, 6, 5, 28, 23, 26, 1, & 13 & 48 \\ + & 17, 31, 12, 15, 8, 10, 14, 13, 9, 3, 2, 7, 20, 11, 18, 0, 4] & & \\ + \hline + $f^{*6}$ & [55, 60, 45, 44, 58, 62, 61, 48, 53, 50, 52, 36, 59, 34, 33, & 11 & 55 \\ + & 49, 15, 42, 47, 46, 35, 10, 57, 56, 7, 54, 39, 37, 51, 2, 1, & & \\ + & 40, 63, 26, 25, 30, 19, 27, 17, 28, 31, 20, 23, 21, 18, 22, & & \\ + & 16, 24, 13, 12, 29, 8, 43, 14, 41, 0, 5, 38, 4, 6, 11, 3, 9, 32] & & \\ + \hline + $f^{*7}$ & [111, 94, 93, 116, 122, 114, 125, 88, 87, 126, 119, 84, 123, & 10 & 63 \\ + & 98, 81, 120, 109, 106, 105, 110, 99, 107, 104, 108, 101, 70, & & \\ + & 117, 96, 67, 102, 113, 64, 79, 30, 95, 124, 83, 91, 121, 24, & & \\ + & 23, 118, 69, 20, 115, 90, 17, 112, 77, 14, 73, 78, 74, 10, 72, & & \\ + & 76, 103, 6, 71, 100, 75, 82, 97, 0, 127, 54, 57, 62, 51, 59, & & \\ + & 56, 48, 53, 38, 37, 60, 55, 58, 33, 49, 63, 44, 47, 40, 42, & & \\ + & 46, 45, 41, 35, 34, 39, 52, 43, 50, 32, 36, 29, 28, 61, 92, & & \\ + & 26, 18, 89, 25, 19, 86, 85, 4, 27, 2, 16, 80, 31, 12, 15, 8, & & \\ + & 3, 11, 13, 9, 5, 22, 21, 68, 7, 66, 65, 1] & & \\ + \hline + $f^{*8}$ &[223, 190, 249, 254, 187, 251, 233, 232, 183, 230, 247, 180,& 9 & 72 \\ + & 227, 178, 240, 248, 237, 236, 253, 172, 203, 170, 201, 168, &&\\ + & 229, 166, 165, 244, 163, 242, 241, 192, 215, 220, 205, 216, &&\\ + & 218, 222, 221, 208, 213, 210, 212, 214, 219, 211, 217, 209, &&\\ + & 239, 202, 207, 140, 139, 234, 193, 204, 135, 196, 199, 132, &&\\ + & 194, 130, 225, 200, 159, 62, 185, 252, 59, 250, 169, 56, 191,&&\\ + & 246, 245, 52, 243, 50, 176, 48, 173, 238, 189, 44, 235, 42, &&\\ + & 137, 184, 231, 38, 37, 228, 35, 226, 177, 224, 151, 156, 141,&&\\ + & 152, 154, 158, 157, 144, 149, 146, 148, 150, 155, 147, 153, &&\\ + & 145, 175, 206, 143, 136, 11, 142, 129, 8, 7, 198, 197, 4, 195, &&\\ + & 2, 161, 160, 255, 124, 109, 108, 122, 126, 125, 112, 117, 114, &&\\ + & 116, 100, 123, 98, 97, 113, 79, 106, 111, 110, 99, 74, 121, 120,&&\\ + & 71, 118, 103, 101, 115, 66, 65, 104, 127, 90, 89, 94, 83, 91, 81,&&\\ + & 92, 95, 84, 87, 85, 82, 86, 80, 88, 77, 76, 93, 72, 107, 78, 105, &&\\ + & 64, 69, 102, 68, 70, 75, 67, 73, 96, 55, 58, 45, 188, 51, 186, 61, &&\\ + & 40, 119, 182, 181, 53, 179, 54, 33, 49, 15, 174, 47, 60, 171, && \\ + & 46, 57, 32, 167, 6, 36, 164, 43, 162, 1, 0, 63, 26, 25, 30, 19,&&\\ + & 27, 17, 28, 31, 20, 23, 21, 18, 22, 16, 24, 13, 10, 29, 14, 3, &&\\ + &138, 41, 12, 39, 134, 133, 5, 131, 34, 9, 128]&&\\ + \hline + \end{tabular} + \end{scriptsize} + \end{center} +\end{table} + +Le tableau~\ref{table:functions} reprend une synthèse de +fonctions qui ont été générées selon la méthode détaillée +à la section~\ref{sec:gen:dblstc}. +Pour chaque nombre $n=3$, $4$, $5$ +,$6$, tous les cycles hamiltoniens non isomorphes ont été générés. Pour les +valeur de $n=7$ et $8$, seules $10^{5}$ configurations ont été évaluées. Parmi +toutes les fonctions obtenues en enlevant du $n$-cube ces cycles, n'ont été +retenues que celles qui minimisaient le temps de mélange relatif à une valeur de +$\epsilon$ fixée à $10^{-8}$. +Ce nombre d'itérations (\textit{i.e.}, ce temps de mélange) +est stocké dans la troisième +colonne sous la variable $b$. +La variable $b'$ reprend le temps de mélange pour +l'algorithme~\ref{CI Algorithm}. + +Un premier résultat est que ce nouvel algorithme réduit grandement le nombre +d'itérations suffisant pour obtenir une faible déviation par rapport à une +distribution uniforme. On constate de plus que ce nombre décroit avec +le nombre d'éléments alors qu'il augmente dans l'approche initiale où +l'on marche. + +Cela s'explique assez simplement. Depuis une configuration initiale, le nombre +de configurations qu'on ne peut pas atteindre en une itération est de +\begin{itemize} +\item $2^n-n$ en marchant, ce qui représente $\dfrac{2^n-n}{2^n} = 1-\dfrac{n}{2^n}$ + de toutes les configurations; plus $n$ est grand, + plus ce nombre est proche de $1$, et plus grand devient le nombre + d'itérations suffisantes pour atteinte une déviation faible; +\item $2^n-2^{n-1}$ en sautant, soit la moitié de toutes les configurations + quel que soit $n$; seul 1 bit reste constant tandis que tous les autres peuvent changer. Plus $n$ grandit, plus la proportion de bits constants diminue. +\end{itemize} + +Cependant, dans le cas où l'on saute, chaque itération a une complexité +plus élevée puisqu'il est nécessaire d'invoquer un générateur +de nombres pseudo-aléatoires entre 1 et $2^{n}$ tandis qu'il suffit +d'avoir un générateur entre 1 et $n$ dans le premier cas. + +Pour comparer les deux approches, on considère que le générateur aléatoire embarqué est binaire, \textit{i.e.} ne génère qu'un bit (0 ou 1). + +Lorsqu'on marche et qu'on effectue $i$ itérations, +à chaque itération, la stratégie génère un nombre entre +$1$ et $n$. +Elle fait donc $\ln(n)/\ln(2)$ appels à ce générateur en moyenne. +La démarche fait donc au total $i*\ln(n)/\ln(2)$ appels pour $n$ bits et +donc $i*\ln(n)/(n*\ln(2))$ appels pour 1 bit généré en moyenne. +Lorsqu'on saute et qu'on effectue $i'$ itérations, +à chaque itération, la stratégie génère un nombre entre +$1$ et $2^n$. Elle fait donc $n$ appels à ce générateur. +On fait donc au total $i'*n$ appels pour $n$ bits et +donc $i'$ appels pour 1 bit généré en moyenne. +Le tableau~\ref{table:marchevssaute} donne des instances de +ces valeurs pour $n \in\{4,5,6,7,8\}$ et les fonctions +données au tableau~\ref{table:fonctions}. +On constate que le nombre d'appels par bit généré décroit avec $n$ dans la +seconde démarche et est toujours plus faible que celui de la première. + + + +\begin{table} +$$ +\begin{array}{|l|l|l|l|l|l|} +\hline +\textrm{Algorithme} & 4 & 5 & 6 & 7 & 8 \\ +\hline +\textrm{marchant} & 19.0 & 22.2905097109 & 23.6954895899 & 25.2661942985 & 27.0\\ +\hline +\textrm{sautant} & 17 & 13 & 11 & 10 & 9\\ +\hline +\end{array} +$$ +\caption{Nombre moyen + d'appels à un générateurs binaire par bit généré}\label{table:marchevssaute} +\end{table} + + + + +La qualité des séquences aléatoires a été évaluée à travers la suite +de tests statistiques développée pour les générateurs de nombres +pseudo-aléatoires par le +\emph{National Institute of Standards and Technology} (NIST). + Pour les 15 tests, le seuil $\alpha$ est fixé à $1\%$: + une valeur + qui est plus grande que $1\%$ signifie + que la chaîne est considérée comme aléatoire avec une confiance de $99\%$. + Le tableau~\ref{fig:TEST} donne une vision synthétique de toutes + les expérimentations. +L'expérience a montré notamment que toutes ces fonctions +passent avec succès cette batterie de tests. + +%%%%%%%%% Relancer pour n=6, n=7, n=8 +%%%%%%%%% Recalculer le MT +%%%%%%%%% Regenerer les 10^6 bits +%%%%%%%%% Evaluer sur NIST + +\begin{table}[fig:TEST]{Test de NIST réalisé sur les fonctions $f^*$ détaillées au tableau~\label{table:functions}.} + \centering + \begin{scriptsize} + \begin{tabular}{|*{5}{c|}} + \hline +Test & $f^{*4}$ & $f^{*5}$ & $f^{*6}$ & $f^{*7}$ \\ \hline +Fréquence (Monobit) & 0.025 (0.99) & 0.066 (1.0) & 0.319 (0.99) & 0.001 (1.0) \\ \hline +Fréquence / bloc & 0.401 (0.99) & 0.867 (1.0) & 0.045 (0.99) & 0.085 (0.99) \\ \hline +Somme Cumulé* & 0.219 (0.995) & 0.633 (1.0) & 0.635 (1.0) & 0.386 (0.99) \\ \hline +Exécution & 0.964 (0.98) & 0.699 (0.99) & 0.181 (0.99) & 0.911 (0.98) \\ \hline +Longue exécution dans un bloc & 0.137 (0.99) & 0.964 (1.0) & 0.145 (0.99) & 0.162 (0.98) \\ \hline +Rang & 0.616 (0.99) & 0.678 (1.0) & 0.004 (1.0) & 0.816 (1.0) \\ \hline +Fourier rapide & 0.048 (0.99) & 0.637 (0.97) & 0.366 (0.99) & 0.162 (0.99) \\ \hline +Patron sans superposition* & 0.479 (0.988) & 0.465 (0.989) & 0.535 (0.989) & 0.499 (0.989) \\ \hline +Patron avec superposition & 0.897 (1.0) & 0.657 (0.97) & 0.897 (0.98) & 0.236 (0.99) \\ \hline +Statistiques universelles & 0.991 (0.98) & 0.657 (0.98) & 0.102 (0.98) & 0.719 (0.98) \\ \hline +Entropie approchée (m=10) & 0.455 (1.0) & 0.964 (1.0) & 0.162 (1.0) & 0.897 (0.98) \\ \hline +Suite aléatoire * & 0.372 (0.993) & 0.494 (0.986) & 0.243 (0.992) & 0.258 (0.993) \\ \hline +Suite aléatoire variante * & 0.496 (0.989) & 0.498 (0.992) & 0.308 (0.983) & 0.310 (0.999) \\ \hline +Série* (m=10) & 0.595 (0.995) & 0.289 (0.975) & 0.660 (0.995) & 0.544 (0.99) \\ \hline +Complexité linaire & 0.816 (1.0) & 0.897 (0.98) & 0.080 (0.98) & 0.798 (1.0) \\ \hline + \end{tabular} + \end{scriptsize} +\end{table} +% diff --git a/15RairoGen.tex b/15RairoGen.tex index a1b6b23..f85d8b8 100644 --- a/15RairoGen.tex +++ b/15RairoGen.tex @@ -177,7 +177,8 @@ que cela l'est pour $h$. \end{minipage} \label{fig:h:iter} } \end{center} - \caption{Graphes d'itérations de fonctions booléennes dans $\Bool^2$} + \caption{Graphes des itérations unaires + de fonctions booléennes dans $\Bool^2$} \label{fig:xplgraphIter} \end{figure} @@ -294,10 +295,12 @@ ait une distribution suffisamment proche de la distribution uniforme. On énonce directement le théorème suivant dont la preuve est donnée en annexes~\ref{anx:generateur}. -\begin{theorem} +\begin{theorem}\label{thm:prng:u} Soit $f: \Bool^{n} \rightarrow \Bool^{n}$, $\textsc{giu}(f)$ son graphe d'itérations , $\check{M}$ sa matrice d'adjacence - et $M$ une matrice $2^n\times 2^n$ définie comme dans le lemme précédent. + et $M$ une matrice $2^n\times 2^n$ + définie par + $M = \dfrac{1}{n} \check{M}$. Si $\textsc{giu}(f)$ est fortement connexe, alors la sortie du générateur de nombres pseudo aléatoires détaillé par l'algorithme~\ref{CI Algorithm} suit une loi qui diff --git a/demandeInscription/fiche-navette-autorisation-inscription-hdr.doc b/demandeInscription/fiche-navette-autorisation-inscription-hdr.doc index 16da0fbd9b415e1b58d10cd953e508d0126a5439..851505e284a667ab6fef2f122d7f4775227bdf6a 100644 GIT binary patch delta 21690 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 G0S6-doVB0; delta 21758 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 O0r(dI9Jl!^0S6-5#Nzw_ diff --git a/demandeInscription/synthese.tex b/demandeInscription/synthese.tex index 2fbc80e..791646a 100755 --- a/demandeInscription/synthese.tex +++ b/demandeInscription/synthese.tex @@ -148,7 +148,9 @@ Je suis membre de l'équipe Algorithmique Numérique Distribuée (AND) du Département d'Informatique des Systèmes Complexes (DISC) du laboratoire FEMTO-ST. Je relève de l'école doctorale 37 Sciences Pour l'Ingénieur et Microtechniques (SPIM) de l'UFC. -Les avis du directeur de recherche, du directeur de l'équipe, du directeur de l'école doctorale et du directeur du département sont donnés en annexes. +Mon directeur de recherche pour cette HDR est Pr. J. {\sc Bahi} +du département DISC. Son avis, ainsi que celui du directeur de l'équipe (Pr. R. {\sc Couturier}, du directeur de l'école doctorale (PR. P. {\sc Lutz}) +et du directeur du département (Pr. O. {\sc Kouchnarenko}) sont donnés en annexes. % \subsection{Avis du directeur de l'équipe}\label{sec:avis:directeur:equipe} @@ -158,7 +160,7 @@ Les avis du directeur de recherche, du directeur de l'équipe, du directeur de l % \subsection{Avis du directeur de l'école doctorale}\label{sec:avis:directeur:spim} -\newpage + \section{Résumé de la thématique de la thèse d'université} On considère en entrée de la démarche une description mathématique d'un programme: par exemple une fonction enrichie avec @@ -261,7 +263,7 @@ Jean-Fran\c{c}ois Couchot. -\newpage +%\newpage \section{Exposé des recherches réalisées au cours de la période postdoctorale} Entre avril 2006 et aujourd'hui, les recherches réalisées ont concerné plusieurs domaines synthétisés ci-après. Le premier travail (Sec.~\ref{sub:verif}) @@ -660,7 +662,7 @@ le doctorat de B. Alkindy. -\newpage +%\newpage \section{Perspectives de recherche} Les trois sections suivantes présentent quelques perspectives de recherche autour de la thématique des systèmes dynamiques discrets. @@ -792,7 +794,7 @@ Ceci se réalisera notamment au travers du doctorat de Y. Fadil. -\newpage +%\newpage \section{Insertion dans l'équipe de recherche} Cette section donne quelques éléments factuels permettent d'apprécier mon insertion au sein de cette équipe de recherche. @@ -816,8 +818,11 @@ les conférences reconnues suivantes: \subsection{Appels à projet} -Christophe Guyeux a répondu avec succès à l'appel à projet jeune -chercheur de l'UFC, projet dont je faisais partie. + +En 2014 (les dates a verifier), j'ai participé +au projet Jeune chercheur de l'UFC porté par +Christophe Guyeux dont le thème était +\og la sécurisation numérique par chaos\fg{}. J'ai répondu avec succès à l'appel à projets de la région de Franche-Comté en 2015: j'ai participé à l'élaboration du @@ -841,6 +846,9 @@ avec l'I3S, le LORIA et le LIF de MArseille. \item participant à un projet PHC Cedre 2015: \og méthodes et outils pour concevoir, évaluer et déployer des réseaux de capteurs pour l'agriculture au liban\fg{} avec l'Université Libanaise. +\item participant au projet PEPS JCJC INS2I 2015, sur +\og Prédiction bio-informatique de l'évolution des génomes\fg{} avec le +LMB et le l'université de Neuchâtel en Suisse. \end{itemize} \subsection{Collaborations} @@ -927,7 +935,7 @@ où j'ai présenté \og Steganography: secure and robust algorithms \fg{} et en -\newpage +%\newpage \section{Encadrement et co-encadrement d'étudiants} \subsection{Thèse d'université} @@ -996,7 +1004,7 @@ Le stage a commencé le 01 avril 2015 et sera soutenu le 31 août 2015. \end{itemize} -\newpage +%\newpage \section{Participation à des tâches d'intérêt collectif} \subsection{Tâches d'enseignement} @@ -1062,7 +1070,7 @@ Je suis régulièrement membre de jury des épreuves TIPE, épreuves communes -\newpage +%\newpage \section{Publications après la thèse}\label{sec:publi} Le tableau de la figure~\ref{fig:bilan} donné ci dessous synthétise les références détaillées ci-après. @@ -1186,6 +1194,7 @@ Au DISC à FEMTO-ST& \subsection{Journaux internationaux avec comité de sélection} +\vspace{-2em} \begin{thebibliography}{CHG{\etalchar{+}}14b} \makeatletter @@ -1235,6 +1244,7 @@ Jean-Fran\c{c}ois Couchot, Karine Deschinkel, and Michel Salomon. \subsection{Journaux internationaux avec comité de sélection (en cours de soumission)} +\vspace{-2em} \begin{thebibliography}{CHG{\etalchar{+}}14b} \makeatletter @@ -1274,7 +1284,7 @@ Mohammed Bakiri, Christophe Guyeux, Jean-Fran\c{c}cois Couchot, and \end{thebibliography} \subsection{Conférences internationales avec comité de sélection} - +\vspace{-2em} \begin{thebibliography}{CHG{\etalchar{+}}14b} \makeatletter \addtocounter{\@listctr}{14} @@ -1458,6 +1468,7 @@ J'ai été invité: \end{itemize} \subsection{Communications diverses} +\vspace{-2em} \begin{thebibliography}{CHG{\etalchar{+}}14b} \makeatletter diff --git a/main.tex b/main.tex index 4ef11c8..327136e 100644 --- a/main.tex +++ b/main.tex @@ -225,7 +225,10 @@ On montre qu'on a des résultats similaires. \input{14Secrypt} -\chapter{Quelques expérimentations} +%\chapter{Quelques expérimentations} + + +\part{Application au masquage d'information} -- 2.39.5