%  En préambule,  les  sources metapost.  Si  vous lancez  latex  sur ce  fichier,  il vous  placera
% automatiquement le fichier .mp dans le répertoire courant. 
\begin{filecontents*}{RoueCesar.mp}

%input newcourbes;
%input couleur;
input geometriesyr16;
%input TEX;
%input latexmp;



verbatimtex
%&latex
\documentclass{article}
\usepackage[upright]{fourier}
\usepackage{preambule}
\begin{document}
etex

beginfig(1);

  vardef Cesar(expr d) =
    
  
  
  pair o;
  o:=(-5cm,0);
  path c;
  c:=fullcircle  scaled 5cm shifted(-5cm,0);
  draw c withpen pencircle scaled 1.3bp withcolor blue ;

  for i=0 upto 25 :
    numeric r;
    r:=(i+d) mod 26;
   label(char(65+i),pointarc(c,90-i*360/26)) rotatedaround(pointarc(c,90-i*360/26),-i*360/26) shifted 0.1(pointarc(c,90-i*360/26)-o);
   label(char(65+r ),pointarc(c,90-i*360/26)) rotatedaround(pointarc(c,90-i*360/26),-i*360/26) shifted -0.1(pointarc(c,90-i*360/26)-o) withcolor green;
  endfor;
  


  enddef;

  Cesar(3);
  
endfig;


end



\end{filecontents*}





