<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!-- saved from url=(0059)http://www.jura.ch/lcp/cours/dm/codage/jefferson/index.html --> <HTML><HEAD><TITLE>Le cylindre de Jefferson</TITLE> <META http-equiv=Content-Type content="text/html; charset=windows-1252"> <SCRIPT language=JavaScript>  function cylindre(form) { var ch="<HTML><HEAD><TITLE>Cylindre de Jefferson</TITLE></HEAD>"; ch+='<FRAMESET COLS="5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5" border="0">'; ch+='<frame src="cylindre/JEF'+form[2].value+'.htm" name="'+form[2].value+'">'; ch+='<frame src="cylindre/JEF'+form[3].value+'.htm" name="'+form[3].value+'">'; ch+='<frame src="cylindre/JEF'+form[4].value+'.htm" name="'+form[4].value+'">'; ch+='<frame src="cylindre/JEF'+form[5].value+'.htm" name="'+form[5].value+'">'; ch+='<frame src="cylindre/JEF'+form[6].value+'.htm" name="'+form[6].value+'">'; ch+='<frame src="cylindre/JEF'+form[7].value+'.htm" name="'+form[7].value+'">'; ch+='<frame src="cylindre/JEF'+form[8].value+'.htm" name="'+form[8].value+'">'; ch+='<frame src="cylindre/JEF'+form[9].value+'.htm" name="'+form[9].value+'">'; ch+='<frame src="cylindre/JEF'+form[10].value+'.htm" name="'+form[10].value+'">'; ch+='<frame src="cylindre/JEF'+form[11].value+'.htm" name="'+form[11].value+'">'; ch+='<frame src="cylindre/JEF'+form[12].value+'.htm" name="'+form[12].value+'">'; ch+='<frame src="cylindre/JEF'+form[13].value+'.htm" name="'+form[13].value+'">'; ch+='<frame src="cylindre/JEF'+form[14].value+'.htm" name="'+form[14].value+'">'; ch+='<frame src="cylindre/JEF'+form[15].value+'.htm" name="'+form[15].value+'">'; ch+='<frame src="cylindre/JEF'+form[16].value+'.htm" name="'+form[16].value+'">'; ch+='<frame src="cylindre/JEF'+form[17].value+'.htm" name="'+form[17].value+'">'; ch+='<frame src="cylindre/JEF'+form[18].value+'.htm" name="'+form[18].value+'">'; ch+='<frame src="cylindre/JEF'+form[19].value+'.htm" name="'+form[19].value+'">'; ch+='<frame src="cylindre/JEF'+form[20].value+'.htm" name="'+form[20].value+'">'; ch+='<frame src="cylindre/JEF'+form[21].value+'.htm" name="'+form[21].value+'">'; ch+="<noframes>"; ch+="<body>"; ch+="</body>"; ch+="</noframes>"; ch+="</frameset>"; ch+="</HTML>"; return(ch) }  alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';  function motdepasse(mot,form) {   if (mot.value.length>0) { 	mot.value = mot.value.toUpperCase(); 	var lettre; 	var clef = ""; 	for(i=0;i<mot.value.length;i++) 	{ 		lettre = alphabet.indexOf (mot.value.charAt (i)); 		if (lettre < 0) 			continue; 		clef += alphabet.charAt (lettre); 	} 	mot.value=clef; 	while(mot.value.length<20) {mot.value+=mot.value}; 	mot.value=mot.value.substring(0,20); 	var j=1; 	for(var k = 0; k < 26; k++){ 		ch= alphabet.charAt(k); 		for(var i = 0; i < 20; i++){ 			lettre = mot.value.charAt (i); 			if (lettre==ch) { 				form[i+2].value=j; 				j++ 			} 		} 	}   } }   function ouvrir(form) { var haut = 365; var larg = 760; var options = "toolbar=no,location=no,directories=no,status=no," 	+ "menubar=no,scrollbars=yes,resizable=yes,copyhistory=yes," 	+ "width=" + larg + ",height=" + haut; maFenetre=window.open("","Jefferson",options);  maFenetre.document.open(); corps = cylindre(form); maFenetre.focus(); maFenetre.document.write(corps);  maFenetre.document.close(); }  function verif(form) {   var ok=true;   for(j=2;j<22;j++) 	{ 		if((parseInt(form[j].value)<1) || (parseInt(form[j].value)>20)) 			{ok=false} 	}; 	if (ok) 		{ouvrir(form)} 	else 		{alert('Les cylindres sont numrots de 1  20! Vous avez entr un ou plusieurs numros incorrects.')}; }  </SCRIPT>  <link rel="stylesheet" href="../../luc.css" type="text/css"></HEAD> <BODY bgcolor="#FFFFFF" text="#1A2B5C"> <H2 align="center"> Le cylindre de Jefferson</H2> <P align=justify><IMG height=162  src="file:///F|/document/cryptages/lwh/Le%20cylindre%20de%20Jefferson_fichiers/wheel.gif" width=288 align=left> Vers  1800, alors qu'il tait secrtaire d'tat de George Washington, <B>Thomas  Jefferson</B> (1743-1826), futur prsident des tats-Unis, mit au point une  mthode simple et ingnieuse pour coder et dcoder des messages. Le cylindre de  Jefferson (Jefferson's wheel cipher en anglais) consiste en vingt-six roues  pouvant tourner autour d'un axe (voir photo ci-contre). Les vingt-six lettres de  l'alphabet sont inscrites sur la tranche de chaque roue dans un ordre alatoire.  En tournant ces roues, les messages peuvent tre forms.  <P align=justify>Voyons un exemple: l'expditeur du message "Thomas Jefferson  wheel cipher" (voir photo ci-contre) compose ce message sur une ligne, puis,  pour coder son message, regarde une autre ligne du cylindre, par exemple celle  juste au-dessus, commenant par la lettre "M", et envoie cette srie de lettres.  Le destinataire du message reoit alors le message "MZNCSK YONSLKTRF AJQQB  RTXYUK" qu'il compose sur son propre cylindre (identique  celui de  l'expditeur), puis il cherche sur celui-ci la ligne o le texte est  intelligible.  <P> <CENTER><IMG height=173 src="file:///F|/document/cryptages/lwh/Le%20cylindre%20de%20Jefferson_fichiers/jeffersn.jpg"  width=288>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<IMG height=174  src="file:///F|/document/cryptages/lwh/Le%20cylindre%20de%20Jefferson_fichiers/jeffer2.jpg" width=277></CENTER> <P align=justify>La description que Jefferson en a faite est particulirement  claire et rigoureuse:  <P align=justify><IMG height=192  src="file:///F|/document/cryptages/lwh/Le%20cylindre%20de%20Jefferson_fichiers/jefferson.jpg" width=162 align=left><FONT  face="Comic Sans MS" color=#660066><SMALL>Confectionnez un cylindre de bois  blanc d'environ deux pouces de diamtre et six  huit pouces de long. Percez en  son axe un trou suffisant pour recevoir une broche d'un huitime ou un quart de  pouce de diamtre. Divisez le pourtour en 26 parts gales (pour les 26 lettres  de l'alphabet) et, avec un poinon, tracez des lignes parallles, d'un bout   l'autre,  partir des points de division. Tracez ces lignes avec de l'encre pour  les rendre plus apprentes. Puis, dcoupez le cylindre en disques d'environ un  sixime de pouce d'paisseur. Ils ressemblent  des jetons de jacquet. Numrotez  chacun d'entre eux sur une des faces, de faon  pouvoir les assembler dans  n'importe quel ordre que vous aurez choisi. Sur le pourtour de chaque disque et  entre les lignes noires, inscrivez les lettres de l'alphabet, non dans l'ordre  normal mais en dsordre, de faon qu'il n'y ait pas deux disques semblables.  Assemblez-les maintenant dans l'ordre que vous avez choisi, sur l'axe de fer  dont l'une des extrmits a une tte et l'autre un filetage et un crou  permettant de les maintenir fermement. L'appareil est maintenant prt   l'emploi, votre correspondant ayant un cylindre semblable, semblablement  dispos. <BR>[...] <BR>Pour un ensemble donn de disques avec leurs alphabets  dsordonns, on peut produire une trs grande varit de chiffrements  diffrents, en changeant seulement l'ordre des disques du cylindre, car si vous  faites le produit de tous les nombres compris entre 1 et le nombre de disques  (quel qu'il soit), le rsultat donnera le nombre de rangements possibles, donc  de clefs de chiffrement utilisables avec des correspondants diffrents, celle de  chacun d'eux tant inintelligible pour tous les autres.</SMALL></FONT>  <P align=justify>Bien que Jefferson abandonna apparemment l'usage de ce procd  aprs 1802, il fut rinvent juste avant la premire guerre mondiale et <A  href="http://www.maritime.org/csp488.htm" target=_top>utilis notamment dans  l'arme amricaine</A>.  <P> <p>&nbsp;</p><P align=justify>Vous pouvez aller voir une <A  href="http://library.thinkquest.org/28005/flashed/timemachine/courseofhistory/jefferson.shtml"  target=_top>applet java simulant le cylindre de Jefferson</A> (marche seulement    avec Internet Explorer) ou utiliser la version plus simple ci-dessous.  <P>Entrez le mot de passe (sans accents ni caractres spciaux) ou crivez  directement l'ordre des vingts disques (numrots de 1  20) composant le  cylindre: <P> <FORM> <CENTER>     <TABLE width="95%" border="1" bordercolor="#000000">       <TBODY>        <TR bgcolor="#FFFF33">          <TD width="10%"><font size="1">Mot de passe :</font> </TD>             <TD width="90%">            <INPUT size=36 name=mot>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT onclick=motdepasse(mot,this.form) type=button value="Placer les disques" name=construire>      </TD></TR>   <TR>         <TD width="10%"><font size="1">Ordre des disques :</font></TD>             <TD width="90%">            <TABLE border=0>             <TBODY>              <TR>               <TD bgColor=#9AABDC> <INPUT size=2 value=1 name=c1> <INPUT size=2              value=2 name=c2> <INPUT size=2 value=3 name=c3> <INPUT size=2              value=4 name=c4> <INPUT size=2 value=5 name=c5> <INPUT size=2              value=6 name=c6> <INPUT size=2 value=7 name=c7> <INPUT size=2              value=8 name=c8> <INPUT size=2 value=9 name=c9> <INPUT size=2              value=10 name=c10> <INPUT size=2 value=11 name=c11> <INPUT size=2              value=12 name=c12> <INPUT size=2 value=13 name=c13> <INPUT size=2              value=14 name=c14> <INPUT size=2 value=15 name=c15> <INPUT size=2              value=16 name=c16> <INPUT size=2 value=17 name=c17> <INPUT size=2              value=18 name=c18> <INPUT size=2 value=19 name=c19> <INPUT size=2              value=20 name=c20> </TD></TR></TBODY></TABLE></TD></TR>   <TR>         <TD width="10%"></TD>         <TD width="90%">            <INPUT onclick=verif(this.form) type=button value="Crer le cylindre" name=go>        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT type=reset value=Recommencer>    </TD></TR></TBODY></TABLE></CENTER></FORM> <H3>Exercice</H3> <P align=justify><IMG height=13  src="file:///F|/document/cryptages/lwh/Le%20cylindre%20de%20Jefferson_fichiers/lampuz.gif" width=13 align=left> Trouvez  comment le mot de passe fournit l'ordre des disques.  <P> <HR>  <P align=justify><IMG height=21  src="file:///F|/document/cryptages/lwh/Le%20cylindre%20de%20Jefferson_fichiers/calepin.gif" width=19 align=left> Le  commandant franais tienne <B>Bazeries</B> (1846-1931) rinventa en 1891 un  appareil semblable au cylindre de Jefferson. Le colonel italien <B>Ducros</B>  proposa un instrument analogue en 1900.<BR>Aprs que le colonel Joseph O.  <B>Mauborgne</B> (qui sera plus tard gnral de division) et prsent une  amlioration fondamentale dans la construction des alphabets ("Carr latin"),  l'arme amricaine introduisit en 1922 le cylindre chiffrant <A  href="http://www.maritime.org/csp488.htm" target=_top>M-94</A> avec 25 disques,  qui fut utilis pour la troupe jusqu'en 1942.  <p>&nbsp;</p> <div align="center"><a href="subst.php">RETOUR</a><br><br>   <p><font  size="2" ><b>&copy; Luc Andr - http://luc.andre11.free.fr      - 2002</b></font></p>   <p>&nbsp;</p> </div></BODY></HTML> 
