<?xml 
version="1.0" encoding="utf-8"?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
>

<channel xml:lang="fr">
	<title>uZine 3</title>
	<link>http://www.uzine.net/</link>
	<description></description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>




<item xml:lang="fr">
		<title>Les joies de la cryptographie</title>
		<link>http://www.uzine.net/article1758.html</link>
		<guid isPermaLink="true">http://www.uzine.net/article1758.html</guid>
		<dc:date>2002-07-15T14:29:37Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Lirresponsable</dc:creator>


		<dc:subject>PGP</dc:subject>

		<description>
&lt;p&gt;PGP est un acronyme pour Pretty Good Privacy. C'est un logiciel de cryptographie (forte), utilis&#233; pour le courrier &#233;lectronique. Il est relativement s&#251;r, m&#234;me s'il peut sans doute, comme tout, &#234;tre crack&#233; &#224; terme (question de temps, d'argent, du calibre d'arme). La s&#251;ret&#233; d'un syst&#232;me, de mani&#232;re g&#233;n&#233;rale, ne se r&#233;sume pas &#224; l'inviolabilit&#233; de l'outil de chiffrement, car elle englobe les relations humaines. On va essayer dans cette petite pr&#233;sentation de se familiariser avec la cryptographie, afin de mieux saisir (...)&lt;/p&gt;


-
&lt;a href="http://www.uzine.net/rubrique82.html" rel="directory"&gt;Comment utiliser PGP ?&lt;/a&gt;

/ 
&lt;a href="http://www.uzine.net/mot68.html" rel="tag"&gt;PGP&lt;/a&gt;

		</description>


 <content:encoded>&lt;img class='spip_logo spip_logo_right spip_logos' alt=&#034;&#034; style='float:right' src='http://www.uzine.net/local/cache-vignettes/L109xH125/arton1758-78733.jpg?1618728826' width='109' height='125' /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;PGP est un acronyme pour &lt;a href='http://www.uzine.net/article1355.html' class='spip_in'&gt;Pretty Good Privacy&lt;/a&gt;. C'est un logiciel de cryptographie (forte), utilis&#233; pour le courrier &#233;lectronique. Il est relativement s&#251;r, m&#234;me s'il peut sans doute, comme tout, &#234;tre crack&#233; &#224; terme (question de temps, d'argent, du calibre d'arme). La s&#251;ret&#233; d'un syst&#232;me, de mani&#232;re g&#233;n&#233;rale, ne se r&#233;sume pas &#224; l'inviolabilit&#233; de l'outil de chiffrement, car elle englobe les relations humaines. On va essayer dans cette petite pr&#233;sentation de se familiariser avec la cryptographie, afin de mieux saisir PGP.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;&lt;strong&gt;D&#233;finition&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Crypto vient du grec &lt;i&gt;Kryptos&lt;/i&gt; : recouvert, cach&#233;, secret, et graphie, du verbe grec lui-aussi &lt;i&gt;graph&#244;&lt;/i&gt; = j'&#233;cris. Comme par exemple : porno-graphie, &#233;crit sur la prostitution. (Dans la m&#234;me famille : Verbe krypteu&#244; = cacher, se tenir cach&#233;, en embuscade. Krypt&#234; : vo&#251;te souterraine, crypte. Krupt&#244; : couvrir, cacher, celer, faire myst&#232;re).&lt;/p&gt;