\documentclass[xcolor={hyperref,dvips,ps2pdf},dvips]{beamer} 
\usepackage[baw]{fvrb-ex}
\fvset{xrightmargin=0cm,gobble=2}%,formatcom=color{blue}}
\graphicspath{{/home/moi/Photos/Maths/}}
\usepackage{BeamerPolymaths}
\renewcommand\FancyVerbFormatLine[1]{\colorbox{green}{#1}}

\mode<presentation>
{
  \usetheme[secheader]{Madrid}
  % or ...Warsaw

  \setbeamercovered{highly dynamic}
  % or whatever (possibly just delete it)
}


\title[Chiffrement de César] % (optional, use only with long paper titles)
{Chiffrement de César}

\subtitle{}

\author[] % (optional, use only with lots of authors)
{Guillaume CONNAN }
% - Give the names in the same order as the appear in the paper.
% - Use the inst{?} command only if the authors have different
%   affiliation.

\institute{Lycée Jean PERRIN}% (optional, but mostly needed)


\date[] % (optional, should be abbreviation of conference name)
{}
% - Either use conference name or its abbreviation.
% - Not really informative to the audience, more for people (including
%   yourself) who are reading the slides online

\subject{}

\AtBeginSubsection[]
{
  \begin{frame}<beamer>
    \frametitle{Sommaire}
     
    \tableofcontents[currentsection,currentsubsection]
       
  \end{frame}
}


% If you wish to uncover everything in a step-wise fashion, uncomment
% the following command: 

\beamerdefaultoverlayspecification{<+->}


\begin{document}

\begin{frame}
  \titlepage
\end{frame}

\begin{frame}
  \frametitle{Sommaire}
  \tableofcontents
  % You might wish to add the option [pausesections]
\end{frame}

\begin{frame}
\begin{center}
  \includegraphics[height=0.6\textheight]{asterix1.eps}
\end{center}

\end{frame}


\section{Un peu d'histoire}

\begin{frame}

Comme le disait Suétone (70-127) dans La vie des 12 Césars~:


\begin{quote}
Extant et ad Ciceronem, item ad familiares domesticis de rebus, in quibus, si qua occultius perferenda erant, per notas scripsit, id est sic structo litterarum ordine, ut nullum uerbum effici posset: quae si qui inuestigare et persequi uelit, quartam elementorum litteram, id est D pro A et perinde reliquas commutet.
\end{quote}


\end{frame}



\begin{frame}

Ce que César aurait peut-être écrit sous cette forme~:

\begin{quote}

Rkgnag rg nq Pvprebarz, vgrz nq snzvyvnerf qbzrfgvpvf qr erohf, va dhvohf, fv dhn bpphygvhf
cresreraqn renag, cre abgnf fpevcfvg, vq rfg fvp fgehpgb yvggrenehz beqvar, hg ahyyhz hreohz rssvpv
cbffrg: dhnr fv dhv vahrfgvtner rg crefrdhv hryvg, dhnegnz ryrzragbehz yvggrenz, vq rfg Q ceb N rg
crevaqr eryvdhnf pbzzhgrg.

\end{quote}


\end{frame}



\begin{frame}
  Certains seront sûrement plus à l'aise avec cette nouvelle transcription du même texte~:

  \begin{quote}
    On possède enfin de César des lettres à Cicéron, et sa correspondance avec ses amis 
sur ses affaires domestiques. Il y employait, pour les choses tout à fait secrètes, une espèce de chiffre qui en rendait le sens inintelligible (les  lettres étant disposées de manière à ne pouvoir jamais former un mot), et qui consistait, je le dis pour ceux qui voudront les déchiffrer, à changer le rang des lettres dans l'alphabet, en écrivant la quatrième pour la première, c'est-à-dire le D pour l'A, et ainsi de suite.
  \end{quote}

\end{frame}


\section{À vous de jouer}


\subsection{Vous êtes César}

\begin{frame}
  Vous voulez transmettre cet important message~:

  \begin{quote}
    Les sanglots longs des violons de l'automne
  \end{quote}
\end{frame}

\subsection{Vous êtes Vercingétorix}

\begin{frame}
  Vous voulez traduire ce message intercepté par vos espions~:

  \begin{quote}
    eohvvhqw\#prq\#frhxu\#g*xqh\#odqjxhxu\#prqrwrqh
  \end{quote}
\end{frame}



\section{Un peu de bricolage}

\begin{frame}
  \title{La règle ou la roue~?}
  Que vous inspire ce dessin~:

\begin{center}
  \includegraphics{RoueCesar.1}
\end{center}
\end{frame}


\section{Un peu de mathématiques}


\begin{frame}
  Codons chaque lettre par un nombre~: $A\longmapsto 0$, $B\longmapsto 1$, etc. 

  \pause

  Comment modéliser la chiffrement de César~?


  \pause

  Y a-t-il un problème~?

  \pause

  Qu'ont en commun 29 et 3~?

\end{frame}

\section{Un peu d'informatique}


\subsection{Table de codage}
\begin{frame}

Supposons que nous disposions de cette table de codage

{\tiny

\begin{center}
             \begin{tabularx}{.95\textwidth}{*{10}{|X}|}
	     
\hline             	  	  	  	  	  	  	  	 
0 & 1  ! &	2  " &	3 \#  &	4 \$ &	5 \% &	6 \& &	7  ' &	8 (  &	9 )  \\
\hline             	  
10 * &  11 + &	12 , &   13 - &	14 . &	15 / &	16 0 &	17 1 &	18 2 &	19 3 \\
\hline             	  
20 4  & 21 5 &	22 6 &	23 7 &	24 8 &	25 9 &	26 : &	27  ;& 	28 < &	29 = \\
\hline             	  
30 >  & 31 ? &	32 \@ &	33 A &	34 B &	35 C &	36 D &	37 E &	38 F &	39 G \\
\hline             	  
40 H  & 41 I &	42 J &	43 K &	44 L &	45 M &	46 N &	47 O &	48 P &	49 Q \\
\hline             	  
50 R  & 51 S &	52 T &	53 U &	54 V &	55 W &	56 X &	57 Y &	58 Z &	59 [  \\
\hline             	  
60 \textbackslash & 61 ] &	62 \textasciicircum &	63 \_ &	64 ` &	65 a &	66 b &	67 c &	68 d &	69 e  \\
\hline             	  
70 f  & 71 g &	72 h &	73 i &	74 j &	75 k &	76 l &	77 m &	78 n &	79 o  \\
\hline             	  
80 p  & 81 q &	82 r &	83 s &	84 t &	85 u &	86 v &	87 w &	88 x &	89 y  \\
\hline             	  
90 z  & 91 \{ &	92 \textbar &	93 \} &	94 \textasciitilde &	95 ê &	96 ù &	97 ç &	98 à &	99 è  \\
\hline
100 é & 101 Ê & 102 Ç & 103 À & 104 É & 105 È & & & & \\
             \hline
             \end{tabularx}
             \end{center}
}
\end{frame}



\begin{frame}
  Et supposons que nous disposions d'une procédure \texttt{code(``message'')} qui transforme un
  message en une liste de codes.

\pause


Par exemple \emph{MOI} devient

\pause

$[45,47,41]$

\pause 

et de la fonction \texttt{decode} associée.


\end{frame}


\begin{frame}
  Tout langage de programmation de calcul programmable admet

  \begin{itemize}
  \item une fonction calculant le reste de la division euclidienne de deux entiers;
  \item une fonction ajoutant un opérande à une liste
  \end{itemize}

\pause


Imaginez alors un algorithme de codage selon la méthode du glorieux César.

\end{frame}



\subsection{Avec XCAS}



\begin{frame}
  \begin{itemize}
  \item \texttt{irem(a,b)} calcule le reste de la division euclidienne de a par b
  \item \texttt{concat(C,op)} ajoute l'élément \texttt{op} au bout de la chaîne \texttt{C} 
  \end{itemize}

 
\end{frame}





\begin{frame} \frametitle{Un ASCII adapté}
  Les américains ont mis au point le code ASCII : ils ont donc oublié de coder nos lettres
  accentuées...

\pause

De plus, parmi toutes les touches codées, seules celles contenant un certains nombre de caractères
nous intéressent.


\end{frame}


\begin{frame}[fragile] \frametitle{Codage}
  \begin{Verbatim}
  code:= (c)->{ 
  if (c==''é'') return(100) ;  
  if (c==''è'') return(99) ;  
  if (c==''à'') return(98) ;  
  if (c==''ç'') return(97) ;  
  if (c==''ù'') return(96) ;  
  if (c==''ê'') return(95) ;  
  etc.
\end{Verbatim}

\pause

\begin{Verbatim}

  return(asc(c)-32);  
};
\end{Verbatim}

\pause


À vous d'imaginer la procédure \texttt{decode}...
\end{frame}




\begin{frame}[fragile]\frametitle{Ze programme}
  Ce qui donne au c\oe ur du programme~:
{\footnotesize
  \begin{Verbatim}
     messcode:=concat(messcode,decode(irem(cle+code(message[j]),106)));
  \end{Verbatim}
    }
      
    
  \pause

À vous de reconstituer le reste...

\end{frame}






\end{document}
%%% Local Variables: 
%%% mode: latex
%%% TeX-master: t
%%% End: 
