<HTML><HEAD> <TITLE>Le cylindre de Jefferson</TITLE> <link rel="stylesheet" href="../style.css"> <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> </HEAD> <BODY BACKGROUND="../fondcrypto.gif"> <H2><A HREF="../index.html"><IMG ALIGN=Absmiddle SRC="../icones/logocrypt.gif" WIDTH="92" HEIGHT="34" BORDER="0"></A> Le cylindre de Jefferson</H2> <p align="JUSTIFY"> <IMG ALIGN=Left SRC="wheel.gif" WIDTH="288" HEIGHT="162"> 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 chiffrer et dchiffrer 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 chiffrer 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 SRC="jeffersn.jpg" WIDTH="288" HEIGHT="173">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<IMG SRC="jeffer2.jpg" WIDTH="277" HEIGHT="174"></CENTER> <p align="JUSTIFY"> La description que Jefferson en a faite est particulirement claire et rigoureuse: <p align="JUSTIFY"> <IMG ALIGN=Left SRC="jefferson.jpg" WIDTH="162" HEIGHT="192"><FONT COLOR=#660066 face="Comic Sans MS">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.</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> <HR> <p align="JUSTIFY"> Vous pouvez aller voir sur le web 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> <TR> <TD ROWSPAN="3"><IMG SRC="../icones/engrenage.gif" WIDTH="50" HEIGHT="58"> <TD BGCOLOR="#FFCCFF"> Mot de passe <IMG ALIGN=Middle SRC="../icones/clef.gif" WIDTH="23" HEIGHT="11"> </TD> <TD BGCOLOR="#FFCCFF"><INPUT NAME="mot" TYPE=Text VALUE="" SIZE="36">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT NAME="construire" TYPE=Button VALUE="Placer les disques" onClick="motdepasse(mot,this.form)"> </TD> </TR> <TD>Ordre des disques :</TD> <TD> <TABLE BORDER=0> <TR> <TD BGCOLOR="#9C0000"> <INPUT NAME="c1" TYPE=Text VALUE="1" SIZE="2"> <INPUT NAME="c2" TYPE=Text VALUE="2" SIZE="2"> <INPUT NAME="c3" TYPE=Text VALUE="3" SIZE="2"> <INPUT NAME="c4" TYPE=Text VALUE="4" SIZE="2"> <INPUT NAME="c5" TYPE=Text VALUE="5" SIZE="2"> <INPUT NAME="c6" TYPE=Text VALUE="6" SIZE="2"> <INPUT NAME="c7" TYPE=Text VALUE="7" SIZE="2"> <INPUT NAME="c8" TYPE=Text VALUE="8" SIZE="2"> <INPUT NAME="c9" TYPE=Text VALUE="9" SIZE="2"> <INPUT NAME="c10" TYPE=Text VALUE="10" SIZE="2"> <INPUT NAME="c11" TYPE=Text VALUE="11" SIZE="2"> <INPUT NAME="c12" TYPE=Text VALUE="12" SIZE="2"> <INPUT NAME="c13" TYPE=Text VALUE="13" SIZE="2"> <INPUT NAME="c14" TYPE=Text VALUE="14" SIZE="2"> <INPUT NAME="c15" TYPE=Text VALUE="15" SIZE="2"> <INPUT NAME="c16" TYPE=Text VALUE="16" SIZE="2"> <INPUT NAME="c17" TYPE=Text VALUE="17" SIZE="2"> <INPUT NAME="c18" TYPE=Text VALUE="18" SIZE="2"> <INPUT NAME="c19" TYPE=Text VALUE="19" SIZE="2"> <INPUT NAME="c20" TYPE=Text VALUE="20" SIZE="2"> </TD> </TR> </TABLE> </TD> </TR> <TR> <TD></TD> <TD><INPUT NAME="go" TYPE=Button VALUE="Crer le cylindre" onClick="verif(this.form)"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE=Reset VALUE="Recommencer"> </TD> </TR> </TABLE> </CENTER> </FORM> <P> <HR> <IMG ALIGN=Right SRC="../icones/thinker.gif" WIDTH="71" HEIGHT="109"> <H3>Exercice</H3> <H4>Dchiffrement</H4> Dchiffrez  l'aide du programme ci-dessus le texte suivant sachant que le mot de passe est "Nosferatu": <MENU>VZEUY UXRIP DEUJY IWHMO</MENU> <p align="JUSTIFY"><IMG ALIGN=Left SRC="../icones/lampuz.gif" WIDTH="13" HEIGHT="13"> Trouvez comment le mot de passe donne l'ordre des disques. <P> <HR> <p align="JUSTIFY"> <IMG ALIGN=Right SRC="m94.gif" WIDTH="150" HEIGHT="139"> <IMG ALIGN=Left SRC="../icones/calepin.gif" WIDTH="19" HEIGHT="21">  Le commandant franais tienne <B><A HREF="../vigenere/motprobvig.html">Bazeries</A></B> rinventa en 1891 un appareil semblable au cylindre de Jefferson. Le colonel italien <B>Ducros</B> proposa un instrument analogue en 1900.<BR> Le <B>Marquis de Viaris</B> proposa en 1893 une mthode pour dcrypter les messages produits par l'appareil de Bazeries (voir rfrences).<BR> Aprs que le colonel Joseph O. <B><A HREF="../vigenere/masque.html">Mauborgne</A></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> (ci-contre) avec 25 disques, qui fut utilis par la troupe jusqu'en 1942. <P> <HR> <H3>Rfrences</H3> <UL> <LI>Kahn David, <B>La guerre des codes secrets</B>, InterEditions, 1980, pp. 154-156</LI> <LI>Marquis de Viaris, <B>L'art de dchiffrer les dpches secrtes</B>, Gauthier-Villars et fils, G. Masson, Paris, 1893, pp. 99-109 <LI><A HREF="http://www.monticello.org/resources/interests/wheel_cipher.html" TARGET="_top">Monticello Resources:  Wheel Cipher</A></LI> <LI><A HREF="http://library.thinkquest.org/28005/flashed/timemachine/courseofhistory/jefferson.shtml" TARGET="_top">Thomas Jefferson's Wheel Cipher</A></LI> <LI><A HREF="http://home.ecn.ab.ca/~jsavard/crypto/ro020101.htm" TARGET="_top">The Bazeries Cylinder</A></LI> <LI><A HREF="http://members.magnet.at/wilhelm.m.plotz/Bazeries.html" TARGET="_top">Major Bazeries Cipher Device Simulator</A></LI> <LI><A HREF="http://www.maritime.org/csp488.htm" TARGET="_top">Description of CSP-488 a.k.a. M-94</A></LI> </UL> <P> <HR> <TABLE BORDER=0 CELLSPACING=2 CELLPADDING=1 WIDTH=100%> <TR> 	<TD><A HREF="../activites/index.html"><IMG SRC="../icones/back.gif" WIDTH="45" HEIGHT="45" BORDER="0"></A><A HREF="../subst/index.html"><IMG SRC="../icones/reward.gif" border=0></A></TD> 	<TD ALIGN=CENTER><A HREF="http://rosowww.epfl.ch/dm/" TARGET="_top"><IMG ALIGN=Middle SRC="../icones/wilec.gif" BORDER="0"></A><FONT SIZE=1>Didier Mller, 14.10.01</FONT></TD> 	<TD ALIGN=RIGHT><A HREF="../vigenere/autoclave.html"><IMG SRC="../icones/reward2.gif" border=0></A><A HREF="../Enigma/enigma_j.html"><IMG SRC="../icones/forward2.gif" border=0></A></TD> </TR> </TABLE> </BODY> </HTML> 
