[{"data":1,"prerenderedAt":655},["ShallowReactive",2],{"content-notes\u002Ftheorie-information":3},{"id":4,"title":5,"ambience":6,"assets":7,"body":8,"breadcrumb":640,"chunks":7,"completed":6,"creation_date":641,"def":7,"description":642,"disclaimer":6,"extension":643,"featured":45,"hasMath":45,"image":7,"indexed":6,"key":644,"language":645,"meta":646,"metaTitle":7,"navigation":45,"path":647,"review":6,"seo":648,"stem":649,"subtitle":7,"tags":650,"tocEnabled":6,"__hash__":654},"content\u002Ffr\u002Fnotes\u002Ftheorie-information.md","Théorie de l'information",false,null,{"type":9,"value":10,"toc":620},"minimark",[11,16,32,47,50,61,74,81,89,113,121,146,154,163,172,176,181,184,200,209,213,216,219,232,235,238,241,309,312,356,359,362,370,374,377,385,405,415,419,433,438,445,448,453,532,536,550,554,565,573,576,585,593,596],[12,13,15],"h2",{"id":14},"mesure-et-encodage-de-linformation","Mesure et encodage de l'information",[17,18,19,20],"p",{},"Formule de l'entropie de Shannon ",[21,22,23],"sup",{},[24,25,31],"a",{"href":26,"ariaDescribedBy":27,"dataFootnoteRef":29,"id":30},"#user-content-fn-1",[28],"footnote-label","","user-content-fnref-1","1",[33,34,37],"div",{"className":35},[36],"math-display-scroll",[38,39],"math",{"display":40,"className":41,"style":43,"dataCopyLatex":44,"dataCopyDisplay":45,"innerHTML":46},"block",[42],"tml-display","display:block math;","H_b(S) = -\\sum_{s \\in \\mathbf{A}}{p_S(s)\\log_b(p_S(s))}",true,"\u003Cmrow>\u003Cmsub>\u003Cmi>H\u003C\u002Fmi>\u003Cmi>b\u003C\u002Fmi>\u003C\u002Fmsub>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">(\u003C\u002Fmo>\u003Cmi>S\u003C\u002Fmi>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">)\u003C\u002Fmo>\u003C\u002Fmrow>\u003Cmo>=\u003C\u002Fmo>\u003Cmo form=\"prefix\" stretchy=\"false\">−\u003C\u002Fmo>\u003Cmrow>\u003Cmunder>\u003Cmo movablelimits=\"false\">∑\u003C\u002Fmo>\u003Cmrow>\u003Cmi>s\u003C\u002Fmi>\u003Cmo>∈\u003C\u002Fmo>\u003Cmi>𝐀\u003C\u002Fmi>\u003C\u002Fmrow>\u003C\u002Fmunder>\u003C\u002Fmrow>\u003Cmrow>\u003Cmsub>\u003Cmi>p\u003C\u002Fmi>\u003Cmi>S\u003C\u002Fmi>\u003C\u002Fmsub>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">(\u003C\u002Fmo>\u003Cmi>s\u003C\u002Fmi>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">)\u003C\u002Fmo>\u003C\u002Fmrow>\u003Cmsub>\u003Cmi>log\u003C\u002Fmi>\u003Cmi>b\u003C\u002Fmi>\u003C\u002Fmsub>\u003Cmo>⁡\u003C\u002Fmo>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">(\u003C\u002Fmo>\u003Cmsub>\u003Cmi>p\u003C\u002Fmi>\u003Cmi>S\u003C\u002Fmi>\u003C\u002Fmsub>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">(\u003C\u002Fmo>\u003Cmi>s\u003C\u002Fmi>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">)\u003C\u002Fmo>\u003C\u002Fmrow>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">)\u003C\u002Fmo>\u003C\u002Fmrow>\u003C\u002Fmrow>\u003C\u002Fmrow>",[17,48,49],{},"Par convention, lorsque la base b n'est pas précisé, on utilise la base 2 (système binaire) : b = 2.",[17,51,52,56,57],{},[53,54,55],"em",{},"Information Theory (IT) inequality"," :\n",[38,58],{"dataCopyLatex":59,"dataCopyDisplay":6,"innerHTML":60},"log_b(r) \\leq (r+1)log_b(e)","\u003Cmrow>\u003Cmi>l\u003C\u002Fmi>\u003Cmi>o\u003C\u002Fmi>\u003Cmsub>\u003Cmi>g\u003C\u002Fmi>\u003Cmi>b\u003C\u002Fmi>\u003C\u002Fmsub>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">(\u003C\u002Fmo>\u003Cmi>r\u003C\u002Fmi>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">)\u003C\u002Fmo>\u003C\u002Fmrow>\u003Cmo>≤\u003C\u002Fmo>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">(\u003C\u002Fmo>\u003Cmi>r\u003C\u002Fmi>\u003Cmo>+\u003C\u002Fmo>\u003Cmn>1\u003C\u002Fmn>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">)\u003C\u002Fmo>\u003C\u002Fmrow>\u003Cmi>l\u003C\u002Fmi>\u003Cmi>o\u003C\u002Fmi>\u003Cmsub>\u003Cmi>g\u003C\u002Fmi>\u003Cmi>b\u003C\u002Fmi>\u003C\u002Fmsub>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">(\u003C\u002Fmo>\u003Cmi>e\u003C\u002Fmi>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">)\u003C\u002Fmo>\u003C\u002Fmrow>\u003C\u002Fmrow>",[17,62,63,64,73],{},"pour tout ",[65,66,69],"span",{"className":67},[68],"inline-math",[38,70],{"dataCopyLatex":71,"dataCopyDisplay":6,"innerHTML":72},"r > 0","\u003Cmrow>\u003Cmi>r\u003C\u002Fmi>\u003Cmo>>\u003C\u002Fmo>\u003Cmn>0\u003C\u002Fmn>\u003C\u002Fmrow>",".",[17,75,76,77,80],{},"La longueur moyenne des ",[53,78,79],{},"codewords"," :",[33,82,84],{"className":83},[36],[38,85],{"display":40,"className":86,"style":43,"dataCopyLatex":87,"dataCopyDisplay":45,"innerHTML":88},[42],"L(S, Γ) = \\sum_{s \\in \\mathbf{A}} p_S(s)l(Γ(s))","\u003Cmrow>\u003Cmi>L\u003C\u002Fmi>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">(\u003C\u002Fmo>\u003Cmi>S\u003C\u002Fmi>\u003Cmo separator=\"true\">,\u003C\u002Fmo>\u003Cmrow>\u003Cmi mathvariant=\"normal\">Γ\u003C\u002Fmi>\u003Cmspace>\u003C\u002Fmspace>\u003C\u002Fmrow>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">)\u003C\u002Fmo>\u003C\u002Fmrow>\u003Cmo>=\u003C\u002Fmo>\u003Cmrow>\u003Cmunder>\u003Cmo movablelimits=\"false\">∑\u003C\u002Fmo>\u003Cmrow>\u003Cmi>s\u003C\u002Fmi>\u003Cmo>∈\u003C\u002Fmo>\u003Cmi>𝐀\u003C\u002Fmi>\u003C\u002Fmrow>\u003C\u002Fmunder>\u003C\u002Fmrow>\u003Cmsub>\u003Cmi>p\u003C\u002Fmi>\u003Cmi>S\u003C\u002Fmi>\u003C\u002Fmsub>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">(\u003C\u002Fmo>\u003Cmi>s\u003C\u002Fmi>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">)\u003C\u002Fmo>\u003C\u002Fmrow>\u003Cmi>l\u003C\u002Fmi>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">(\u003C\u002Fmo>\u003Cmrow>\u003Cmi mathvariant=\"normal\">Γ\u003C\u002Fmi>\u003Cmspace>\u003C\u002Fmspace>\u003C\u002Fmrow>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">(\u003C\u002Fmo>\u003Cmi>s\u003C\u002Fmi>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">)\u003C\u002Fmo>\u003C\u002Fmrow>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">)\u003C\u002Fmo>\u003C\u002Fmrow>\u003C\u002Fmrow>",[17,90,91,92,95],{},"Nous avons la propriété suivante :",[93,94],"br",{},[65,96,98,99,103,104,108,109,112],{"className":97},[68],"Soit ",[38,100],{"dataCopyLatex":101,"dataCopyDisplay":6,"innerHTML":102},"Γ : \\mathbf{A} \\rightarrow C","\u003Cmrow>\u003Cmrow>\u003Cmi mathvariant=\"normal\">Γ\u003C\u002Fmi>\u003Cmspace>\u003C\u002Fmspace>\u003C\u002Fmrow>\u003Cmo lspace=\"0.2222em\" rspace=\"0.2222em\">:\u003C\u002Fmo>\u003Cmi>𝐀\u003C\u002Fmi>\u003Cmo stretchy=\"false\">→\u003C\u002Fmo>\u003Cmi>C\u003C\u002Fmi>\u003C\u002Fmrow>"," une fonction d'encodage d'un D-ary code pour une distribution (variable aléatoire) ",[38,105],{"dataCopyLatex":106,"dataCopyDisplay":6,"innerHTML":107},"S \\in \\mathbf{A}","\u003Cmrow>\u003Cmi>S\u003C\u002Fmi>\u003Cmo>∈\u003C\u002Fmo>\u003Cmi>𝐀\u003C\u002Fmi>\u003C\u002Fmrow>",". Si le code est ",[53,110,111],{},"uniquely decodable",", alors :",[33,114,116],{"className":115},[36],[38,117],{"display":40,"className":118,"style":43,"dataCopyLatex":119,"dataCopyDisplay":45,"innerHTML":120},[42],"H_D(S) \\leq L(S, Γ)","\u003Cmrow>\u003Cmsub>\u003Cmi>H\u003C\u002Fmi>\u003Cmi>D\u003C\u002Fmi>\u003C\u002Fmsub>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">(\u003C\u002Fmo>\u003Cmi>S\u003C\u002Fmi>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">)\u003C\u002Fmo>\u003C\u002Fmrow>\u003Cmo>≤\u003C\u002Fmo>\u003Cmi>L\u003C\u002Fmi>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">(\u003C\u002Fmo>\u003Cmi>S\u003C\u002Fmi>\u003Cmo separator=\"true\">,\u003C\u002Fmo>\u003Cmrow>\u003Cmi mathvariant=\"normal\">Γ\u003C\u002Fmi>\u003Cmspace>\u003C\u002Fmspace>\u003C\u002Fmrow>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">)\u003C\u002Fmo>\u003C\u002Fmrow>\u003C\u002Fmrow>",[17,122,123,127,129],{},[124,125,126],"u",{},"Code de Shannon-Fano",[93,128],{},[65,130,132,133,135,136,140,141,145],{"className":131},[68],"Pour toute variable aléatoire ",[38,134],{"dataCopyLatex":106,"dataCopyDisplay":6,"innerHTML":107}," et tout entier ",[38,137],{"dataCopyLatex":138,"dataCopyDisplay":6,"innerHTML":139},"D \\geq 2","\u003Cmrow>\u003Cmi>D\u003C\u002Fmi>\u003Cmo>≥\u003C\u002Fmo>\u003Cmn>2\u003C\u002Fmn>\u003C\u002Fmrow>",", il existe un code D-ary sans préfixe pour S, tel que ",[38,142],{"dataCopyLatex":143,"dataCopyDisplay":6,"innerHTML":144},"\\forall s \\in \\mathbf{A}","\u003Cmrow>\u003Cmi>∀\u003C\u002Fmi>\u003Cmi>s\u003C\u002Fmi>\u003Cmo>∈\u003C\u002Fmo>\u003Cmi>𝐀\u003C\u002Fmi>\u003C\u002Fmrow>",",",[33,147,149],{"className":148},[36],[38,150],{"display":40,"className":151,"style":43,"dataCopyLatex":152,"dataCopyDisplay":45,"innerHTML":153},[42],"l(Γ(s)) = \\lceil -\\log_Dp_S(s) \\rceil","\u003Cmrow>\u003Cmi>l\u003C\u002Fmi>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">(\u003C\u002Fmo>\u003Cmrow>\u003Cmi mathvariant=\"normal\">Γ\u003C\u002Fmi>\u003Cmspace>\u003C\u002Fmspace>\u003C\u002Fmrow>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">(\u003C\u002Fmo>\u003Cmi>s\u003C\u002Fmi>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">)\u003C\u002Fmo>\u003C\u002Fmrow>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">)\u003C\u002Fmo>\u003C\u002Fmrow>\u003Cmo>=\u003C\u002Fmo>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">⌈\u003C\u002Fmo>\u003Cmo form=\"prefix\" stretchy=\"false\">−\u003C\u002Fmo>\u003Cmsub>\u003Cmi>log\u003C\u002Fmi>\u003Cmi>D\u003C\u002Fmi>\u003C\u002Fmsub>\u003Cmo>⁡\u003C\u002Fmo>\u003Cmspace width=\"0.1667em\">\u003C\u002Fmspace>\u003Cmsub>\u003Cmi>p\u003C\u002Fmi>\u003Cmi>S\u003C\u002Fmi>\u003C\u002Fmsub>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">(\u003C\u002Fmo>\u003Cmi>s\u003C\u002Fmi>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">)\u003C\u002Fmo>\u003C\u002Fmrow>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">⌉\u003C\u002Fmo>\u003C\u002Fmrow>\u003C\u002Fmrow>",[17,155,156,159],{},[124,157,158],{},"Entropie d'un symbole :",[38,160],{"dataCopyLatex":161,"dataCopyDisplay":6,"innerHTML":162},"H(\\mathcal{S}) = \\lim_{i \\to \\infty} H(S_i)","\u003Cmrow>\u003Cmi>H\u003C\u002Fmi>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">(\u003C\u002Fmo>\u003Cmi class=\"mathcal\">𝒮\u003C\u002Fmi>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">)\u003C\u002Fmo>\u003C\u002Fmrow>\u003Cmo>=\u003C\u002Fmo>\u003Cmsub>\u003Cmi>lim\u003C\u002Fmi>\u003Cmrow>\u003Cmi>i\u003C\u002Fmi>\u003Cmo>→\u003C\u002Fmo>\u003Cmi>∞\u003C\u002Fmi>\u003C\u002Fmrow>\u003C\u002Fmsub>\u003Cmo>⁡\u003C\u002Fmo>\u003Cmspace width=\"0.1667em\">\u003C\u002Fmspace>\u003Cmi>H\u003C\u002Fmi>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">(\u003C\u002Fmo>\u003Cmsub>\u003Cmi>S\u003C\u002Fmi>\u003Cmi>i\u003C\u002Fmi>\u003C\u002Fmsub>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">)\u003C\u002Fmo>\u003C\u002Fmrow>\u003C\u002Fmrow>",[17,164,165,168],{},[124,166,167],{},"Entropie par symbole :",[38,169],{"dataCopyLatex":170,"dataCopyDisplay":6,"innerHTML":171},"H^*(\\mathcal{S}) = \\lim_{i \\to \\infty} H(S_i|S_1, S_2, \\ldots, S_{i-1})","\u003Cmrow>\u003Cmsup>\u003Cmi>H\u003C\u002Fmi>\u003Cmo form=\"prefix\" stretchy=\"false\" class=\"tml-sml-pad\">∗\u003C\u002Fmo>\u003C\u002Fmsup>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">(\u003C\u002Fmo>\u003Cmi class=\"mathcal\">𝒮\u003C\u002Fmi>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">)\u003C\u002Fmo>\u003C\u002Fmrow>\u003Cmo>=\u003C\u002Fmo>\u003Cmsub>\u003Cmi>lim\u003C\u002Fmi>\u003Cmrow>\u003Cmi>i\u003C\u002Fmi>\u003Cmo>→\u003C\u002Fmo>\u003Cmi>∞\u003C\u002Fmi>\u003C\u002Fmrow>\u003C\u002Fmsub>\u003Cmo>⁡\u003C\u002Fmo>\u003Cmspace width=\"0.1667em\">\u003C\u002Fmspace>\u003Cmi>H\u003C\u002Fmi>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">(\u003C\u002Fmo>\u003Cmsub>\u003Cmi>S\u003C\u002Fmi>\u003Cmi>i\u003C\u002Fmi>\u003C\u002Fmsub>\u003Cmi>|\u003C\u002Fmi>\u003Cmsub>\u003Cmi>S\u003C\u002Fmi>\u003Cmn>1\u003C\u002Fmn>\u003C\u002Fmsub>\u003Cmo separator=\"true\">,\u003C\u002Fmo>\u003Cmsub>\u003Cmi>S\u003C\u002Fmi>\u003Cmn>2\u003C\u002Fmn>\u003C\u002Fmsub>\u003Cmo separator=\"true\">,\u003C\u002Fmo>\u003Cmo>…\u003C\u002Fmo>\u003Cmo separator=\"true\">,\u003C\u002Fmo>\u003Cmsub>\u003Cmi>S\u003C\u002Fmi>\u003Cmrow>\u003Cmi>i\u003C\u002Fmi>\u003Cmo>−\u003C\u002Fmo>\u003Cmn>1\u003C\u002Fmn>\u003C\u002Fmrow>\u003C\u002Fmsub>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">)\u003C\u002Fmo>\u003C\u002Fmrow>\u003C\u002Fmrow>",[12,173,175],{"id":174},"cryptographie","Cryptographie",[177,178,180],"h3",{"id":179},"vocabulaire","Vocabulaire",[17,182,183],{},"Il est important de rappeler les termes corrects à utiliser lorsque l'on parle de cryptographie.",[185,186,187,191,194,197],"ul",{},[188,189,190],"li",{},"Chiffrer : action de transformer un texte dit \"en clair\" en un autre dit \"secret\" (ciphertext en anglais) à l'aide d'une clé de chiffrement",[188,192,193],{},"Déchiffrer : action de retrouver le texte dit \"en clair\" à l'aide d'une clé de déchiffrement",[188,195,196],{},"Décrypter : action de retrouver le texte dit \"en clair\" sans clé de déchiffrement (peut être fait pour certains messages par analyse statistique ou par force brute)",[188,198,199],{},"Crypter : ce verbe n'existe pas",[17,201,202,203],{},"Pour plus d'informations, voir ",[24,204,208],{"href":205,"rel":206},"https:\u002F\u002Fchiffrer.info\u002F",[207],"nofollow","ce site",[177,210,212],{"id":211},"introduction","Introduction",[17,214,215],{},"Premièrement il y a ce qu'on appelle les systèmes de cryptographie symétriques. Ici nous utilisons une seule clé de chiffrement. Prenons deux interlocuteurs A et B. Si A veut envoyer un message chiffré à B il va utiliser une fonction de chiffrement avec les données de la clé de chiffrement. Lorsque B va recevoir le message de A, il va devoir utiliser une fonction de déchiffrement (la fonction \"inverse\" de la fonction de chiffrement) avec la même clé que A.",[17,217,218],{},"Ici, les fonctions de chiffrement et de déchiffrement sont très rapides mais un problème se pose : pour que A et B utilise la même clé, il va falloir l'échanger. Et pendant ce cours échange de clé entre A et B, une personne malveillante risque d'intercepter la clé en toute discrétion et de la renvoyer à B. Cette personne sera alors capable de déchiffrer les informations, ce qui brise la confidentialité établie entre A et B.",[17,220,221,222,227,228,231],{},"Ceci est à l'origine de l'attaque du type \"",[24,223,226],{"href":224,"rel":225},"https:\u002F\u002Ffr.wikipedia.org\u002Fwiki\u002FAttaque_de_l%27homme_du_milieu",[207],"Homme du milieu","\" (",[53,229,230],{},"Man in the Middle"," en anglais).",[17,233,234],{},"Le deuxième système est le chiffrement asymétrique. Dans celui-ci, si A veut envoyer un message chiffré à B, il va devoir utiliser deux clés : une clé publique et une clé privée. La clé publique est accessible à tous. C'est en utilisant la clé publique de A que B sera en mesure de déchiffrer le message de A qu'il aura chiffré à l'aide de sa clé privée.",[17,236,237],{},"Avec ce système, il n'y a pas d'échange de clé, en revanche les fonctions de chiffrement et de déchiffrement sont plus lentes que celle du chiffrement symétrique. De plus, la sécurité de ce genre de système repose sur le fait qu'avec les ordinateurs actuels, il serait extrêmement long de retrouver la clé privée d'un individu à partir de sa clé publique (accessible à tous). Ce qu'il faut comprendre est qu'il est techniquement possible de déchiffrer toute conversation utilisant du chiffrement assymétrique, mais tout cela dans un temps déraisonné.",[17,239,240],{},"Différentes applications de la cryptographie",[242,243,244,257],"table",{},[245,246,247],"thead",{},[248,249,250,254],"tr",{},[251,252,253],"th",{},"Nom",[251,255,256],{},"Type de chiffrement",[258,259,260,269,277,285,293,301],"tbody",{},[248,261,262,266],{},[263,264,265],"td",{},"Cartes et systèmes bancaires",[263,267,268],{},"RSA",[248,270,271,274],{},[263,272,273],{},"Fichiers \"secret défense\" de la NSA",[263,275,276],{},"AES",[248,278,279,282],{},[263,280,281],{},"Commerce électronique",[263,283,284],{},"SSL ou TLS",[248,286,287,290],{},[263,288,289],{},"Réseau Wifi",[263,291,292],{},"WEP, WPA ou WPA2",[248,294,295,298],{},[263,296,297],{},"Accès client\u002Fserveur",[263,299,300],{},"SSH (utilise le RSA ou DSA)",[248,302,303,306],{},[263,304,305],{},"Email",[263,307,308],{},"PGP (RSA ou DSA)",[17,310,311],{},"Catégorisation de certains systèmes de chiffrement",[242,313,314,324],{},[245,315,316],{},[248,317,318,321],{},[251,319,320],{},"Chiffrement symétrique",[251,322,323],{},"Chiffrement asymétrique",[258,325,326,332,340,348],{},[248,327,328,330],{},[263,329,276],{},[263,331,268],{},[248,333,334,337],{},[263,335,336],{},"DES",[263,338,339],{},"McEliece",[248,341,342,345],{},[263,343,344],{},"IDEA",[263,346,347],{},"DSS\u002FDSA",[248,349,350,353],{},[263,351,352],{},"Menezes-Vanstonne",[263,354,355],{},"ElGamal",[17,357,358],{},"Non discuté ici, il peut être intéressant de se renseigner sur le chiffrement homomorphe et son potentiel d'utilisation pour le cloud.",[17,360,361],{},"En cryptographie, les prénoms Alice et Bob sont généralement utilisés pour nommer deux interlocuteurs. Le prénom Eve est utilisé pour désigner une personne tiers qui écoute secrètement la conversation.",[17,363,364,365,73],{},"Pour découvrir une liste d'autres prénoms utilisés : ",[24,366,369],{"href":367,"rel":368},"https:\u002F\u002Ffr.wikipedia.org\u002Fwiki\u002FAlice_et_Bob",[207],"page Wikipédia",[177,371,373],{"id":372},"systèmes-de-chiffrement-symétriques","Systèmes de chiffrement symétriques",[17,375,376],{},"Systèmes de chiffrement historiques :",[185,378,379,382],{},[188,380,381],{},"chiffrement de César",[188,383,384],{},"chiffre de Vigenère",[17,386,387,394,396,397,400,401,404],{},[124,388,389,390,393],{},"Définition (",[53,391,392],{},"Perfect Secrecy",")",[93,395],{},"\nUn cryptosystème est à secret parfait si son text clair (",[53,398,399],{},"plaintext",") T et le text chiffré correspondant (",[53,402,403],{},"cyphertext",") C sont statistiquement indépendant.",[17,406,407,408,410,411],{},"Résultat important :",[93,409],{},"\nSoit un système de chiffrement symétrique de clé K. Pour que ce système soit à secret parfait, il faut qu'il vérifie pour tout text clair T :\n",[38,412],{"dataCopyLatex":413,"dataCopyDisplay":6,"innerHTML":414},"H(K) \\geq H(T)","\u003Cmrow>\u003Cmi>H\u003C\u002Fmi>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">(\u003C\u002Fmo>\u003Cmi>K\u003C\u002Fmi>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">)\u003C\u002Fmo>\u003C\u002Fmrow>\u003Cmo>≥\u003C\u002Fmo>\u003Cmi>H\u003C\u002Fmi>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">(\u003C\u002Fmo>\u003Cmi>T\u003C\u002Fmi>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">)\u003C\u002Fmo>\u003C\u002Fmrow>\u003C\u002Fmrow>",[177,416,418],{"id":417},"systèmes-de-chiffrement-asymétriques","Systèmes de chiffrement asymétriques",[17,420,421,422,427,428,73],{},"Pour comprendre davantage le fonctionnement de tels systèmes, il est obligatoire d'avoir des notions de ",[24,423,426],{"href":424,"rel":425},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FNumber_theory",[207],"théorie des nombres"," et d'",[24,429,432],{"href":430,"rel":431},"https:\u002F\u002Ffr.wikipedia.org\u002Fwiki\u002FArithm%C3%A9tique_modulaire",[207],"arithmétique modulaire",[434,435,437],"h4",{"id":436},"chiffrement-rsa","Chiffrement RSA",[17,439,440,441,444],{},"RSA, pour ",[53,442,443],{},"Rivest Shamir Adleman"," est un chiffrement apparu en 1977. Il a été créé par Ronald Rivest, Adi Shamir, et Leonard Adleman.",[17,446,447],{},"Décrivons le fonctionnement de ce système lorsqu’Alice veut envoyer un message à Bob. Pour se faire, Bob va avoir besoin de créer ses deux clés : une clé privée et une clé publique.",[449,450,452],"h5",{"id":451},"étapes-à-suivre-pour-bob","Étapes à suivre pour Bob :",[33,454,456,490,498,510,518,525],{"className":455},[68],[185,457,458,469,480],{},[188,459,460,461,464,465,468],{},"Il choisit deux nombres premiers distincts ",[462,463,17],"strong",{}," et ",[462,466,467],{},"q",". Afin de garantir la sécurité du chiffrement, ces deux nombres doivent être suffisamment grands. On peut imaginer deux nombres premiers de 1024 bits, ce qu’il est d’usage de faire.",[188,470,471,472,475,476,73],{},"Notons ",[462,473,474],{},"m = pq",", qui va nous servir de module : toutes les opérations suivantes vont être effectuées dans ",[38,477],{"dataCopyLatex":478,"dataCopyDisplay":6,"innerHTML":479},"\\mathbb{Z\u002F}m\\mathbb{Z}","\u003Cmrow>\u003Cmrow>\u003Cmi>ℤ\u003C\u002Fmi>\u003Cmi>\u002F\u003C\u002Fmi>\u003C\u002Fmrow>\u003Cmi>m\u003C\u002Fmi>\u003Cmi>ℤ\u003C\u002Fmi>\u003C\u002Fmrow>",[188,481,482,483,486,487,489],{},"Ensuite, Bob choisit un entier ",[462,484,485],{},"k",", multiple de (p-1) et (q-1).",[93,488],{},"p et q étant distincts, il est alors tout a fait approprié de choisir l’indicatrice d’Euler en pq :",[33,491,493],{"className":492},[36],[38,494],{"display":40,"className":495,"style":43,"dataCopyLatex":496,"dataCopyDisplay":45,"innerHTML":497},[42],"k = \\phi(pq) = \\phi(p)\\phi(q) = (p-1)(q-1)","\u003Cmrow>\u003Cmi>k\u003C\u002Fmi>\u003Cmo>=\u003C\u002Fmo>\u003Cmi>ϕ\u003C\u002Fmi>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">(\u003C\u002Fmo>\u003Cmi>p\u003C\u002Fmi>\u003Cmi>q\u003C\u002Fmi>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">)\u003C\u002Fmo>\u003C\u002Fmrow>\u003Cmo>=\u003C\u002Fmo>\u003Cmi>ϕ\u003C\u002Fmi>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">(\u003C\u002Fmo>\u003Cmi>p\u003C\u002Fmi>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">)\u003C\u002Fmo>\u003C\u002Fmrow>\u003Cmi>ϕ\u003C\u002Fmi>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">(\u003C\u002Fmo>\u003Cmi>q\u003C\u002Fmi>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">)\u003C\u002Fmo>\u003C\u002Fmrow>\u003Cmo>=\u003C\u002Fmo>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">(\u003C\u002Fmo>\u003Cmi>p\u003C\u002Fmi>\u003Cmo>−\u003C\u002Fmo>\u003Cmn>1\u003C\u002Fmn>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">)\u003C\u002Fmo>\u003C\u002Fmrow>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">(\u003C\u002Fmo>\u003Cmi>q\u003C\u002Fmi>\u003Cmo>−\u003C\u002Fmo>\u003Cmn>1\u003C\u002Fmn>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">)\u003C\u002Fmo>\u003C\u002Fmrow>\u003C\u002Fmrow>",[185,499,500,507],{},[188,501,502,503,506],{},"Il choisit un entier ",[462,504,505],{},"e"," premier avec k, autrement dit : gcd(e, k) = 1.",[188,508,509],{},"D’après l’identité de Bézout, il existe des entiers d et l tels que :",[33,511,513],{"className":512},[36],[38,514],{"display":40,"className":515,"style":43,"dataCopyLatex":516,"dataCopyDisplay":45,"innerHTML":517},[42],"1 = ed + kl \\Leftrightarrow ed = 1 - kl","\u003Cmrow>\u003Cmn>1\u003C\u002Fmn>\u003Cmo>=\u003C\u002Fmo>\u003Cmi>e\u003C\u002Fmi>\u003Cmi>d\u003C\u002Fmi>\u003Cmo>+\u003C\u002Fmo>\u003Cmi>k\u003C\u002Fmi>\u003Cmi>l\u003C\u002Fmi>\u003Cmo stretchy=\"false\">⇔\u003C\u002Fmo>\u003Cmi>e\u003C\u002Fmi>\u003Cmi>d\u003C\u002Fmi>\u003Cmo>=\u003C\u002Fmo>\u003Cmn>1\u003C\u002Fmn>\u003Cmo>−\u003C\u002Fmo>\u003Cmi>k\u003C\u002Fmi>\u003Cmi>l\u003C\u002Fmi>\u003C\u002Fmrow>",[17,519,520,521,73],{},"On a ainsi : ",[38,522],{"dataCopyLatex":523,"dataCopyDisplay":6,"innerHTML":524},"[e]_k\\cdot[d]_k = [1]_k","\u003Cmrow>\u003Cmsub>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">[\u003C\u002Fmo>\u003Cmi>e\u003C\u002Fmi>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">]\u003C\u002Fmo>\u003C\u002Fmrow>\u003Cmi>k\u003C\u002Fmi>\u003C\u002Fmsub>\u003Cmo>⋅\u003C\u002Fmo>\u003Cmsub>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">[\u003C\u002Fmo>\u003Cmi>d\u003C\u002Fmi>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">]\u003C\u002Fmo>\u003C\u002Fmrow>\u003Cmi>k\u003C\u002Fmi>\u003C\u002Fmsub>\u003Cmo>=\u003C\u002Fmo>\u003Cmsub>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">[\u003C\u002Fmo>\u003Cmn>1\u003C\u002Fmn>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">]\u003C\u002Fmo>\u003C\u002Fmrow>\u003Cmi>k\u003C\u002Fmi>\u003C\u002Fmsub>\u003C\u002Fmrow>",[17,526,527,528,531],{},"On retient ",[462,529,530],{},"d",", qui est donc l’inverse de e modulo k.",[449,533,535],{"id":534},"création-des-clés","Création des clés :",[185,537,538,544],{},[188,539,540,543],{},[462,541,542],{},"(m, e)"," devient la clé publique de Bob",[188,545,546,549],{},[462,547,548],{},"(m, d)"," devient sa clé privée",[449,551,553],{"id":552},"transmission-du-message","Transmission du message :",[17,555,556,557,560,561,564],{},"Alice va envoyer à Bob le message ",[462,558,559],{},"c"," (chiffré) correspondant à cette transformation effectuée sur son message en clair ",[462,562,563],{},"t"," suivant :",[33,566,568],{"className":567},[36],[38,569],{"display":40,"className":570,"style":43,"dataCopyLatex":571,"dataCopyDisplay":45,"innerHTML":572},[42],"c = [t]_m^e","\u003Cmrow>\u003Cmi>c\u003C\u002Fmi>\u003Cmo>=\u003C\u002Fmo>\u003Cmsubsup>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">[\u003C\u002Fmo>\u003Cmi>t\u003C\u002Fmi>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">]\u003C\u002Fmo>\u003C\u002Fmrow>\u003Cmi>m\u003C\u002Fmi>\u003Cmi>e\u003C\u002Fmi>\u003C\u002Fmsubsup>\u003C\u002Fmrow>",[17,574,575],{},"Alice a donc utilisé les éléments de la clé publique de Bob.",[17,577,578,579,584],{},"Bob reçoit ainsi ",[65,580,582],{"className":581},[68],[38,583],{"dataCopyLatex":571,"dataCopyDisplay":6,"innerHTML":572}," et déchiffre ce message grâce à la relation suivante :",[33,586,588],{"className":587},[36],[38,589],{"display":40,"className":590,"style":43,"dataCopyLatex":591,"dataCopyDisplay":45,"innerHTML":592},[42],"c^d = [t]_m^{ed} = [t]_m^{1-kl} = [t]_m","\u003Cmrow>\u003Cmsup>\u003Cmi>c\u003C\u002Fmi>\u003Cmi class=\"tml-sml-pad\">d\u003C\u002Fmi>\u003C\u002Fmsup>\u003Cmo>=\u003C\u002Fmo>\u003Cmsubsup>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">[\u003C\u002Fmo>\u003Cmi>t\u003C\u002Fmi>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">]\u003C\u002Fmo>\u003C\u002Fmrow>\u003Cmi>m\u003C\u002Fmi>\u003Cmrow>\u003Cmi>e\u003C\u002Fmi>\u003Cmi>d\u003C\u002Fmi>\u003C\u002Fmrow>\u003C\u002Fmsubsup>\u003Cmo>=\u003C\u002Fmo>\u003Cmsubsup>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">[\u003C\u002Fmo>\u003Cmi>t\u003C\u002Fmi>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">]\u003C\u002Fmo>\u003C\u002Fmrow>\u003Cmi>m\u003C\u002Fmi>\u003Cmrow>\u003Cmn>1\u003C\u002Fmn>\u003Cmo>−\u003C\u002Fmo>\u003Cmi>k\u003C\u002Fmi>\u003Cmi>l\u003C\u002Fmi>\u003C\u002Fmrow>\u003C\u002Fmsubsup>\u003Cmo>=\u003C\u002Fmo>\u003Cmsub>\u003Cmrow>\u003Cmo fence=\"true\" form=\"prefix\" stretchy=\"false\">[\u003C\u002Fmo>\u003Cmi>t\u003C\u002Fmi>\u003Cmo fence=\"true\" form=\"postfix\" stretchy=\"false\">]\u003C\u002Fmo>\u003C\u002Fmrow>\u003Cmi>m\u003C\u002Fmi>\u003C\u002Fmsub>\u003C\u002Fmrow>",[17,594,595],{},"Ainsi, Bob récupère correctement le message d’Alice.",[597,598,601,606],"section",{"className":599,"dataFootnotes":29},[600],"footnotes",[12,602,605],{"className":603,"id":28},[604],"sr-only","Footnotes",[607,608,609],"ol",{},[188,610,612,613],{"id":611},"user-content-fn-1","Claude Elwood Shannon (30 avril 1916 à Petoskey, Michigan - 24 février 2001 à Medford, Massachusetts) est un ingénieur en génie électrique et mathématicien américain. Il est l'un des pères, si ce n'est le père fondateur, de la théorie de l'information. ",[24,614,619],{"href":615,"ariaLabel":616,"className":617,"dataFootnoteBackref":29},"#user-content-fnref-1","Back to reference 1",[618],"data-footnote-backref","↩",{"title":29,"searchDepth":621,"depth":621,"links":622},5,[623,625,639],{"id":14,"depth":624,"text":15},2,{"id":174,"depth":624,"text":175,"children":626},[627,629,630,631],{"id":179,"depth":628,"text":180},3,{"id":211,"depth":628,"text":212},{"id":372,"depth":628,"text":373},{"id":417,"depth":628,"text":418,"children":632},[633],{"id":436,"depth":634,"text":437,"children":635},4,[636,637,638],{"id":451,"depth":621,"text":452},{"id":534,"depth":621,"text":535},{"id":552,"depth":621,"text":553},{"id":28,"depth":624,"text":605},"\u002Fnotes \u002Ftheorie-information","2021-04-12","Exploration de la formule d'entropie de Shannon, de l'encodage de l'information et des applications cryptographiques.","md","information-theory","fr",{},"\u002Ffr\u002Fnotes\u002Ftheorie-information",{"title":5,"description":642},"fr\u002Fnotes\u002Ftheorie-information",[651,174,652,653],"mathématiques","théorie-information","shannon","0g-PBZLshs5DUDVUGL0UqCpDm0DYarUDvve8BPx0HGI",1786809142655]