&lt;p&gt;La cryptographie est donc l'art d'&#233;crire de mani&#232;re chiffr&#233;e, afin que seul celui qui poss&#232;de la cl&#233; de d&#233;chiffrement puisse lire le message en clair.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;Mais dans le temps, comment ils faisaient ?&lt;/h3&gt;
&lt;p&gt;La cryptographie est vieille, les amis, puisque m&#234;me les Grecs l'utilisaient, et &#224; leur suite les Romains, avant donc l'invention d'Internet, les chansons de Britney Spears ou les films de Traci Lords. Il s'agit, dans l'Antiquit&#233;, de prot&#233;ger les communications d'ordre militaire ou politique (l'&#233;conomie en est un sous-ensemble), et d'emp&#234;cher ou de retarder la lecture du message en cas d'interception par l'ennemi (ce qui &#233;vince aussi les gros curieux tent&#233;s de vendre ces informations). Cette finalit&#233; est demeur&#233;e intacte de nos jours. Utilisant des syst&#232;mes beaucoup plus modernes, elle est une des causes de l'apparition de l'informatique (balistique + chiffrement). D'autres moyens, encore plus anciens, ont &#233;t&#233; utilis&#233;s avant les Grecs et les Romains, dans le rapport &#224; l'&#233;criture au service de la protection de l'information : ce sont les langues sacr&#233;es, les alphabets magiques, voire l' absence d'&#233;criture (enseignement uniquement oral), etc., mais cela nous amenerait trop loin du sujet.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Un bout de cuir, un b&#226;ton, et roule !&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Comment s'y prenait-on en ces &#226;ges h&#233;ro&#239;ques ? L'exp&#233;diteur enroulait une lani&#232;re en spires parall&#232;les sur un b&#226;ton de diam&#232;tre d&#233;fini, appel&#233; la scytale (mot qui signifie &#171; b&#226;ton &#187; en grec). Il &#233;crivait ensuite son message transversalement dans le sens du fameux b&#226;ton ou scytale. En d&#233;roulant la bande, le message devenait inintelligible. Sauf pour la personne qui poss&#233;dait un b&#226;ton de m&#234;me diam&#232;tre et qui enroulait la lani&#232;re pour le lire, en g&#233;n&#233;ral le destinataire du message. (Voir en ligne &lt;a href=&#034;http://www.apprendre-en-ligne.net/crypto/transpo/scytale.html&#034; class='spip_out' rel='external'&gt;La scytale spartiate&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;La protection de l'information est ici assez faible, puisqu'il suffit d'essayer un cylindre de diam&#232;tre identique ou tr&#232;s proche pour pouvoir lire le message. Encore faut-il conna&#238;tre la combine, amigo. En changeant de contexte, voir dans les &lt;i&gt;Quipus&lt;/i&gt;, les cordelettes de diff&#233;rentes couleurs avec des noeuds, utilis&#233;s par les Incas autre chose qu'un objet d&#233;coratif.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tout est nombre&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ensuite, nous trouvons une autre fa&#231;on de &lt;i&gt;chiffrer&lt;/i&gt; le message : le fameux carr&#233; de Polybe. Il s'agit d'un tableau de 5 x 5 cases dans lequel sont &#233;crites toutes les lettres de l'alphabet (25, puisque les Romains ne disposent pas de la diff&#233;rence entre &#034;i&#034; et &#034;j&#034;, ce qui est pratique pour obtenir un carr&#233;). Pour coder une lettre, on la remplace par ses coordonn&#233;es dans le carr&#233;. Ainsi, A donne (1, 1), B donne (1,2), C (1,3), F (2,1), etc.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;le carr&#233; de Polybe&lt;/i&gt;&lt;/p&gt;
&lt;table class=&#034;spip&#034;&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;A&lt;/td&gt;
&lt;td&gt;B&lt;/td&gt;
&lt;td&gt;C&lt;/td&gt;
&lt;td&gt;D&lt;/td&gt;
&lt;td&gt;E&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;F&lt;/td&gt;
&lt;td&gt;G&lt;/td&gt;
&lt;td&gt;H&lt;/td&gt;
&lt;td&gt;I&lt;/td&gt;
&lt;td&gt;K&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;L&lt;/td&gt;
&lt;td&gt;M&lt;/td&gt;
&lt;td&gt;N&lt;/td&gt;
&lt;td&gt;O&lt;/td&gt;
&lt;td&gt;P&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;Q&lt;/td&gt;
&lt;td&gt;R&lt;/td&gt;
&lt;td&gt;S&lt;/td&gt;
&lt;td&gt;T&lt;/td&gt;
&lt;td&gt;U&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;V&lt;/td&gt;
&lt;td&gt;W&lt;/td&gt;
&lt;td&gt;X&lt;/td&gt;
&lt;td&gt;Y&lt;/td&gt;
&lt;td&gt;Z&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;On obtient alors des suites num&#233;riques. Par exemple, &#171; Ce soir il mange une pizza &#187; chiffr&#233;e de la sorte, nous donne : &#171; (1,3) ; (1,5) ; (4,3) ; (3,4) ; (2,4) ; (4,2) ; (2,4) ; (3,1) ; (3,2) ; (1,1) ; (3,3) ; (2,2) ; (1,5) ; (1,5) ; (3,3) ; (1,5) ; (3,5) ; (2,4) ; (5,5) ; (5,5) ; (1,1) &#187;. Suite que l'on peut &#233;crire de diff&#233;rentes fa&#231;ons, par exemple :&lt;br class='autobr' /&gt;
&#171; 13154334 24422431321133221515 33153524 5555 11 &#187;. Evidemment &#224; la place des lettres dans le carr&#233;, on peut mettre des b&#226;timents et jouer &#224; la bataille navale.&lt;/p&gt;
&lt;p&gt;Plus tard, on trouve l'auteur de &lt;i&gt;La Guerre des Gaules&lt;/i&gt; qui utilise non plus une traduction des lettres par un couplet de nombres (les coordonn&#233;es de la lettre dans la figure g&#233;om&#233;trique) mais un d&#233;calage entre la suite ordonn&#233;e des lettres de l'alphabet et celle des lettres utilis&#233;es pour le texte chiffr&#233;.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Exemple&lt;/i&gt;. Le code de C&#233;sar.&lt;/p&gt;
&lt;p&gt;&lt;img src='http://www.uzine.net/local/cache-vignettes/L8xH11/puce-32883.gif?1581558833' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; Il n'y avait pas d'espaces dans le texte (de plus, les anciens &#233;crivaient ainsi la plupart du temps) :&lt;/p&gt;
&lt;p&gt;&#171; Les gaulois sont des boeufs &#187; = &#171; lesgauloissontdesboeufs &#187;.&lt;/p&gt;
&lt;p&gt;&lt;img src='http://www.uzine.net/local/cache-vignettes/L8xH11/puce-32883.gif?1581558833' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; Chaque lettre est d&#233;cal&#233;e de trois rangs dans l'alphabet : A devenait D, B devenait E, etc. :&lt;/p&gt;
&lt;p&gt;&#171; ohvkdyormvvrqwghverhyiv &#187;&lt;/p&gt;
&lt;p&gt;&lt;img src='http://www.uzine.net/local/cache-vignettes/L8xH11/puce-32883.gif?1581558833' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; Le texte est red&#233;coup&#233; en s&#233;quences quelconques :&lt;/p&gt;
&lt;p&gt;&#171; ohv kdyo rmvv rqwghv erh yiv &#187;&lt;/p&gt;
&lt;p&gt;Ce chiffrement tr&#232;s simple a fini, on s'en doute, par &#234;tre connu. Pour le percer, on peut utiliser des tables de fr&#233;quences. Ce qui sert lorsque l'on joue au pendu (pour rire) : celui qui &#233;crit le mot myst&#232;re utilise par anticipation de pr&#233;f&#233;rence des mots avec beaucoup de consonnes rares. Prenons une lettre pr&#233;sente dans de nombreux mot la voyelle &#171; e &#187;, par quoi est-elle remplac&#233;e dans le code ? A partir de l&#224;, on en d&#233;duit empiriquement le d&#233;calage utilis&#233; par rapport &#224; l'ordre alpab&#233;tique, assez vite car le nombre de substitutions est limit&#233;.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Liens&lt;/i&gt; :
&lt;br /&gt;&lt;img src='http://www.uzine.net/local/cache-vignettes/L8xH11/puce-32883.gif?1581558833' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href=&#034;http://www.stega.net/ste/histoire.htm&#034; class='spip_out' rel='external'&gt;Crypto &amp; st&#233;gano &#224; travers les &#226;ges&lt;/a&gt;
&lt;br /&gt;&lt;img src='http://www.uzine.net/local/cache-vignettes/L8xH11/puce-32883.gif?1581558833' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href=&#034;http://www.jura.ch/lcp/cours/dm/codage/histoire/&#034; class='spip_out' rel='external'&gt;Petite histoire de la cryptologie&lt;/a&gt;
&lt;br /&gt;&lt;img src='http://www.uzine.net/local/cache-vignettes/L8xH11/puce-32883.gif?1581558833' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href=&#034;http://www.anujseth.com/crypto/history.html&#034; class='spip_out' rel='external'&gt;The Data Encryption Page&lt;/a&gt;&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;La cryptographie moderne&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Algorithme dans la peau&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;La notion clef est celle d'&lt;a href=&#034;http://www.linux-france.org/prj/jargonf/A/algorithme.html&#034; class='spip_out' rel='external'&gt;algorithme&lt;/a&gt;. Le mot provient d'une forme latinis&#233;e (algorithmus) de l'arabe (al-khawarizmi). En math&#233;matiques, puis en informatique, l'algorithme d&#233;signe une suite finie de r&#232;gles appliqu&#233;es &#224; des donn&#233;es (en nombre fini) qui vont produire un r&#233;sultat. Pas de panique, c'est ce que l'on a vu avec l'exemple du code de C&#233;sar. Donnons lui une forme plus g&#233;n&#233;rale :&lt;/p&gt;
&lt;p&gt;1. Choisir un nombre n compris entre 1 et 25.&lt;/p&gt;
&lt;p&gt;2. Remplacer chaque lettre du mot &#224; chiffrer par la lettre se trouvant n lettres plus loin. Condition : si cette lettre d&#233;borde des 26 lettres, on recommence au d&#233;but (par la lettre a).&lt;/p&gt;
&lt;p&gt;3. Toute autre signe (espace, chiffre, etc.) est retranscrit sans modification.&lt;/p&gt;
&lt;p&gt;Par exemple pour n = 1 tous les &#171; a &#187; sont remplac&#233;s par des &#171; b &#187;, tous les &#171; b &#187; par des &#171; c &#187;, etc. jusqu'au &#171; z &#187; qui sera remplac&#233; par un &#171; a &#187;. Voici la table de traduction pour n = 2 :&lt;/p&gt;
&lt;table class=&#034;spip&#034;&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;a&lt;/td&gt;
&lt;td&gt;b&lt;/td&gt;
&lt;td&gt;c&lt;/td&gt;
&lt;td&gt;d&lt;/td&gt;
&lt;td&gt;e&lt;/td&gt;
&lt;td&gt;f&lt;/td&gt;
&lt;td&gt;g&lt;/td&gt;
&lt;td&gt;h&lt;/td&gt;
&lt;td&gt;i&lt;/td&gt;
&lt;td&gt;j&lt;/td&gt;
&lt;td&gt;k&lt;/td&gt;
&lt;td&gt;l&lt;/td&gt;
&lt;td&gt;m&lt;/td&gt;
&lt;td&gt;n&lt;/td&gt;
&lt;td&gt;o&lt;/td&gt;
&lt;td&gt;p&lt;/td&gt;
&lt;td&gt;q&lt;/td&gt;
&lt;td&gt;r&lt;/td&gt;
&lt;td&gt;s&lt;/td&gt;
&lt;td&gt;t&lt;/td&gt;
&lt;td&gt;u&lt;/td&gt;
&lt;td&gt;v&lt;/td&gt;
&lt;td&gt;w&lt;/td&gt;
&lt;td&gt;x&lt;/td&gt;
&lt;td&gt;y&lt;/td&gt;
&lt;td&gt;z&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;c&lt;/td&gt;
&lt;td&gt;d&lt;/td&gt;
&lt;td&gt;e&lt;/td&gt;
&lt;td&gt;f&lt;/td&gt;
&lt;td&gt;g&lt;/td&gt;
&lt;td&gt;h&lt;/td&gt;
&lt;td&gt;i&lt;/td&gt;
&lt;td&gt;j&lt;/td&gt;
&lt;td&gt;k&lt;/td&gt;
&lt;td&gt;l&lt;/td&gt;
&lt;td&gt;m&lt;/td&gt;
&lt;td&gt;n&lt;/td&gt;
&lt;td&gt;o&lt;/td&gt;
&lt;td&gt;p&lt;/td&gt;
&lt;td&gt;q&lt;/td&gt;
&lt;td&gt;r&lt;/td&gt;
&lt;td&gt;s&lt;/td&gt;
&lt;td&gt;t&lt;/td&gt;
&lt;td&gt;u&lt;/td&gt;
&lt;td&gt;v&lt;/td&gt;
&lt;td&gt;w&lt;/td&gt;
&lt;td&gt;x&lt;/td&gt;
&lt;td&gt;y&lt;/td&gt;
&lt;td&gt;z&lt;/td&gt;
&lt;td&gt;a&lt;/td&gt;
&lt;td&gt;b&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Le texte &#171; wahou 18 bouteilles c'est cool ! &#187; sera traduit par &#171; ycjqw 18 dqwvgknnqu e'guv eqqn ! &#187;.&lt;/p&gt;
&lt;p&gt;L'inconv&#233;nient, le point d'exclamation, les nombres et l'apostrophe sont retranscrits en clair, ils ne sont pas chiffr&#233;s. On sait d&#233;j&#224; dans la forme chiffr&#233;e qu'il est question du nombre 18. Il faudrait disposer d'un code g&#233;n&#233;ral pour tous les signes utilis&#233;s (lettres, chiffres, signes de ponctuation, symboles). Donc construire un tableau de correspondance pour tous les signes et leur assigner une valeur num&#233;rique univoque. Pour utiliser un ordinateur, qui est avant tout un calculateur, c'est indispensable.&lt;/p&gt;
&lt;p&gt;Remarquez, &#231;a tombe bien, ce code existe, il s'appelle ASCII (American Standard Code for Information Interchange). C'est l'un des standards les plus utilis&#233;s sur la plupart des ordinateurs. Le code ASCII d&#233;finit pr&#233;cis&#233;ment la correspondance entre symboles et nombres jusqu'au nombre 127. 32 va coder l'espace, 109 le &#171; m &#187; minuscule, 63 le point d'interrogation &#171; ? &#187;.&lt;/p&gt;
&lt;p&gt;Oui mais le m&#234;me probl&#232;me demeure, on augmente le nombre de signes de l'ensemble (lettres majuscules et minuscules, chiffres, caract&#232;res sp&#233;ciaux) on sait que n est compris entre 127- 32,( car les codes 0 &#224; 31 ne sont pas des caract&#232;res comme les autres, ils servent &#224; des op&#233;rations sur l'ordinateur, ce sont des caract&#232;res de contr&#244;le) et que l'algorithme consiste &#224; substituer tous les signes en appliquant la m&#234;me valeur n. Un peu faiblard.&lt;/p&gt;
&lt;dl class='spip_document_498 spip_documents spip_documents_center'&gt;
&lt;dt&gt;&lt;img src='http://www.uzine.net/local/cache-vignettes/L137xH218/doc-498-b702e.jpg?1618729092' width='137' height='218' alt='' /&gt;&lt;/dt&gt;
&lt;dt class='spip_doc_titre' style='width:137px;'&gt;&lt;strong&gt;Une exp&#233;rience &#224; tenter&lt;/strong&gt;&lt;/dt&gt;
&lt;dd class='spip_doc_descriptif' style='width:137px;'&gt;La cryptographie change sa mani&#232;re de voir le monde. En utilisant PGP on est davantage &#224; l'&#233;coute de la nature.
&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;&lt;strong&gt;Ch&#233;rie, t'as pas vu mes cl&#233;s ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ne confondons pas la cl&#233; et le code utilis&#233; pour les symboles. La cl&#233; est de mani&#232;re imag&#233;e la combinaison d'un coffre-fort, une suite num&#233;rique qui permet d'ouvrir le m&#233;canisme. La mani&#232;re dont est construite le m&#233;canisme est vari&#233;e. Sur un coffre-fort ancien, on a des petites molettes gradu&#233;es et num&#233;rot&#233;es, et sur le mod&#232;le d'une serrure : la combinaison correcte, la &#171; cl&#233; &#187;, qui permet d'ouvrir la porte du coffre, et donc d'avoir acc&#232;s &#224; ce que le coffre renferme.&lt;/p&gt;
&lt;p&gt;Et si on musclait un peu l'algorithme pr&#233;c&#233;dent, par exemple : au lieu de d&#233;caler toutes les signes qui composent le texte de la m&#234;me valeur &lt;i&gt;n&lt;/i&gt;, on d&#233;cidait que pour le premier signe n=2, puis pour le deuxi&#232;me n=18, pour le troisi&#232;me n=7, pour le quatri&#232;me n=22, pour le cinqui&#232;me n=8 et au sixi&#232;me signe, on r&#233;p&#232;te la manoeuvre. Cette suite de chiffres [2, 18, 7, 22, 8] va composer la cl&#233; de chiffrement.&lt;/p&gt;
&lt;p&gt;Construisons d'abord notre code :&lt;/p&gt;
&lt;table class=&#034;spip&#034;&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;a&lt;/td&gt;
&lt;td&gt;b&lt;/td&gt;
&lt;td&gt;c&lt;/td&gt;
&lt;td&gt;d&lt;/td&gt;
&lt;td&gt;e&lt;/td&gt;
&lt;td&gt;f&lt;/td&gt;
&lt;td&gt;g&lt;/td&gt;
&lt;td&gt;h&lt;/td&gt;
&lt;td&gt;i&lt;/td&gt;
&lt;td&gt;j&lt;/td&gt;
&lt;td&gt;k&lt;/td&gt;
&lt;td&gt;l&lt;/td&gt;
&lt;td&gt;m&lt;/td&gt;
&lt;td&gt;n&lt;/td&gt;
&lt;td&gt;o&lt;/td&gt;
&lt;td&gt;p&lt;/td&gt;
&lt;td&gt;q&lt;/td&gt;
&lt;td&gt;r&lt;/td&gt;
&lt;td&gt;s&lt;/td&gt;
&lt;td&gt;t&lt;/td&gt;
&lt;td&gt;u&lt;/td&gt;
&lt;td&gt;v&lt;/td&gt;
&lt;td&gt;w&lt;/td&gt;
&lt;td&gt;x&lt;/td&gt;
&lt;td&gt;y&lt;/td&gt;
&lt;td&gt;z&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;17&lt;/td&gt;
&lt;td&gt;18&lt;/td&gt;
&lt;td&gt;19&lt;/td&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;td&gt;21&lt;/td&gt;
&lt;td&gt;22&lt;/td&gt;
&lt;td&gt;23&lt;/td&gt;
&lt;td&gt;24&lt;/td&gt;
&lt;td&gt;25&lt;/td&gt;
&lt;td&gt;26&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Un peu trop simple, le nombre qui correspond &#224; une lettre est sa place dans l'ordre alphab&#233;tique. On d&#233;cide d'inverser l'ordre :&lt;/p&gt;
&lt;table class=&#034;spip&#034;&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;a&lt;/td&gt;
&lt;td&gt;b&lt;/td&gt;
&lt;td&gt;c&lt;/td&gt;
&lt;td&gt;d&lt;/td&gt;
&lt;td&gt;e&lt;/td&gt;
&lt;td&gt;f&lt;/td&gt;
&lt;td&gt;g&lt;/td&gt;
&lt;td&gt;h&lt;/td&gt;
&lt;td&gt;i&lt;/td&gt;
&lt;td&gt;j&lt;/td&gt;
&lt;td&gt;k&lt;/td&gt;
&lt;td&gt;l&lt;/td&gt;
&lt;td&gt;m&lt;/td&gt;
&lt;td&gt;n&lt;/td&gt;
&lt;td&gt;o&lt;/td&gt;
&lt;td&gt;p&lt;/td&gt;
&lt;td&gt;q&lt;/td&gt;
&lt;td&gt;r&lt;/td&gt;
&lt;td&gt;s&lt;/td&gt;
&lt;td&gt;t&lt;/td&gt;
&lt;td&gt;u&lt;/td&gt;
&lt;td&gt;v&lt;/td&gt;
&lt;td&gt;w&lt;/td&gt;
&lt;td&gt;x&lt;/td&gt;
&lt;td&gt;y&lt;/td&gt;
&lt;td&gt;z&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;26&lt;/td&gt;
&lt;td&gt;25&lt;/td&gt;
&lt;td&gt;24&lt;/td&gt;
&lt;td&gt;23&lt;/td&gt;
&lt;td&gt;22&lt;/td&gt;
&lt;td&gt;21&lt;/td&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;td&gt;19&lt;/td&gt;
&lt;td&gt;18&lt;/td&gt;
&lt;td&gt;17&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Oui mais c'est toujours &#233;vident, on va plut&#244;t ajouter &#224; chaque nombre un entier naturel n=2 et inverser l'ordre &#224; partir de la moiti&#233; (13) :&lt;/p&gt;
&lt;table class=&#034;spip&#034;&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;a&lt;/td&gt;
&lt;td&gt;b&lt;/td&gt;
&lt;td&gt;c&lt;/td&gt;
&lt;td&gt;d&lt;/td&gt;
&lt;td&gt;e&lt;/td&gt;
&lt;td&gt;f&lt;/td&gt;
&lt;td&gt;g&lt;/td&gt;
&lt;td&gt;h&lt;/td&gt;
&lt;td&gt;i&lt;/td&gt;
&lt;td&gt;j&lt;/td&gt;
&lt;td&gt;k&lt;/td&gt;
&lt;td&gt;l&lt;/td&gt;
&lt;td&gt;m&lt;/td&gt;
&lt;td&gt;n&lt;/td&gt;
&lt;td&gt;o&lt;/td&gt;
&lt;td&gt;p&lt;/td&gt;
&lt;td&gt;q&lt;/td&gt;
&lt;td&gt;r&lt;/td&gt;
&lt;td&gt;s&lt;/td&gt;
&lt;td&gt;t&lt;/td&gt;
&lt;td&gt;u&lt;/td&gt;
&lt;td&gt;v&lt;/td&gt;
&lt;td&gt;w&lt;/td&gt;
&lt;td&gt;x&lt;/td&gt;
&lt;td&gt;y&lt;/td&gt;
&lt;td&gt;z&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;28&lt;/td&gt;
&lt;td&gt;27&lt;/td&gt;
&lt;td&gt;26&lt;/td&gt;
&lt;td&gt;25&lt;/td&gt;
&lt;td&gt;24&lt;/td&gt;
&lt;td&gt;23&lt;/td&gt;
&lt;td&gt;22&lt;/td&gt;
&lt;td&gt;21&lt;/td&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;td&gt;19&lt;/td&gt;
&lt;td&gt;18&lt;/td&gt;
&lt;td&gt;17&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;td&gt;15&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;On a dit que la cl&#233; est [2, 18, 7, 22, 8]&lt;/p&gt;
&lt;p&gt;&#171; Bonjour m&#233;m[&#233;,je passe de bonnes vacances en lisant uzine] &#187; va nous donner , &#171; 2522102312 121992810 [...] &#187;&lt;/p&gt;
&lt;p&gt;Afin de ne pas rendre &#233;vidente les s&#233;quences de cinq, on choisit un ordre de pr&#233;sentation par exemple, des s&#233;quences de trois chiffres.&lt;/p&gt;
&lt;p&gt;&#171; 252 210 231 212 992 810 etc. &#187;&lt;/p&gt;
&lt;p&gt;On peut incorporer autre chose, par exemple la suite des nombres pairs tous les trois chiffres :&lt;/p&gt;
&lt;p&gt;&#171; 252&lt;strong&gt;2&lt;/strong&gt; 210&lt;strong&gt;4&lt;/strong&gt; 231&lt;strong&gt;6&lt;/strong&gt; 212&lt;strong&gt;8&lt;/strong&gt; 992&lt;strong&gt;10&lt;/strong&gt; 810&lt;strong&gt;12&lt;/strong&gt; etc. &#187;&lt;/p&gt;
&lt;p&gt;Puis on d&#233;cide d'inverser les s&#233;quences obtenues :&lt;/p&gt;
&lt;p&gt;&#171; 2252 4012 6132 8212 01299 21018 etc. &#187;&lt;/p&gt;
&lt;p&gt;Et apr&#232;s dans chaque nombre, tous les deux chiffres, on place la suite des nombres impairs :&lt;/p&gt;
&lt;p&gt;&#171; 22&lt;strong&gt;1&lt;/strong&gt;52 40&lt;strong&gt;3&lt;/strong&gt;12 61&lt;strong&gt;5&lt;/strong&gt;32 82&lt;strong&gt;7&lt;/strong&gt;12 01&lt;strong&gt;9&lt;/strong&gt;29&lt;strong&gt;11&lt;/strong&gt;9 21&lt;strong&gt;13&lt;/strong&gt;01&lt;strong&gt;15&lt;/strong&gt;18 etc &#187;&lt;/p&gt;
&lt;p&gt;Finalement on se d&#233;cide pour des s&#233;quences : 1 chiffre, 3 chiffres, 7 chiffres :&lt;/p&gt;
&lt;p&gt;&#171; 2 215 2403126 1 532 8271201 9 291 1921310 1 151 8 etc &#187;&lt;/p&gt;
&lt;p&gt;Puis histoire d'ergoter, on va multiplier par trois tous les chiffres par intervale de trois :&lt;/p&gt;
&lt;p&gt;&#171; 2 235 21203323 3 536 82211201 9 691 3923310 1 538 etc &#187;&lt;/p&gt;
&lt;p&gt;Et enfin, on colle tout :&lt;/p&gt;
&lt;p&gt;&#171; 223521203323353682211201969139233101538 etc &#187;.&lt;/p&gt;
&lt;p&gt;On voit donc qu'il y a une cl&#233; qui sert &#224; chiffrer le texte, et un ensemble d'instructions qui interviennent sur les donn&#233;es, cet ensemble s'appelle un algorithme. On peut maintenant le tenir secret, enfin pas totalement, on d&#233;pose un brevet Algo-Lirresponsable et dire qu'il est ultra-s&#251;r, et que l'arm&#233;e du Guatemala l'a d'ailleurs adopt&#233;.&lt;/p&gt;
&lt;p&gt;Plus s&#233;rieusement, l'algorithme peut se passer de cette s&#233;rie de manipulations sur les donn&#233;es, &#224; condition de choisir une cl&#233; suffisamment longue, afin d'&#233;viter d'&#234;tre cass&#233;e par des tables statistiques. Et si nous utilisions une partie du texte en clair pour chiffrer ? Il va nous falloir un op&#233;rateur logique qui permette d'augmenter le nombre des permutations et qui soit simple d'usage.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce bon vieux p&#232;re Boole !&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;L'alg&#232;bre de Boole est avant tout une alg&#232;bre de classes, ce qui est tr&#232;s pratique pour un traitement des donn&#233;es num&#233;riques, mais pas pour formaliser des &#233;nonc&#233;s du langage naturel, comme : &#171; si &lt;a href=&#034;http://www.couleurnewyork.com/films/Tarzanany.htm&#034; class='spip_out' rel='external'&gt;Tarzan&lt;/a&gt; n'est pas lev&#233; assez t&#244;t, alors cheetah, qui appartient &#224; la famille des singes, en profite pour chourrer les bananes au petit d&#233;jeuner &#187;. En effet dans ce cas une alg&#232;bre des propositions avec des variables qui prennent comme valeurs les deux valeurs Vrai et Faux, est plus souple et donc pr&#233;f&#233;rable. Ceci &#233;tant dit, la distinction qui nous pr&#233;occupe est celle entre deux types de &#171; ou &#187;.&lt;/p&gt;
&lt;p&gt;Le &#171; ou &#187; peut &#234;tre inclusif (&#171; OR &#187; dans l'alg&#232;bre de Boole, &#171; V &#187; dans la logique des propositions), comme lorsque la ma&#238;tresse de maison nous demande &#224; la fin du repas : &#171; vous prendrez bien un petit caf&#233; ou un cognac... &#187;. La possibilit&#233; de prendre le petit caf&#233; ne nous prive pas d'un cognac apr&#232;s le caf&#233;, sauf chez les rustres mais passons...Le &#171; ou &#187; inclusif offre la possibilit&#233; aux propositions qu'il relie d'&#234;tre v&#233;rifi&#233;es en m&#234;me temps.&lt;/p&gt;
&lt;p&gt;En paraphrasant : la formule (S) : &#171; vous prendrez un petit caf&#233; ou vous prendrez un cognac &#187; peut &#234;tre vraie si A : &#171; vous prendrez un petit caf&#233; &#187; et B : &#171; vous prendrez un cognac &#187; sont vraies.&lt;/p&gt;
&lt;p&gt;d'o&#249; la table de v&#233;rit&#233; :&lt;/p&gt;
&lt;table class=&#034;spip&#034;&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;A&lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt;B&lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt;S&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;V&lt;/td&gt;
&lt;td&gt;OU&lt;/td&gt;
&lt;td&gt;V&lt;/td&gt;
&lt;td&gt;=&lt;/td&gt;
&lt;td&gt;V&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;V&lt;/td&gt;
&lt;td&gt;OU&lt;/td&gt;
&lt;td&gt;F&lt;/td&gt;
&lt;td&gt;=&lt;/td&gt;
&lt;td&gt;V&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;F&lt;/td&gt;
&lt;td&gt;OU&lt;/td&gt;
&lt;td&gt;V&lt;/td&gt;
&lt;td&gt;=&lt;/td&gt;
&lt;td&gt;V&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;F&lt;/td&gt;
&lt;td&gt;OU&lt;/td&gt;
&lt;td&gt;F&lt;/td&gt;
&lt;td&gt;=&lt;/td&gt;
&lt;td&gt;F&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;On utilise ici comme valeur (V,F) mais on peut les remplacer par (1,0).&lt;/p&gt;
&lt;table class=&#034;spip&#034;&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;A&lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt;B&lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt;S&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;OU&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;=&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;OU&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;=&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;OU&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;=&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;OU&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;=&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Par contre pour le &#171; ou exclusif &#187;, (&#171; XOR &#187; dans l'alg&#232;bre de Boole), il en va autrement.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Exemple.&lt;/i&gt; &#171; oh cousine ! Tu danses ou je t'explose ! &#187;.&lt;/p&gt;
&lt;p&gt;On va interpr&#233;ter &#171; Tu danses ou je t'explose ! &#187; de cette fa&#231;on : si la cousine danse alors il ne t'explose pas et seulement si elle danse, le &#171; ou &#187; est exclusif. Car monsieur est un gentleman, si la cousine danse, il ne l'explose pas.&lt;/p&gt;
&lt;p&gt;d'o&#249; la table de v&#233;rit&#233; :&lt;/p&gt;
&lt;table class=&#034;spip&#034;&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;A&lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt;B&lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt;S&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;XOR&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;=&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;XOR&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;=&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;XOR&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;=&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;XOR&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;=&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;La formule S est vraie (=1) si A est vrai, B est vrai mais pas quand les deux sont vrais (1 XOR 1 = 0). L'int&#233;r&#234;t d'utiliser l'alg&#232;bre de Boole, avec comme valeur (0,1) est bien entendu de permettre un traitement binaire du calcul (il n'y a comme valeur que 0 et 1). Ce que l'on va voir dans le paragraphe suivant, retenons donc cette table de l'op&#233;rateur XOR.&lt;/p&gt;
&lt;p&gt;&lt;img src='http://www.uzine.net/local/cache-vignettes/L8xH11/puce-32883.gif?1581558833' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href=&#034;http://perso.club-internet.fr/valetg/prof/electron/logique/logic1.htm&#034; class='spip_out' rel='external'&gt;logique combinatoire avec montages &#233;lectriques, par Gilles Bouvier et G&#233;na&#235;l Valet&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Codage XOR, c'est lui qui fait la loi&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;On a vu &#224; quoi correspond la porte logique XOR dans l'alg&#232;bre de Boole, il est maintenant temps de parler de bits chiffr&#233;s et de bits en clair, car le public adulte a le droit de savoir. Rappelons qu'un bit est la plus petite unit&#233; trait&#233;e par un ordinateur, qui peut prendre comme valeur (1,0).&lt;/p&gt;
&lt;p&gt;Consid&#233;rons deux bits : A le bit en clair (non chiffr&#233;) et B le bit de la cl&#233; de chiffrement (qu'il faut garder secret, putain d&#233;conne pas !).&lt;/p&gt;
&lt;p&gt;Apr&#232;s l'op&#233;ration A XOR B, on obtient un bit C qui sera le bit chiffr&#233;. Enfin, si on effectue une nouvelle op&#233;ration avec C (le bit chiffr&#233;) et B (la cl&#233;), on retrouve le bit A d'origine, non chiffr&#233;. Trop kikoo, c'est le principe du chiffrement sym&#233;trique : la m&#234;me cl&#233; permet de chiffrer et d&#233;chiffrer un message.&lt;/p&gt;
&lt;p&gt;D'o&#249; les &#233;galit&#233;s :&lt;/p&gt;
&lt;p&gt;A XOR B = C et C XOR B = A&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Exemple&lt;/i&gt;. Soit le message en clair A = 0110101011010100, et la cl&#233; B = 0101011011100110.&lt;br class='autobr' /&gt;
Pour obtenir un message chiffr&#233; C, il suffit d'utiliser l'op&#233;rateur XOR :&lt;/p&gt;
&lt;table class=&#034;spip&#034;&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;A&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;B&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;C&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;et on constate que C XOR B nous donne bien A :&lt;/p&gt;
&lt;table class=&#034;spip&#034;&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;C&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;B&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;A&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;1&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;
&lt;td class='numeric '&gt;0&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;La cl&#233; B est compos&#233;e de seize bits (deux octets), ce qui n'est pas beaucoup, 2 puissance 16 = 65.536 possibilit&#233;s. En augmentant la longueur de la cl&#233;, on complique tr&#232;s tr&#232;s s&#233;rieusement le cassage.&lt;/p&gt;
&lt;p&gt;&lt;img src='http://www.uzine.net/local/cache-vignettes/L8xH11/puce-32883.gif?1581558833' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; Source : &lt;a href=&#034;http://www.mathic.ovh.org/crypto/xor/index.html&#034; class='spip_out' rel='external'&gt;netProbl&#232;MATHique - XOR, par Girard Yoni&lt;/a&gt;
&lt;br /&gt;&lt;img src='http://www.uzine.net/local/cache-vignettes/L8xH11/puce-32883.gif?1581558833' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href=&#034;http://leuco-site.net/tv/spip/xmpl_crypt.php3&#034; class='spip_out' rel='external'&gt;cadeau bonus : un codage XOR avec la source en php&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;L'algorithme DES&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Le DES (Data Encryption Standard) invent&#233; en 1975 est un algorithme &#224; clef secr&#232;te : la m&#234;me clef sert au chiffrement et au d&#233;chiffrement. Chaque utilisateur choisit sa propre cl&#233;, mais il doit, pour permettre le d&#233;chiffrement, communiquer celle-ci aux divers destinataires de ses messages ; l&#224; r&#233;side le point faible : car si plusieurs personnes ont la cl&#233; de chiffrement/d&#233;chiffrement, on multiplie les possibilit&#233;s de fuites.&lt;/p&gt;
&lt;p&gt;L'algorithme DES est un syst&#232;me de chiffrement par blocs. Cela signifie qu'il ne chiffre pas les donn&#233;es &#224; la vol&#233;e quand les caract&#232;res arrivent (caract&#232;re par caract&#232;re), comme dans l'exemple du code de C&#233;sar, mais qu'il d&#233;coupe sans se g&#234;ner le texte clair en blocs de 64 bits qu'il chiffre s&#233;par&#233;ment, puis qu'il concat&#232;ne (il les met bout &#224; bout).&lt;/p&gt;
&lt;p&gt;Un bloc de 64 bits du texte clair entre par l'algorithme et un bloc de 64 bits de texte chiffr&#233; en sort. L'algorithme est relativement simple puisqu'il combine des permutations et des substitutions. On parle en cryptologie de techniques de confusion et de diffusion.&lt;/p&gt;
&lt;p&gt;&lt;img src='http://www.uzine.net/local/cache-vignettes/L8xH11/puce-32883.gif?1581558833' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href=&#034;http://www.itel.ch/Technologie/Securit&#233;/le_des.htm&#034; class='spip_out' rel='external'&gt;Le Data Encryption Standard (DES)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;R&#233;sum&#233;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Formalisons :&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Soit une cl&#233; k et un texte clair T, on obtient le texte chiffr&#233; C par l'application de l'algorithme f :&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;C = f k (T)&lt;/p&gt;
&lt;p&gt;&lt;i&gt;et l'op&#233;ration inverse pour le d&#233;chiffrement :&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;T = f' k (C)&lt;/p&gt;
&lt;p&gt;Si f = f', alors le syst&#232;me est dit sym&#233;trique.&lt;/p&gt;
&lt;p&gt;Cependant, un probl&#232;me demeure : comment transmettre de mani&#232;re s&#251;re la cl&#233; au correspondant ?&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;PGP&lt;/h3&gt;&lt;blockquote&gt;
&lt;p&gt;Il y a deux sortes de cryptographie en ce monde : celle qui emp&#234;chera votre petite soeur de lire vos dossiers, et celle qui arr&#234;tera les principaux gouvernements. Ce livre traite de la deuxi&#232;me.&lt;/p&gt;
&lt;p&gt;Bruce Schneier, &lt;i&gt;Applied Cryptography : Protocols, Algorithms, and Source Code in C&lt;/i&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Le site de r&#233;f&#233;rence en fran&#231;ais (Manuel, download, FAQ, explications, configuration, installation du logiciel etc.) est :&lt;/p&gt;
&lt;p&gt;&lt;img src='http://www.uzine.net/local/cache-vignettes/L8xH11/puce-32883.gif?1581558833' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href=&#034;http://www.openpgp.fr.st/&#034; class='spip_out' rel='external'&gt;OpenPGP en fran&#231;ais&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Pr&#233;sentons donc bri&#232;vement PGP, puisque le lecteur trouvera sur OpenPGP tous les renseignements (quelle version choisir ? Comment installer les plug-in pour le logiciel de messagerie ? etc.). Ce qui le caract&#233;rise tout d'abord, c'est l'utilisation d'une paire de cl&#233;s.&lt;/p&gt;
&lt;p&gt;&lt;img src='http://www.uzine.net/local/cache-vignettes/L8xH11/puce-32883.gif?1581558833' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; une cl&#233; publique &lt;br /&gt;&lt;img src='http://www.uzine.net/local/cache-vignettes/L8xH11/puce-32883.gif?1581558833' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; une cl&#233; priv&#233;e&lt;/p&gt;
&lt;p&gt;En effet, la cl&#233; de chiffrement est publique. Cela peut para&#238;tre surprenant &#224; premi&#232;re vue puisqu'on se souvient que dans les exemples pr&#233;c&#233;dents, la cl&#233; de chiffrement devait rester secr&#232;te. A condition de se souvenir &#233;galement que la cl&#233; de chiffrement &#233;tait aussi celle de d&#233;chiffrement. Or avec PGP nous avons une paire de cl&#233;s. Il y a bien un rapport entre les deux : seul celui qui poss&#232;de la cl&#233; priv&#233;e associ&#233;e &#224; la cl&#233; publique peut d&#233;chiffrer un texte chiffr&#233; avec la cl&#233; publique. (Philip Zimmermann, le concepteur de PGP, utilise l'image d'une prise m&#226;le et d'une prise femelle).&lt;/p&gt;
&lt;p&gt;Et on remarque aussit&#244;t qu'une difficult&#233; est lev&#233;e : on peut diffuser librement sa cl&#233; de chiffrement (et l'authentifier), puisqu'elle est distincte de la cl&#233; de d&#233;chiffrement.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mais, diantre, comment est-ce possible !&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;PGP, son truc &#224; lui, c'est qu'il combine plusieurs algorithmes, l'IDEA et le RSA, afin d'apporter une solution au probl&#232;me. Il nous faut donc en dire quelques mots, avant de poursuivre.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;IDEA&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;L'IDEA (International Data Encryption Algorithm) invent&#233; en 1992, effectue des op&#233;rations du m&#234;me genre que celles vues avec l'algorithme DES, il manipule des blocs de 64 bits avec une cl&#233; de 128 bits.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RSA&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;En 1978, l'algorithme &#224; cl&#233; publique de Ronald &lt;strong&gt;R&lt;/strong&gt;ivest, Adi &lt;strong&gt;S&lt;/strong&gt;hamir et Leonard &lt;strong&gt;A&lt;/strong&gt;delman (RSA) appara&#238;t. Le fonctionnement du cryptosyst&#232;me RSA, jargonons un peu, est asym&#233;trique et utilise une paire de cl&#233;s. Asym&#233;trique signifie que l'algorithme de chiffrement et de d&#233;chiffrement ne sont pas identiques.&lt;/p&gt;
&lt;p&gt;Il est bas&#233; sur une limite actuelle des techniques de factorisation, c'est-&#224;-dire la d&#233;composition des nombres de plus de 100 chiffres en facteurs premiers. Rappelons qu'un nombre entier plus grand que 1 est un nombre premier si ses seuls diviseurs sont 1 et lui-m&#234;me. 2, 3, 5, 7, 11 et 13 sont des nombres premiers, et pas 10=2*5, 12=3*4=2*6, etc.&lt;/p&gt;
&lt;p&gt;Les nombres premiers ont cependant de curieuses propri&#233;t&#233;s, mais passionnantes comme l'on en conviendra ais&#233;ment, par exemple : il existe une infinit&#233; de nombres premiers et la factorisation d'un nombre en facteurs premiers est unique.&lt;/p&gt;
&lt;p&gt;L'algorithme RSA fonctionne avec une paire de cl&#233;s unique elle-aussi : une cl&#233; publique et une cl&#233; priv&#233;e. La cl&#233; publique contient le produit de deux nombres premiers tr&#232;s grands, et un autre nombre qui lui est propre. L'algorithme de chiffrement utilise ces nombres pour chiffrer le message par blocs. L'algorithme de d&#233;chiffrement n&#233;cessite quant &#224; lui l'utilisation d'un nombre contenu uniquement dans la cl&#233; priv&#233;e.&lt;/p&gt;
&lt;p&gt;En sch&#233;matisant :&lt;/p&gt;
&lt;p&gt;Un nombre public : n = p*q (p et q sont des nombres premiers tr&#232;s grands). On calcule n'= (p-1)*(q-1), il s'agit en fait de la fonction indicatrice d'Euler. Cette valeur de &lt;i&gt;n'&lt;/i&gt; va servir &#224; d&#233;terminer les valeurs du nombre &lt;i&gt;d&lt;/i&gt; de la cl&#233; priv&#233;e et &lt;i&gt;e&lt;/i&gt; de la cl&#233; publique.&lt;/p&gt;
&lt;p&gt;La cl&#233; priv&#233;e contient un nombre &lt;i&gt;d&lt;/i&gt;, qui est choisi de telle sorte que &lt;i&gt;d&lt;/i&gt; et &lt;i&gt;n'&lt;/i&gt; soient premiers entre eux, c'est-&#224;-dire que le plus grand diviseur commun de &lt;i&gt;d&lt;/i&gt; et &lt;i&gt;n'&lt;/i&gt; est 1. Ce que l'on note PGCD (d, n')=1. Le nombre &lt;i&gt;d&lt;/i&gt; doit &#234;tre inf&#233;rieur &#224; &lt;i&gt;n'&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;La cl&#233; publique contient un nombre &lt;i&gt;e&lt;/i&gt; positif, et le produit e*d doit &#234;tre premier avec &lt;i&gt;n'&lt;/i&gt;. Il va &#234;tre d&#233;termin&#233; de la sorte : e*d - k*n' = 1. Pour le trouver, on utilise un algorithme d'Euclide appliqu&#233; &#224; l'identit&#233; de Bezout.&lt;/p&gt;
&lt;p&gt;La cl&#233; publique contient donc &lt;i&gt;e&lt;/i&gt; et &lt;i&gt;n&lt;/i&gt; et la cl&#233; priv&#233;e &lt;i&gt;d&lt;/i&gt;. Une fois que la paire de cl&#233;s a &#233;t&#233; cr&#233;&#233;e, il ne sera plus fait mention des deux nombres premiers &lt;i&gt;p&lt;/i&gt; et &lt;i&gt;q&lt;/i&gt; dont le produit est &#233;gal &#224; &lt;i&gt;n&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;Quelqu'un qui dispose de la cl&#233; publique ne peut donc pas calculer la cl&#233; priv&#233;e, car pour trouver la valeur de &lt;i&gt;d&lt;/i&gt;, il lui faudrait conna&#238;tre les deux facteurs premiers de &lt;i&gt;n&lt;/i&gt;, les tr&#232;s grands nombres premiers &lt;i&gt;p&lt;/i&gt; et &lt;i&gt;q&lt;/i&gt; qui servent aussi &#224; calculer &lt;i&gt;n'&lt;/i&gt;, or cela rencontre actuellement une limite technique : la factorisation des grands nombres, c'est-&#224;-dire qu'en connaissant uniquement &lt;i&gt;n&lt;/i&gt; on ne peut pas retrouver les nombres premiers &lt;i&gt;p&lt;/i&gt; et &lt;i&gt;q&lt;/i&gt;. C'est pourquoi seul celui qui poss&#232;de la cl&#233; priv&#233;e qui contient &lt;i&gt;d&lt;/i&gt; pourra d&#233;chiffrer le message. En g&#233;n&#233;ral son propri&#233;taire.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Voir en d&#233;tail le chiffrement/d&#233;chiffrement :&lt;/i&gt;
&lt;br /&gt;&lt;img src='http://www.uzine.net/local/cache-vignettes/L8xH11/puce-32883.gif?1581558833' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href=&#034;http://minimum.inria.fr/~raynal/index.php3?page=6&#034; class='spip_out' rel='external'&gt;Codage RSA, par Fr&#233;deric.Raynal&lt;/a&gt;
&lt;br /&gt;&lt;img src='http://www.uzine.net/local/cache-vignettes/L8xH11/puce-32883.gif?1581558833' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href=&#034;http://www.univ-montp2.fr/~irem/codage.pdf&#034; class='spip_out' rel='external'&gt;Les nombres premiers au secours de la cryptographie&lt;/a&gt;
&lt;br /&gt;&lt;img src='http://www.uzine.net/local/cache-vignettes/L8xH11/puce-32883.gif?1581558833' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href=&#034;http://www.dma.ens.fr/culturemath/maths/pdf/nombres/RSA.pdf&#034; class='spip_out' rel='external'&gt;Sur l'algorithme RSA, par Thomas Chomette&lt;/a&gt;
&lt;br /&gt;&lt;img src='http://www.uzine.net/local/cache-vignettes/L8xH11/puce-32883.gif?1581558833' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href=&#034;http://mathadora.free.fr/curiosites/dossier_cryptographie.html&#034; class='spip_out' rel='external'&gt;Cryptographie : le code RSA, par Pierre Amigo&lt;/a&gt;&lt;/p&gt;
&lt;dl class='spip_document_499 spip_documents spip_documents_center'&gt;
&lt;dt&gt;&lt;img src='http://www.uzine.net/local/cache-vignettes/L200xH160/doc-499-9eda3.jpg?1618729092' width='200' height='160' alt='' /&gt;&lt;/dt&gt;
&lt;dt class='spip_doc_titre' style='width:200px;'&gt;&lt;strong&gt;On se fait des amis&lt;/strong&gt;&lt;/dt&gt;
&lt;dd class='spip_doc_descriptif' style='width:200px;'&gt;Avec la cryptographie forte, naissent de solides amiti&#233;s, et des journ&#233;es VTT o&#249; l'on s'&#233;change ses signatures de cl&#233;s
&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;&lt;strong&gt;PGP : combien de cl&#233;s, alors ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;PGP utilise tout d'abord l'algorithme IDEA, il cr&#233;e une cl&#233; secr&#232;te de mani&#232;re al&#233;atoire, et chiffre le message avec cette cl&#233;, qui est une cl&#233; de session, (elle change &#224; chaque utilisation). On a vu que l'algorithme IDEA utilise une cl&#233; secr&#232;te de 128 bits, et bien l&#224; voil&#224;. On l'appellera dans les paragraphes suivants cl&#233; IDEA, pour abr&#233;ger l'expression &#171; la cl&#233; de 128 bits utilis&#233;e dans l'algorithme IDEA &#187;. PGP chiffre ensuite la cl&#233; secr&#232;te IDEA pr&#233;c&#233;demment cr&#233;&#233;e au moyen de la cl&#233; RSA publique du destinataire. La cl&#233; secr&#232;te IDEA, qui a servi &#224; chiffrer le message, va donc &#234;tre transmise chiffr&#233;e dans le message.&lt;/p&gt;
&lt;p&gt;Le destinataire re&#231;oit donc un texte chiffr&#233;, mais avec la cl&#233; qui a servi &#224; le chiffrer, ce sans quoi bien s&#251;r, il ne pourrait pas le d&#233;chiffrer. Et il n'y aura que lui &#224; pouvoir d&#233;chiffrer cette fameuse cl&#233; IDEA. Est donc bien r&#233;solu le probl&#232;me de la transmission de la cl&#233; de chiffrement du texte.&lt;/p&gt;
&lt;p&gt;L'exp&#233;diteur a juste &#224; lancer la commande de chiffrement du texte, c'est le logiciel qui se charge bien entendu de cr&#233;er la cl&#233; secr&#232;te et de la chiffrer avec la cl&#233; publique du destinataire.&lt;/p&gt;
&lt;p&gt;Le destinataire poss&#232;de si tout va bien l'unique cl&#233; priv&#233;e associ&#233;e. Pour d&#233;chiffrer le message, PGP doit d'abord d&#233;chiffrer la cl&#233; IDEA qui a &#233;t&#233; cr&#233;&#233;e et chiffr&#233;e avec la cl&#233; publique. Puis une fois qu'il a d&#233;chiffr&#233; la cl&#233; IDEA, il d&#233;chiffre le texte du message avec cette derni&#232;re.&lt;/p&gt;
&lt;p&gt;L&#224; encore, le logiciel se charge de tout, il demande juste &#224; l'utilisateur de taper le mot de passe qui prot&#232;ge sa cl&#233; priv&#233;e, qui va donc servir &#224; d&#233;chiffer la fameuse cl&#233; IDEA.&lt;/p&gt;
&lt;p&gt;La cl&#233; priv&#233;e est prot&#233;g&#233;e par un mot de passe, ou plus exactement par une phrase, afin d'obtenir un nombre de bits suffisants pour la chifffrer. Il serait dommage que Philip Zimmermann se soit donn&#233; tout ce mal pour qu'un utilisateur choisisse &#171; kiki &#187; comme mot de passe.&lt;/p&gt;
&lt;p&gt;On voit donc qu'il y a en quelque sorte trois cl&#233;s : la cl&#233; publique associ&#233;e &#224; une cl&#233; priv&#233;e, utilis&#233;es par l'algorithme RSA et une cl&#233; de session utilis&#233;e dans l'algorithme IDEA, li&#233;e &#224; un message. On a donc une combinaison de chiffrement sym&#233;trique (la cl&#233; IDEA qui chiffre le texte) et de chiffrement &#224; cl&#233; publique (RSA) qui chiffre la cl&#233; secr&#232;te. C'est pourquoi, les sp&#233;cialistes parlent de chiffrement hybride.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Quelques liens&lt;/i&gt; :
&lt;br /&gt;&lt;img src='http://www.uzine.net/local/cache-vignettes/L8xH11/puce-32883.gif?1581558833' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href=&#034;http://www.pgpi.org/doc/pgpintro/&#034; class='spip_out' rel='external'&gt;intro PGPi&lt;/a&gt;
&lt;br /&gt;&lt;img src='http://www.uzine.net/local/cache-vignettes/L8xH11/puce-32883.gif?1581558833' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href=&#034;http://security.tao.ca/francais/crypt.html&#034; class='spip_out' rel='external'&gt;Technologie du cryptage&lt;/a&gt;
&lt;br /&gt;&lt;img src='http://www.uzine.net/local/cache-vignettes/L8xH11/puce-32883.gif?1581558833' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href=&#034;http://cryptanalyse.free.fr/Web_Ter/home.html&#034; class='spip_out' rel='external'&gt;Introduction &#224; la cryptographie&lt;/a&gt;
&lt;br /&gt;&lt;img src='http://www.uzine.net/local/cache-vignettes/L8xH11/puce-32883.gif?1581558833' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href=&#034;http://www.swcp.com/~iacr/&#034; class='spip_out' rel='external'&gt;International Association&lt;br class='autobr' /&gt;
for Cryptologic Research&lt;/a&gt;
&lt;br /&gt;&lt;img src='http://www.uzine.net/local/cache-vignettes/L8xH11/puce-32883.gif?1581558833' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href=&#034;http://cryptosec.lautre.net/article.php3?id_article=15&#034; class='spip_out' rel='external'&gt;sur Diffie-Hellman&lt;/a&gt;
&lt;br /&gt;&lt;img src='http://www.uzine.net/local/cache-vignettes/L8xH11/puce-32883.gif?1581558833' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href=&#034;http://www.chez.com/vivett/public_html/crypto/&#034; class='spip_out' rel='external'&gt;La cryptographie&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
