195 101 6MB
French Pages 290 [287] Year 2019
Énergie, entropie, information, cryptographie et cybersécurité Avec 115 exercices corrigés
Énergie, entropie, information, cryptographie et cybersécurité Avec 115 exercices corrigés
Christian NGÔ
Imprimé en France
ISBN (papier) : 978-2-7598-2333-8 – ISBN (ebook) : 978-2-7598-2349-9 Tous droits de traduction, d’adaptation et de reproduction par tous procédés, réservés pour tous pays. La loi du 11 mars 1957 n’autorisant, aux termes des alinéas 2 et 3 de l’article 41, d’une part, que les « copies ou reproductions strictement réservées à l’usage privé du copiste et non destinées à une utilisation collective », et d’autre part, que les analyses et les courtes citations dans un but d’exemple et d’illustration, « toute représentation intégrale, ou partielle, faite sans le consentement de l’auteur ou de ses ayants droit ou ayants cause est illicite » (alinéa 1er de l’article 40). Cette représentation ou reproduction, par quelque procédé que ce soit, constituerait donc une contrefaçon sanctionnée par les articles 425 et suivants du code pénal. © EDP Sciences, 2019
Table des matières
Introduction 11 Chapitre 1 • L’énergie 15 1.1 Les multiples facettes de l’énergie 15 1.2 Symétrie et conservation de l’énergie 16 1.3 Les différentes formes de l’énergie 17 1.4 La consommation d’énergie 18 1.5 Ordres de grandeur 20 1.6 Puissance et énergie 21 1.7 Sources d’énergie 21 1.8 Le défi énergétique français 24 1.9 L’intermittence, le principal problème de l’éolien et du photovoltaïque 25 1.10 L’électricité 26 1.11 Stockage de l’énergie 27 1.12 Pour en savoir plus 30 Chapitre 2 • Thermodynamique 31 2.1 Définitions 32 2.2 Énergie interne 34 2.3 Conventions 36 2.4 Principe numéro zéro 36
5
Énergie, entropie, information, cryptographie et cybersécurité
2.5 Premier principe 37 2.6 Fonction d’état 37 2.7 Deuxième principe 38 2.8 L’entropie 38 2.9 Loi de Carnot 39 2.10 L’entropie est une fonction d’état 40 2.11 Température, pression et potentiel chimique 41 2.12 Variables conjuguées 41 2.13 Équation d’état 42 2.14 Potentiels thermodynamiques 42 2.15 Pour en savoir plus 43 Chapitre 3 • Physique quantique 45 3.1 Dualité onde corpuscule 46 3.2 D’une approche déterministe à une approche probabiliste 47 3.3 La mesure 48 3.4 Relation d’incertitude de Heisenberg 50 3.5 Quantification 51 3.6 Nombres quantiques 52 3.7 Effet tunnel 52 3.8 Variables purement quantiques 53 3.9 Fermions et bosons 54 3.10 Pour en savoir plus 55 Chapitre 4 • Physique statistique 57 4.1 Micro-états 58 4.2 Particule dans une boîte cubique 58 4.3 Travail et chaleur à l’échelle microscopique 61 4.4 L’espace de phase 62 4.5 Raccordement quantique-classique 63 4.6 Premier postulat 65 4.7 Second postulat (hypothèse ergodique) 65 4.8 Information et entropie 66 4.9 Entropie statistique 66 4.10 L’équilibre thermique 68 4.11 Autres équilibres 70 4.12 Rappel mathématique 70 4.13 L’ensemble microcanonique 71 4.14 L’ensemble canonique 71
6
Table des matières
4.15 Méthode des multiplicateurs de Lagrange 73 4.16 Intégrales souvent utilisées 74 4.17 Théorème d’équipartition de l’énergie 74 4.18 La distribution de Maxwell 75 4.19 L’ensemble grand canonique 76 4.20 Gaz de Fermi et gaz de Bose 77 4.21 Résumé 78 4.22 Pour en savoir plus 78 Chapitre 5 • Probabilités 79 5.1 Définitions 79 5.2 Propriétés 81 5.3 Probabilités simples 82 5.4 Probabilité conditionnelle 83 5.5 Arbre de probabilité 84 5.6 Pour en savoir plus 85 Chapitre 6 • Information et entropie 87 6.1 Rappel sur les logarithmes 87 6.2 Quantité d’information 89 6.3 L’information 91 6.4 Entropie d’information 91 6.5 Entropie binaire 93 6.6 Processus markoviens 95 6.7 Inégalité de Gibbs 96 6.8 Entropie et information conjointes 97 6.9 Entropie conditionnelle 98 6.10 Entropie mutuelle 99 6.11 Diagramme de Venn 100 6.12 Entropie relative 101 6.13 Pour en savoir plus 102 Chapitre 7 • Transmission d’information 103 7.1 Transmettre de l’information 103 7.2 Pourquoi coder ? 105 7.3 De la source au destinataire 106 7.4 Pour en savoir plus 108
7
Énergie, entropie, information, cryptographie et cybersécurité
Chapitre 8 • Codage source 109 8.1 Codage 109 8.2 Codes singuliers 111 8.3 Codes non ambigus 111 8.4 Codes sans préfixe 112 8.5 Code instantané 113 8.6 Code à longueur fixe 113 8.7 Code avec séparateur 114 8.8 Le code Morse 114 8.9 Le code ASCII 115 8.10 Codage source 117 8.11 Arbres n-aires 118 8.12 Inégalité de Kraft 121 8.13 Entropie de la source et longueur des mots 122 8.14 Codage par plage 122 8.15 Codage de Shannon-Fano 123 8.16 Codage de Huffmann 125 8.17 Pour en savoir plus 127 Chapitre 9 • Codage canal 129 9.1 Matrice canal pour un canal binaire symétrique 129 9.2 Capacité d’un canal 131 9.3 Canal bruité 132 9.4 Erreurs de transmission 132 9.5 L’opérateur XOR 134 9.6 Redondance par itération 135 9.7 Contrôle de parité 135 9.8 Polynômes modulo 2 138 9.9 Les codes cycliques (CRC) 139 9.10 Distance de Hamming 142 9.11 Code de Hamming : exemple 144 9.12 Code de Hamming et diagrammes de Venn 145 9.13 Pour en savoir plus 146 Chapitre 10 • Cryptologie 147 10.1 Cryptographie et cryptanalyse 148 10.2 Principaux problèmes posés 148 10.3 Les principes de Kerckhoffs 149 10.4 Congruence 150
8
Table des matières
10.5 Le chiffre de César 153 10.6 Chiffrement par substitution 155 10.7 Chiffrement de Vigenère 157 10.8 Le chiffrement de Vernam 158 10.9 La machine Enigma 159 10.10 Le chiffre de Playfair 159 10.11 Chiffrement à clef jetable (One-Time Pad) 160 10.12 Le chiffre de Hill 161 10.13 Complexité 162 10.14 Fonction à sens unique, fonction trappe 163 10.15 Fonction de hachage 164 10.16 Cryptographie symétrique 165 10.17 Un peu d’arithmétique 165 10.18 Cryptographie asymétrique 168 10.19 Le code RSA 168 10.20 Comparaison 171 10.21 L’intrication 172 10.22 Cryptographie quantique 172 10.23 L’ordinateur quantique 173 10.24 Pour en savoir plus 174 Chapitre 11 • Cybersécurité 175 11.1 Menaces 176 11.2 Hackers 177 11.3 Le piratage et la loi 178 11.4 Bases de la sécurité informatique 178 11.5 Vulnérabilités informatiques 180 11.6 Les armes du hacker 181 11.7 Cybersécurité des installations industrielles 186 11.8 Ingénierie sociale (social engineering) 187 11.9 Contre-mesures 188 11.10 Pour en savoir plus 195 Chapitre 12 • Exercices 197 12.1 Énergie 197 12.2 Thermodynamique 199 12.3 Physique quantique 201 12.4 Physique statistique 203 12.5 Probabilités 207
9
Énergie, entropie, information, cryptographie et cybersécurité
12.6 Information 212 12.7 Cryptographie 218 12.8 Cybersécurité 222 12.9 Révisions mathématiques 223 Chapitre 13 • Solutions 227 13.1 Énergie 227 13.2 Thermodynamique 229 13.3 Physique quantique 233 13.4 Physique statistique 236 13.5 Probabilités 244 13.6 Information 254 13.7 Cryptographie 266 13.8 Cybersécurité 272 13.9 Révisions mathématiques 276 Chapitre 14 • Programmes Python 281 Index 283
10
Introduction
Ce livre est en partie basé sur un cours dispensé en L2 à l’EFREI intitulé « énergie, entropie et information ». Il explicite également deux sujets qui avaient été effleurés dans ce cours : la cryptologie et la cybersécurité. Il peut sembler étrange de regrouper des sujets qui paraissent à première vue très différents. Ils ont en fait un point commun : l’entropie et ce qui lui est attaché, la notion d’ordre et de désordre ainsi que la notion d’irréversibilité. L’entropie est en effet une mesure du désordre d’un système. Ce concept est largement utilisé dans le domaine de l’énergie et dans les sciences plus fondamentales comme la thermodynamique ou la physique statistique. L’entropie est aussi une notion utilisée en théorie de l’information, un domaine développé initialement par Shannon, dont les idées ont révolutionné ce domaine. L’information contenue dans un message peut être ainsi quantifiée en termes d’entropie de l’information dont la forme mathématique est très proche de l’entropie thermodynamique ou de l’entropie statistique. Envoyer un message, c’est d’abord le comprimer au maximum pour qu’il puisse être transmis de manière efficace par les moyens de communication. C’est aussi lui ajouter de l’information permettant de détecter et corriger les erreurs qui se produisent toujours lors de son transfert de l’émetteur vers le destinataire. Enfin, un message est la plupart du temps confidentiel et doit être crypté pour que des personnes indiscrètes n’interceptent pas son contenu. L’utilisation de moyens électroniques pour véhiculer l’information est un réel progrès par rapport aux moyens classiques utilisés dans le passé. Cependant, ces vecteurs de communication ont des faiblesses que ne manquent pas d’utiliser des personnes mal intentionnées pour voler des données, les corrompre ou pour empêcher qu’elles arrivent à bon port. La cybercriminalité est un domaine en pleine expansion où le défenseur a
11
Énergie, entropie, information, cryptographie et cybersécurité
toujours un coup de retard sur l’attaquant. Ce domaine étant important, nous donnons quelques notions élémentaires de cybersécurité dans un dernier chapitre. Cet ouvrage n’a pas d’autre ambition que d’être une introduction aux différents sujets cités dans son titre. Ce n’est donc pas un livre pour spécialistes, mais un ouvrage pour acquérir des notions élémentaires dans tous ces domaines. Il doit être complété, pour les lecteurs qui le souhaiteront, par des ouvrages plus approfondis dont certains sont cités à la fin de chaque chapitre et qui contiennent aussi de nombreuses références. L’ouvrage est divisé en onze chapitres. Le chapitre 1 introduit la notion d’énergie. Sans énergie, il n’y a ni vie ni activité économique. L’énergie intervient dans tout processus physique, chimique ou biologique dans lequel il se produit un changement. Ce sont les transformations d’une forme d’énergie vers une autre qui sont intéressantes pour l’utilisateur, comme transformer la chaleur émise lors de la combustion du gaz naturel en électricité. Même avec les meilleures technologies, le rendement est limité par le second principe de la thermodynamique, c’est-à-dire par le sens de l’évolution de l’entropie. Le chapitre 2 est une courte introduction à la thermodynamique. Cette science, née au xixe siècle, avait notamment pour but de comprendre et d’améliorer le rendement des machines à vapeur qui ont permis le démarrage de la révolution industrielle. La notion d’entropie a peu à peu émergée pour expliquer les limites observées lors de la conversion de chaleur en travail. Le chapitre 3 rappelle quelques notions de mécanique quantique. Au niveau microscopique, c’est-à-dire à l’échelle des atomes des molécules ou des noyaux, la mécanique classique est incapable de décrire certains phénomènes et n’est plus applicable. Certaines propriétés quantiques vont à l’encontre de notre intuition qui s’est construite à partir de l’observation d’un monde classique. Ces propriétés quantiques gouvernent un grand nombre de propriétés utilisées dans les technologies utilisées dans la vie de tous les jours. Le chapitre 4 introduit la physique statistique qui permet de comprendre la thermodynamique à partir des phénomènes microscopiques. Elle va même au-delà en permettant de décrire de nombreux phénomènes macroscopiques mettant en jeu un grand nombre de particules et notamment les systèmes à l’équilibre sous contraintes. L’équilibre statistique est obtenu lorsque l’entropie est maximale, c’està-dire lorsque l’information connue sur le système est minimale. Le chapitre 5 est un rappel sur les probabilités. C’est une branche des mathématiques très utilisée, que ce soit en physique statistique ou en théorie de l’information. Le chapitre 6 définit l’information de manière quantitative et introduit l’entropie d’information. Ce sont les notions de base de la théorie de l’information qui a été initiée pour une bonne part par Shannon. Le chapitre 7 donne le cadre général d’un transfert d’information entre un émetteur et un destinataire. Il présente les principaux problèmes auxquels on est confronté pour réaliser cette tâche.
12
Introduction
Le chapitre 8 s’intéresse au codage source, c’est-à-dire à la manière dont l’émetteur va préparer les messages avant de les transmettre dans les canaux d’information. L’objectif est d’avoir des messages aussi compacts que possible, car les « tuyaux » d’information ne peuvent pas tout accepter, de même qu’une canalisation d’eau a un débit maximum. Le chapitre 9 traite du codage canal. Il s’agit de tenir compte des erreurs qui se produisent inévitablement lors des transferts d’information. Il faut pouvoir identifier les erreurs et éventuellement les corriger. La cryptographie est un élément essentiel pour transmettre des messages confidentiels. On crypte un message pour qu’il ne soit pas lu par un tiers. Le chapitre 11 donne une introduction sur la cryptologie qui comprend à la fois la cryptographie et la cryptanalyse. La cryptographie consiste à chiffrer un message avant de le transmettre à son destinataire afin que son contenu reste confidentiel. La fonction de déchiffrement doit être rapide si l’on possède la clef et extrêmement difficile si on ne la possède pas. La cryptanalyse consiste à essayer de déchiffrer un message dont on n’a pas la clef. Elle peut avoir un but malveillant, mais sert aussi à tester la vulnérabilité du chiffrement. Le monde moderne repose maintenant beaucoup sur les transferts d’information et le stockage de données. Le contenu du trafic et les données stockées ont de la valeur et attirent des personnes malveillantes. D’autres attaques visent à perturber ou détruire certaines des infrastructures (logicielles ou matérielles) d’une entreprise. Ainsi, environ 30 % des sociétés françaises subissent une attaque informatique chaque année. Certaines de ces attaques conduisent à des pertes importantes pour la société attaquée, pouvant aller jusqu’à la disparition de celle-ci. C’est l’objet du chapitre 11. Chacun des chapitres de ce livre peut être abordé indépendamment, sauf les chapitres 8 et 9 qu’il est préférable de lire dans cet ordre. La particularité de cet ouvrage est qu’il comprend aussi 115 exercices (chapitre 12) sur les différents chapitres abordés. Ceux-ci sont intégralement corrigés (chapitre 13) et permettent de tester et de compléter les connaissances acquises de chacun des chapitres. Quelques exercices portant sur des compléments de mathématiques sont aussi proposés ainsi que des exemples de programmation en langage Python (chapitre 14).
13
1 L’énergie
L’énergie est une notion complexe à appréhender. Elle se présente, pour nos usages, sous de multiples formes. Ce chapitre donne quelques notions sur ce sujet.
1.1 Les multiples facettes de l’énergie L’énergie est nécessaire à la vie et au développement économique. C’est une notion difficile à définir, car elle recouvre de multiples aspects. Pour le physicien théoricien, l’énergie est la quantité qui se conserve par suite de l’existence d’une symétrie particulière de l’espace et du temps. Dans l’univers, il y a de l’énergie et de la matière. L’énergie E et la masse m d’une particule de masse sont reliées par la relation d’Einstein : E = mc 2 Où c est la vitesse de la lumière. Cette relation exprime le fait qu’il y a équivalence entre énergie et masse. De l’énergie peut se transformer en matière et réciproquement. Par exemple, un photon g (énergie) de 1,022 MeV peut créer, lors d’une interaction avec la matière, un électron e − (matière) et un positon e + (antimatière). Cette transformation est utilisée dans les détecteurs de photons de haute énergie, mais aussi dans les détecteurs de rayonnement gamma utilisés dans le domaine du médical. De même, un positon e + peut s’annihiler avec un électron e − pour donner deux photons g . C’est le principe de la tomographie par émission de positons utilisé en imagerie médicale.
15
Énergie, entropie, information, cryptographie et cybersécurité
Pour satisfaire nos besoins énergétiques, ce n’est pas tant l’énergie elle-même qui nous intéresse, mais ses transformations d’une forme vers une autre, car elles vont permettre d’en récupérer une partie pour satisfaire nos besoins (travail ou chaleur). La nourriture nous fournit de l’énergie pour vivre, mais nous n’allons pas nous intéresser à cette forme d’énergie ici. Nous allons plutôt considérer d’autres formes d’énergie comme le pétrole, qui permet d’obtenir de l’essence ou du gazole pour propulser les véhicules ou l’électricité qui est nécessaire au fonctionnement de nombreux dispositifs domestiques (réfrigérateur, télévision, lampes, convecteurs, etc.).
1.2 Symétrie et conservation de l’énergie Le théorème de Noether, publié en 1918 par la mathématicienne allemande Emmy Noether, dit, en termes simples, que chaque fois qu’il existe une invariance des lois physiques lors de certaines transformations (ce que l’on désigne habituellement sous le nom de symétries), il existe une loi de conservation. Il y a invariance des lois physiques par translation dans le temps (elles restent les mêmes au cours du temps). On dit que le temps est uniforme, ce qui signifie que si l’on réalise une expérience aujourd’hui et qu’on la reproduit dans 1 an dans les mêmes conditions, on trouvera le même résultat. La conséquence de l’uniformité du temps est qu’il existe une quantité, appelée énergie, qui est conservée pour un système isolé, c’est-à-dire sans interaction avec le milieu extérieur. Cette définition de l’énergie nous dit que c’est une quantité conservée pour un système isolé, mais elle ne nous renseigne en rien quant aux formes d’énergie qui sont utiles pour satisfaire les besoins de l’espèce humaine. Or, ce qui nous intéresse dans la vie courante, ce sont les différentes formes d’énergie et les transformations d’une forme d’énergie vers une autre. Les formes qui sont en particulier intéressantes pour nos besoins sont la chaleur et le travail. En brûlant du bois, on va par exemple produire de la chaleur permettant de se chauffer. En utilisant de l’essence dans une voiture, on va transformer une partie de son énergie de combustion en travail pour propulser le véhicule. L’espace est aussi homogène, isotrope. L’homogénéité de l’espace signifie qu’il est invariant par translation. Cette invariance exprime le fait qu’une translation d’un dispositif expérimental, par exemple de Paris à Marseille, ne change pas les résultats. Cette invariance par translation se traduit par la conservation de l’impulsion d’un système mécanique isolé. L’isotropie de l’espace signifie qu’il est invariant par rotation. La rotation d’un dispositif expérimental ne change pas les résultats. Cette propriété conduit à la conservation du moment cinétique d’un système isolé. L’homogénéité de l’espace, son isotropie et l’uniformité du temps conduisent aux lois de conservation de la figure 1.1.
16
1. L’énergie
Figure 1.1
1.3
Les différentes formes de l’énergie
L’énergie peut se présenter sous différentes formes. Certaines sont indiquées dans la figure 1.2. L’homme a besoin d’énergie pour fournir du travail, pour produire de la chaleur afin de chauffer les lieux où il vit ou travaille, pour fabriquer du froid pour climatiser ses locaux lorsqu’il fait trop chaud, etc. Il obtient la forme d’énergie dont il a besoin par transformation d’une forme énergétique vers une autre. Chaque transformation a un rendement qui est plus ou moins bon. On peut par exemple produire de l’électricité dans une centrale à charbon en brûlant ce dernier. La combustion est une réaction chimique. Le rendement de production de l’électricité varie typiquement entre 30 et 40 % selon la technologie utilisée. Cette électricité peut
Figure 1.2
17
Énergie, entropie, information, cryptographie et cybersécurité
alimenter un moteur électrique que l’on va par exemple utiliser pour faire tourner le tambour d’une machine à laver. Le rendement entre l’électricité et le travail mécanique fourni par le moteur est très bon, proche de 100 %. L’énergie intervient dans tout processus physique, chimique ou biologique qui se traduit par un changement. De l’énergie peut ainsi être absorbée ou libérée lors du processus.
1.4 La consommation d’énergie Au niveau mondial, la consommation d’énergie augmente régulièrement. • D’une part parce que la population mondiale augmente. Il y a chaque jour environ 200 000 nouveaux habitants sur la Terre. Ce sont de nouveaux consommateurs d’énergie. La figure 1.3 montre l’évolution de la population mondiale lors du dernier millénaire. On remarque que la croissance de la population mondiale a été très rapide depuis le début de la révolution industrielle, il y a un peu plus de deux siècles. Les dates indiquées correspondent au passage d’un nouveau milliard d’habitants. Le premier milliard a été atteint en 1804. En 2011, on a atteint 7 milliards d’habitants. • D’autre part parce que le niveau de vie des populations des pays émergents ou en développement augmente régulièrement, ce qui a pour conséquence d’augmenter la consommation d’énergie au niveau de la planète.
Figure 1.3
Pour évaluer les quantités d’énergie produites ou consommées, les économistes utilisent la notion d’énergie primaire. Il s’agit de l’énergie contenue dans une source énergétique avant toute transformation. C’est, par exemple, le cas du pétrole brut,
18
1. L’énergie
du charbon ou de l’énergie solaire qui atteint le sol de notre planète. Cette énergie primaire est transformée sous une forme directement utilisable par le consommateur, comme l’électricité, l’essence ou le gazole. La population mondiale actuelle est d’environ 7,5 milliards. Le « Population Reference Bureau » (PRB) situé à Washington estime qu’environ 108 milliards d’humains ont vécu sur Terre depuis l’apparition de l’homme. Un humain consomme aujourd’hui beaucoup plus d’énergie chaque année que chacun de ses ancêtres. De plus, son espérance de vie est bien supérieure. Rappelons en effet que l’espérance de vie à la naissance d’un Français n’était que de 28 ans avant la Révolution française alors qu’elle est maintenant supérieure à 80 ans. En 1900, elle était de l’ordre de 50 ans. La faible espérance de vie avant la Révolution provenait essentiellement de la forte mortalité infantile. Environ un enfant sur trois n’atteignait pas son premier anniversaire au milieu du xviiie siècle. Pour comparer les sources d’énergie entre elles, les économistes utilisent la tonne équivalent pétrole ou tep. C’est l’énergie produite par la combustion d’une tonne de pétrole moyen. En 2015, 13,6 Gtep (1 Gtep = 1 milliard de tep) d’énergie primaire ont été consommés au niveau de la planète. L’énergie finale, qui correspond à celle que paye directement le consommateur comme l’essence, le gazole ou le fioul, a été de 9,4 Gtep. La figure 1.4 indique la répartition de la consommation d’énergie primaire dans le monde en 2015. Les données proviennent de l’Agence internationale de l’énergie (IEA, International Energy Agency, www.iea.org). Il ressort de cette figure que le pétrole, le gaz et le charbon représentent plus de 80 % de l’énergie primaire consommée par l’humanité. Cette proportion a peu changé depuis plusieurs décennies malgré tous les efforts pour sortir de cette dépendance. Cela signifie que la civilisation actuelle repose presque entièrement sur les combustibles fossiles.
Figure 1.4
19
Énergie, entropie, information, cryptographie et cybersécurité
Les énergies renouvelables intermittentes (éolien et photovoltaïque) dont on parle beaucoup représentent moins de 1,5 % du total. Cependant, les énergies renouvelables utilisées depuis très longtemps (biomasse et hydraulique) représentent un peu plus de 12 % du total. Comme on peut le voir sur la figure 1.5, la répartition de la consommation d’énergie finale entre le bâtiment (chauffage et climatisation), l’industrie et les transports est à peu près la même.
ENERGIE FINALE
Industrie
Bâtiments
Transports 31%
32%
37% Figure 1.5
1.5 Ordres de grandeur Le joule, qui est l’unité officielle d’énergie, en représente une très faible quantité. C’est typiquement l’énergie fournie lors de la frappe d’une cinquantaine de touches sur un clavier d’ordinateur. Dans la pratique, notamment pour la facturation de l’électricité ou du gaz naturel en France, on utilise souvent le kWh. 1 kWh = 3,6 millions de joules = 3,6 × 106 J La figure 1.6 montre, sur divers exemples, ce que représente 1 kWh. C’est l’énergie cinétique d’un camion de 10 t roulant à 100 km/h ou l’énergie fournie par 3,6 t d’eau tombant d’une hauteur de 100 m. 1 kWh permet de faire fondre 10 kg de glace, mais ne permet de faire bouillir que 1,5 litre d’eau. Une personne pesant 70 kg éjectée d’un vélo roulant à 20 km/h possède une énergie cinétique de l’ordre de 1000 J, soit environ 0,3 Wh. C’est très peu, alors que le choc de la personne contre un mur par exemple est très violent. À titre de comparaison, la batterie d’un ordinateur portable stocke typiquement une énergie de l’ordre de 40 à 50 Wh et celle d’une voiture électrique environ 25 à 40 kWh.
20
1. L’énergie
Figure 1.6
1.6
Puissance et énergie
Il ne faut pas confondre la puissance et l’énergie. La puissance est la quantité d’énergie délivrée ou consommée par unité de temps. Un radiateur ayant une puissance de 1 kW consomme une énergie de 1 kWh s’il fonctionne à fond pendant 1 heure. S’il reste éteint, il ne consomme aucune énergie. Il y a parfois une confusion volontaire entre puissance et énergie pour vanter les qualités d’une source d’énergie. Prenons l’exemple d’une éolienne dont la puissance est de 3 MW. Si le vent était régulier avec une vitesse correspondant à la valeur à laquelle cette puissance est donnée (vitesse nominale), cette éolienne produirait au cours d’une année (8 760 heures) une énergie de 26,3 GWh. En fait, il n’y a pas toujours du vent et celui-ci ne souffle pas toujours à une vitesse suffisante pour que l’éolienne délivre une puissance de 3 MW. En France, tout se passe comme si, en moyenne, l’éolienne fonctionnait 24 % du temps à vitesse nominale. Par conséquent, elle ne produit en moyenne que 6,3 GWh. En Allemagne, où le rendement est moins bon qu’en France, la puissance éolienne installée en 2017 était de 56 GW. Les éoliennes ont produit dans l’année 106,6 TWh. À titre de comparaison, la puissance électrique nucléaire installée en France est de 63 GW et a produit 379 TWh.
1.7
Sources d’énergie
Les sources d’énergie actuellement utilisées sont indiquées dans la figure 1.7. La plupart des sources d’énergies économiquement exploitables ont pour origine le soleil qui, grâce au processus de photosynthèse nécessitant lumière solaire, eau et gaz carbonique, synthétise de la biomasse végétale dont une partie servira de nourriture, donc d’énergie, aux êtres vivants. La plupart des énergies renouvelables ont pour origine l’énergie solaire.
21
Énergie, entropie, information, cryptographie et cybersécurité
Figure 1.7
22
1. L’énergie
Il en est de même des combustibles fossiles qui se sont formés il y a des centaines de millions d’années à partir de la biomasse végétale d’origine marine (pétrole ou gaz naturel) ou terrestre (charbon). Comme le soleil ne chauffe pas uniformément la Terre, il se crée des différences de température et de pression qui sont à l’origine du vent qui fait tourner les éoliennes. Le vent crée aussi des vagues et des courants à la surface de la mer. Pour beaucoup de sources d’énergie renouvelables comme l’hydraulique ou l’énergie des vagues, la gravitation permet de récupérer de l’énergie utilisable sous forme d’électricité. Une grande partie de l’énergie géothermique provient de la radioactivité de noyaux contenus dans l’écorce terrestre. Ils étaient contenus dans les poussières d’étoiles massives qui ont cessé d’exister faute de carburant. Cela s’est produit bien avant l’apparition du système solaire il y a environ 4,5 milliards d’années. Ce dernier s’est formé à partir de poussières d’étoiles qui se sont agglomérées sous l’influence de la gravitation. L’énergie libérée lors de la décomposition radioactive de ces noyaux présents dans l’écorce terrestre représente la majeure partie de la géothermie, le reste provient de la chaleur initiale existant à l’intérieur de notre planète lors de sa formation par accrétion de matière. La géothermie n’est pas strictement une énergie renouvelable, mais une source inépuisable à l’échelle humaine. L’énergie nucléaire utilisée aujourd’hui utilise comme combustible de l’uranium. Elle utilisera sans doute plus tard le thorium contenu dans l’écorce terrestre qui est 2,5 fois plus abondant que l’uranium. Ces noyaux se sont formés dans les étoiles massives ayant une masse bien supérieure à celle de notre soleil, ceci bien avant que le système solaire ne se soit formé. Citons enfin une source d’énergie présente dans l’environnement qui nous entoure que l’on peut exploiter moyennant une dépense en énergie. C’est ce que l’on peut qualifier de « chaleur basse température ». À partir de celle-ci, on peut produire de la chaleur en utilisant une pompe à chaleur ou du froid avec un groupe réfrigérant qui fonctionne selon le même principe. Ainsi, en utilisant l’air extérieur, on peut chauffer une maison. Une pompe à chaleur nécessite de l’énergie pour fonctionner, mais elle produit plus de chaleur qu’elle ne consomme d’électricité. En consommant 1 kWh d’électricité, il est ainsi possible de produire 3 ou 4 kWh de chaleur. La différence étant fournie par le milieu extérieur. De même, un climatiseur, moyennant un apport d’énergie extérieur sous forme d’électricité, fournit du froid dans une pièce tout en rejetant de la chaleur à l’extérieur. En consommant 1 kWh d’électricité, on peut générer 2 à 3 kWh de froid. La figure 1.8 résume les principales sources d’énergie renouvelable que l’on peut exploiter. Ce sont des sources d’énergie peu concentrées. Une des difficultés dans leur exploitation est qu’il faut concentrer suffisamment cette énergie diluée pour obtenir des quantités utilisables pour les besoins de l’homme moderne. Le grand hydraulique est une exception, car il permet de générer de grandes puissances. En effet, son exploitation repose sur la gravitation et de grandes retenues d’eau situées en altitude. La concentration de l’énergie se fait de manière naturelle grâce au relief situé au-dessus de la retenue. Il permet aux pluies d’alimenter les cours d’eau qui vont remplir celle-ci.
23
Énergie, entropie, information, cryptographie et cybersécurité
Figure 1.8
1.8 Le défi énergétique français En matière d’énergie, la France est actuellement face à un défi qui comprend les trois volets indiqués dans la figure 1.9. 1. Il faut essayer de réduire les émissions de CO2, car elles augmentent l’effet de serre et ont un impact sur le climat. Actuellement, parmi les sources d’énergie économiquement accessibles, seuls le nucléaire et les énergies renouvelables n’émettent pas de CO2 en fonctionnement. 2. Les combustibles fossiles étant en quantité finie sur la Terre, ils seront épuisés d’ici sans doute quelques siècles (le charbon étant la ressource qui est la plus abondante). Ils ont permis un développement économique et humain spectaculaire depuis environ deux siècles, mais il faudra apprendre à s’en passer et utiliser des alternatives. 3. Le déficit commercial de la France est élevé. En 2017, il était de 67,8 milliards d’euros, dont plus de 60 milliards dus à l’importation de combustibles fossiles. C’est donc une troisième raison pour réduire l’utilisation de ceux-ci en France.
24
1. L’énergie
Figure 1.9
1.9
L’intermittence, le principal problème de l’éolien et du photovoltaïque
Tous les kWh d’électricité ne sont pas tous égaux. Certains peuvent être produits lorsqu’on en a besoin, d’autres ne sont accessibles que lorsque la nature le permet. C’est le cas de l’éolien et du photovoltaïque. Le premier exploite le vent, le second la lumière solaire. Quand il n’y a pas de vent, les éoliennes ne produisent pas d’énergie. Si le vent est faible, la quantité d’énergie produite, qui varie comme le cube de la vitesse du vent, est faible ou négligeable. Quand il n’y a pas de soleil, les panneaux photovoltaïques ne produisent pas d’électricité non plus. La production éolienne dépend fortement de la vitesse du vent. Celle-ci varie naturellement au cours du temps et la plupart du temps de manière imprévisible. La puissance délivrée par une éolienne varie comme le cube de la vitesse du vent. Si cette dernière est divisée par 3 (20 km/h au lieu de 60 km/h, par exemple), la puissance est divisée par 27. Une éolienne de 3 MW (3 000 kW) ne fournira plus qu’une puissance de 111 kW. Il n’est pas possible de prédire la vitesse du vent avec une bonne précision. L’erreur entre la puissance prévue, que ce soit 1 heure ou 1 jour avant et la puissance réellement observée est aléatoire et importante. De plus, en France, on peut avoir jusqu’à une dizaine de jours sans vent lorsque le pays est protégé par un anticyclone. Comparée au vent, l’énergie solaire est plus prévisible. On sait quand le soleil se lève et quand il se couche. Toutefois, la puissance que l’on peut récolter avec un panneau varie selon l’heure du jour et la couverture nuageuse. Pour utiliser l’éolien et le photovoltaïque à grande échelle il faut pouvoir pallier leur intermittence. Plusieurs solutions peuvent être mises en œuvre séparément ou simultanément. Ce sont : • des centrales thermiques d’appoint (gaz naturel ou charbon) ;
25
Énergie, entropie, information, cryptographie et cybersécurité
• des moyens de stockage ; • un réseau électrique dit « intelligent » (smartgrid) ; • l’importation d’électricité à condition que nos voisins en produisent en excédent. Il est alors probable que celle-ci soit obtenue à partir de gaz naturel ou de charbon, donc avec des émissions de CO2.
1.10 L’électricité L’électricité est un vecteur énergétique de plus en plus utilisé dans le monde moderne, car il permet de satisfaire de nombreux usages. Ceci se traduit par le fait que la consommation électrique au niveau mondial croît plus vite que celle de l’énergie primaire. Un des avantages de l’électricité est qu’elle peut être produite à partir de pratiquement toutes les sources d’énergie. Son inconvénient est qu’à chaque instant la production doit êtes égale à la demande sous peine de disjonction du réseau. Or cette demande varie selon l’heure et n’est pas la même l’hiver que l’été. La figure 1.10, construite à partir des données du RTE (Réseau de transport d’électricité), montre l’évolution de la consommation d’électricité le 26 janvier 2015. La consommation d’électricité est minimale vers 4h du matin et maximale vers 19h. Elle est également importante entre 8h et 14h. Le réseau électrique doit être capable d’encaisser ces variations. Pour les demandes ponctuelles rapides, le producteur d’électricité utilise des centrales à combustible fossile démarrant rapidement et son stockage hydraulique.
Figure 1.10
26
1. L’énergie
En France, c’est en hiver que la consommation d’électricité est la plus forte à cause du chauffage électrique. Comme les moyens de stockage sont insuffisants ; on surdimensionne la puissance de production par rapport à la puissance moyenne consommée sur l’année pour pouvoir équilibrer à chaque instant la production et la demande. La puissance moyenne en France est de l’ordre de 65 GW alors que la puissance installée est d’environ 120 GW. Le 6 février 2015, la puissance maximale appelée sur le réseau français a été de 91,6 GW. L’idéal est de produire l’électricité sans émission de gaz carbonique. Ceci n’est possible qu’avec l’énergie nucléaire et les énergies renouvelables. Or une grande partie de l’électricité est produite au niveau mondial avec du charbon, qui est le combustible fossile le plus polluant et le plus émetteur de CO2.
1.11 Stockage de l’énergie Le stockage est le point faible du domaine énergétique. Si l’on savait stocker de grandes quantités d’électricité à bas coût, il faudrait moins de moyens de production. On sait stocker de l’énergie, que ce soit de l’électricité ou de la chaleur, mais c’est encore cher ou très cher. On stocke de l’énergie lorsque l’on a un excédent de celle-ci pour l’utiliser plus tard lorsque l’on en a besoin. L’objectif est de lisser la production d’électricité afin de mieux utiliser les moyens de production et d’éviter de grandes variations de fonctionnement des centrales, car c’est néfaste pour la durée de vie de certains de leurs composants. Pour prendre une analogie, une voiture qui fait des petits voyages de quelques kilomètres s’use plus vite, pour la même distance parcourue, que si elle fait de longs voyages. Certaines sources d’énergie, comme les combustibles fossiles, sont aussi des moyens de stockage. On peut qualifier cela de stockage intrinsèque. Un litre d’essence contient environ 10 kWh d’énergie. La quantité d’énergie stockée dépend de la quantité de combustible que l’on peut stocker. Pour la France, cela peut correspondre à quelques mois de consommation dans le cas du pétrole ou des décennies dans le cas de l’uranium utilisé dans les réacteurs nucléaires.
Stockage de l’électricité L’électricité est un vecteur énergétique merveilleux, mais sa particularité est que la production doit à chaque instant être égale à la consommation. On sait stocker de l’électricité en petite ou grande quantité, mais c’est souvent cher et, pour les grandes quantités, peut nécessiter des surfaces et volumes considérables (stockage hydraulique). Il y a plusieurs raisons de vouloir stocker de l’électricité. Celles-ci sont indiquées dans la figure 1.11.
27
Énergie, entropie, information, cryptographie et cybersécurité
Figure 1.11
• On stocke l’électricité pour lisser la production et équilibrer le réseau. Il faut pour cela stocker de très grandes quantités d’électricité. Le stockage hydraulique, comme celui de Grand’Maison en Isère, est pour le moment la meilleure solution. C’est ce que l’on appelle les STEP (station de transfert d’énergie par pompage). La capacité actuelle des STEP dans le monde représente une puissance proche de 150 GW. Toutefois, en France, c’est largement au-dessous des besoins de stockage nécessaires et il est difficile d’étendre cette capacité dans notre pays pour de nombreuses raisons. • Il est intéressant de stocker de l’électricité lorsque son prix est bas (heures creuses, excédent) pour la revendre aux heures de pointe où le prix est élevé. • Le stockage de l’électricité est indispensable si l’on veut développer les énergies intermittentes (éolien et solaire), car le consommateur moderne veut de l’électricité quand il en a besoin et à tout instant. S’il n’y a pas assez de moyens de stockage, on doit recourir à des centrales thermiques d’appoint fonctionnant au gaz naturel ou au charbon, donc émettant du CO2 et des polluants. • Le stockage de l’électricité est indispensable pour les systèmes nomades (lecteurs mp3, ordinateurs portables, tablettes, matériel de bricolage, etc.) ainsi que pour la mobilité électrique (voitures électriques et hybrides, vélos et scooters électriques, etc.). Ce secteur en plein développement a besoin de batteries de plus en plus légères et peu encombrantes. Il est actuellement dominé par la technologie des batteries Li-ion. • Enfin, on a parfois besoin de stocker de l’électricité pour produire de l’électricité d’excellente qualité pour des applications spécifiques. La figure 1.12 montre les principales technologies de stockage utilisées.
28
1. L’énergie
Figure 1.12
Stockage de la chaleur La chaleur est une part importante de la consommation d’énergie totale de la France. Il faut distinguer le stockage longue durée de celui de courte durée. Le stockage de la chaleur sur une ou plusieurs journées est largement répandu avec l’utilisation de cumulus qui utilisent l’électricité la nuit, aux heures creuses, pour chauffer de l’eau qui sera utilisée dans la journée où la demande en électricité est plus importante. Il y a environ 11 millions de cumulus en France qui stockent, sur l’année, environ 20 TWh de chaleur. Les cumulus contribuent à lisser la production d’électricité et permettent d’éviter de consommer celle-ci aux heures de pointe. La figure 1.13 montre les différents moyens de stockage de la chaleur.
Figure 1.13
29
Énergie, entropie, information, cryptographie et cybersécurité
On peut utiliser la capacité calorifique d’un matériau. Un cumulus, d’une capacité de 300 l stocke ainsi environ 15 kWh de chaleur. On peut aussi utiliser la chaleur latente d’un matériau lors d’un changement de phase (transformation eau-glace ou eau-vapeur, par exemple). Enfin, des réactions chimiques peuvent être utilisées pour stocker de la chaleur. Une réaction endothermique permet de stocker celle-ci et la réaction inverse permet de la libérer.
1.12 Pour en savoir plus Il existe de nombreux ouvrages généraux sur l’énergie ou traitant de sources d’énergie particulières. Le lecteur trouvera, dans les livres cités ci-dessous, de nombreuses références à ce sujet. J. Hermans, Energy survival guide: insight and outlook, Leiden University Press, 2011 D. MacKay, Sustainable energy without the hot air, UIT Cambridge University, 2009. Téléchargement gratuit sur le site https://www.withouthotair.com/download.html C. Ngô et J. Natowitz, Our energy future: resources, alternatives, and the environment, Wiley, 2e édition, 2016 C. Ngô, L’Énergie : Ressources, technologies et environnement, 3e édition, Dunod, 2008 C. Ngô, On a tous besoin d’énergie, eBook Amazon, 2016 V. Smil, Energy, a Beginner’s Guide, Oneworld Publications, Oxford, 2006
30
2 Thermodynamique
La thermodynamique est une science subtile. Ce chapitre rappelle les deux principes de la thermodynamique. Le premier étant associé à la conservation d’énergie, le second à l’irréversibilité. La notion de fonction d’état est un concept particulièrement important pour résoudre des problèmes de thermodynamique sans avoir à comprendre la structure microscopique des systèmes macroscopiques. L’entropie, liée à l’irréversibilité d’un processus, joue un rôle important dans les processus visant à transformer de la chaleur en travail. Introduite en thermodynamique de façon empirique, on en comprendra mieux le sens dans le cadre de la physique statistique.
Deux formes d’énergie sont particulièrement importantes : le travail, W, et la chaleur Q. La thermodynamique est la partie de la physique qui étudie, au niveau macroscopique, les transformations entre ces deux formes d’énergie. Un objet macroscopique est constitué d’un grand nombre d’atomes ou de molécules, mais la thermodynamique ne s’intéresse pas à cette structure interne. Elle essaie de décrire les transferts de travail et de chaleur avec des variables macroscopiques comme la température, la pression, le volume, etc. Contrairement à ce que son nom pourrait suggérer, la thermodynamique est une théorie statique. Cette branche de la physique s’est fortement développée au xixe siècle pour comprendre et prédire le comportement des machines thermiques, notamment les machines à vapeur, qui ont été au cœur de la révolution industrielle. En effet, toute augmentation de rendement dans la production de travail à partir de la chaleur est une amélioration de la productivité et une diminution des coûts.
31
Énergie, entropie, information, cryptographie et cybersécurité
2.1 Définitions Un système est une partie de l’univers entourée par une surface fermée (figure 2.1). Celle-ci peut être fictive pour les besoins d’un raisonnement. Il est dit isolé s’il n’a pas d’interaction avec le reste de l’univers. Dans le cas contraire, il est ouvert. Quand un système est ouvert, il peut échanger avec l’extérieur du travail, de la chaleur ou de la matière. Un système fermé ne peut pas échanger de la matière avec le milieu extérieur, mais il peut échanger du travail ou de la chaleur. Très souvent, on considère deux systèmes séparés par une paroi comme il est indiqué dans la figure 2.2. Cette paroi peut être adiabatique (elle ne conduit pas la chaleur), diatherme (elle conduit la chaleur), mobile (elle permet l’échange de travail) ou poreuse (elle permet l’échange de particules, donc de matière).
Figure 2.1
Figure 2.2
Un système macroscopique est décrit par des paramètres macroscopiques que l’on peut mesurer ou imposer, comme la température, la pression, le volume, etc. Il est en équilibre lorsque les paramètres macroscopiques qui le décrivent ne changent plus au cours du temps 1. Si ce n’est pas le cas, il est hors d’équilibre. C’est le cas par exemple d’une tasse de thé chaude posée sur une table. Le thé va peu à peu 1. Les paramètres macroscopiques peuvent aussi rester constants pour un système stationnaire. C’est le cas par exemple d’un récipient rempli d’eau qui mijote sur une plaque chauffante. L’état stationnaire est atteint lorsque la quantité de chaleur apportée par la plaque est exactement compensée par les pertes de chaleur du récipient vers le milieu extérieur.
32
2. Thermodynamique
se refroidir et atteindre la température du milieu extérieur. Il sera alors dans un état d’équilibre. La thermodynamique ne s’intéresse qu’aux systèmes en équilibre. Il existe néanmoins une branche de la physique, la thermodynamique hors d’équilibre, qui permet de traiter l’évolution d’un système vers l’équilibre. On constate expérimentalement qu’un système macroscopique peut être complètement décrit avec un petit nombre de variables macroscopiques. Ainsi, l’état d’un gaz parfait est complètement déterminé par sa température, son volume, sa pression et son nombre de moles. On constate d’ailleurs que toutes ces variables macroscopiques ne sont pas indépendantes, mais qu’elles sont liées entre elles par une relation que l’on appelle équation d’état. Un processus thermodynamique correspond au passage d’un état à un autre. Si l’on veut pouvoir utiliser la thermodynamique pour décrire ce processus, il faut que la transformation soit une suite d’états d’équilibre. On dit que la transformation est quasi statique. Plusieurs transformations sont possibles pour un système. Elles sont indiquées dans le tableau 2.1. Tableau 2.1 Transformation
Propriétés
Quasi statique
Lente, succession d’états d’équilibre
Réversible
Quasi statique et réversible
Isotherme
La température T reste constante
Isobare
La pression P reste constante
Isochore
Le volume V reste constant
Adiabatique
Sans échange de chaleur
Isentropique
Adiabatique et réversible. L’entropie S reste constante
Cyclique
L’état final est l’état initial
Irréversible
Contraire de réversible. Cela correspond à la majeure partie des transformations réelles
Un système est homogène si, en l’absence de champ extérieur, la concentration de ses constituants est constante (exemple : eau salée à 30 g/l). Si ce n’est pas le cas, le système est hétérogène (exemple : pierres dans l’eau ou mélange huile-eau). Réunissons deux systèmes identiques caractérisés par des variables macroscopiques comme P, T, V, etc. Si une variable macroscopique est multipliée par deux, on dit que la variable est extensive. Si elle garde la même valeur, on dit qu’elle est intensive.
33
Énergie, entropie, information, cryptographie et cybersécurité
Ainsi, si l’on considère le volume V, le nombre de particules N, la température T et la pression P on a, si l’on réunit deux systèmes identiques : V → 2V ⇒ Variable extensive N → 2 N ⇒ Variable extensive T → T ⇒ Variable intensive P → P ⇒ Variable intensive Le travail est un transfert d’énergie à l’échelle macroscopique. Il résulte d’un mouvement cohérent d’un ensemble de particules, comme celles qui constituent un piston qui se déplace le long des parois un cylindre. En général, lors de l’interaction de deux systèmes, cela se traduit par un changement des paramètres macroscopiques à l’exclusion de la température. Par exemple, un changement de volume se traduit par un échange de travail. La chaleur correspond au contraire à un transfert d’énergie incohérent au niveau des particules constituant le système, car celles-ci se déplacent au hasard. L’échange de chaleur entre deux systèmes se traduit par un changement de la température. Nous verrons, dans le chapitre consacré à la physique statistique, que les notions de travail et de chaleur apparaissent naturellement et se comprennent plus facilement dans le cadre d’une approche microscopique.
2.2 Énergie interne Considérons un système macroscopique comme une balle de tennis et lançons-la en l’air. L’énergie totale de cette balle de tennis est constituée d’une partie macroscopique et d’une partie microscopique. La partie macroscopique correspond à la somme de son énergie cinétique, E cin, puisqu’elle est en mouvement et de son énergie potentielle, E pot, puisqu’elle est soumise au champ de la pesanteur (elle « tombe » naturellement). Au niveau microscopique, il s’agit de l’énergie de ses constituants microscopiques : c’est ce que l’on appelle l’énergie interne U. On a donc E = E cin + E pot + U L’énergie interne est définie à une constante près. C’est une notion propre à la thermodynamique et on ne s’intéresse en général qu’à ses variations ΔU entre deux états. Pour illustrer cela sur un cas concret, considérons un gaz constitué de N particules situées en ri plongé dans un champ de potentiel Vext (le champ de pesanteur dans le cas de la balle de tennis). On suppose que les particules interagissent entre elles par un potentiel V (r1 , r2 ,, rN ) . Si les particules sont par exemple des électrons, ils interagissent par l’intermédiaire de la force coulombienne. Dans ce cas, l’énergie totale du gaz vaut : N
E = ∑ 12 mi v i2 + V (r1 , r2 ,, rN ) + Vext i =1
34
2. Thermodynamique
L’énergie interne est l’énergie microscopique d’un système thermodynamique en équilibre et macroscopiquement au repos. Dans le référentiel du centre de masse du système on a donc : N
U = ∑ 12 mi v 02i + V (r01 , r02 ,, r0 N ) i =1
Où l’indice zéro repère les positions et les vitesses dans le référentiel du centre de masse. Ceci est résumé dans la figure 2.3.
Figure 2.3
Considérons les deux systèmes indiqués sur la figure 2.2 et plaçons-nous dans le référentiel dans lequel ils sont au repos. L’énergie totale du système 1 + 2 vaut : E = E1 + E 2 + E12 Où E12 est l’énergie d’interaction entre les deux systèmes. En thermodynamique, on néglige l’interaction entre les deux systèmes 1 et 2 (couplage faible, E12 E1 , E 2 ). Donc E = E1 + E 2 et par conséquent, pour l’énergie interne : U = U1 + U 2
35
Énergie, entropie, information, cryptographie et cybersécurité
2.3 Conventions Un système thermodynamique échange de la chaleur ΔQ et du travail ΔW avec le milieu extérieur. Il faut choisir une convention de signe pour ces échanges afin de savoir si le travail ou la chaleur fourni par un système est compté positivement ou négativement. La convention adoptée aujourd’hui (ce n’était pas toujours le cas dans le passé où parfois travail et chaleur avaient des conventions différentes) est que l’on compte positivement le travail et la chaleur fournis au système et on compte négativement le travail et la chaleur fournis par le système. Cette convention (figure 2.4) est importante, car elle détermine le signe à adopter pour certaines quantités dans les formules de thermodynamique.
Figure 2.4
Ainsi, si l’on considère un radiateur qui chauffe une pièce, la chaleur fournie par celui-ci est considérée comme négative. De même, un moteur électrique qui fait tourner une perceuse fournit, avec cette convention, un travail négatif.
2.4 Principe numéro zéro Le principe numéro zéro de la thermodynamique est le suivant : Si deux systèmes sont en équilibre thermodynamique avec un même troisième, ils sont en équilibre entre eux. Considérons deux systèmes I et II en équilibre thermique. Si le système III est par exemple un thermomètre et si la mesure de la température du système I est T, alors la température du système II est aussi T. Le principe numéro zéro de la thermodynamique a été introduit environ un siècle plus tard que les premier et second principes.
36
2. Thermodynamique
2.5 Premier principe C’est un principe de conservation de l’énergie : l’énergie totale d’un système isolé est conservée. Le premier principe peut être aussi formulé de la manière suivante : on associe à tout système isolé une fonction d’état, l’énergie interne U, dont la variation est égale à la somme algébrique du travail et de la chaleur. ∆U = W + Q Ceci a pour conséquence une autre formulation du premier principe qui dit que pour toute transformation cyclique d’un système fermé (i.e. qui échange de l’énergie, mais pas de la matière), la somme du travail et de la chaleur échangés avec le milieu extérieur est nulle. W + Q = 0 pour un cycle fermé L’idée du premier principe a émergé lentement à partir d’observations et de réflexions sur le travail et la chaleur. Ainsi, J. P. Joule et d’autres scientifiques avaient observé que dans un cycle (l’état final est le même que l’état initial), la chaleur et le travail mis en jeu étaient égaux et opposés. Joule était un autodidacte, propriétaire d’une brasserie en Angleterre, qui a contribué de manière majeure au développement de la thermodynamique. Il est aussi connu pour la loi de Joule qui donne l’énergie dissipée dans une résistance lors du passage d’un courant électrique. En 1847, H. von Helmholtz a proposé le principe de conservation de l’énergie. Mais déjà, dès 1842, von Mayer avait introduit l’idée d’énergie et sa relation avec le travail ou la chaleur.
2.6 Fonction d’état Une fonction d’état ne dépend que de l’état initial et de l’état final d’une transformation, mais pas du chemin suivi pour aller de l’état initial à l’état final. L’énergie interne est une fonction d’état. Ceci est illustré dans la figure 2.5. On passe de l’état A à l’état B par deux transformations différentes. Pour chacune d’entre elles, il y a un transfert de travail et de chaleur (W1 ,Q1 ) et (W 2 ,Q 2 ). La variation d’énergie interne ΔU est la même dans les deux cas.
Figure 2.5
37
Énergie, entropie, information, cryptographie et cybersécurité
Ainsi, ΔU ne dépend que de l’état initial et de l’état final alors que ΔW et ΔQ dépendent du chemin suivi. La notion d’énergie interne, qui est une fonction d’état, a été introduite par R. Clausius lorsqu’il réalisa que la chaleur n’était pas une fonction d’état. Les variables d’état permettent de définir l’état thermodynamique d’un système.
2.7 Deuxième principe Si l’on met un objet chaud dans un récipient d’eau froide, on constate que l’objet se refroidit et que l’eau se réchauffe. L’équilibre thermodynamique étant atteint lorsque la température de l’objet est égale à celle de l’eau du récipient. Cependant, on n’observe jamais le phénomène inverse. Si l’on met un objet dans l’eau d’un récipient à la même température, l’objet ne se réchauffera pas et l’eau ne se refroidira pas spontanément. Pourtant, on pourrait très bien conserver l’énergie dans un tel processus. On constate donc qu’il y a, dans la nature, des phénomènes irréversibles. Ainsi la chaleur passe toujours spontanément d’un corps chaud vers un corps froid, mais pas en sens inverse. Cela n’est possible que s’il y avait un apport extérieur d’énergie au système composé du corps chaud et du corps froid. Le premier principe de la thermodynamique contrôle le bilan d’énergie d’une transformation, mais ne nous dit pas si celle-ci est possible. Le second principe de la thermodynamique est un principe d’évolution qui nécessite d’introduire une nouvelle fonction d’état : l’entropie. Il existe plusieurs formulations du second principe. Énoncé de Clausius. Il n’existe pas de processus dont le seul résultat est de transférer de manière spontanée de la chaleur d’un corps froid vers un corps chaud. Énoncé de Kelvin-Planck. Il n’existe pas de transformation dont le seul résultat soit de produire du travail à partir d’une seule source de chaleur à température constante.
2.8 L’entropie La notion d’entropie a été introduite en 1865 par Clausius alors qu’il étudiait la possibilité de caractériser l’aptitude de l’énergie contenue dans un système à fournir du travail. Son introduction en thermodynamique est complexe et il est préférable de l’introduire de manière axiomatique plutôt que de le faire en suivant le contexte historique. Cette notion deviendra plus claire lorsque nous nous intéresserons à la physique statistique. J. W. Gibbs disait d’ailleurs qu’il est plus simple de comprendre la thermodynamique en introduisant l’entropie dès le début.
38
2. Thermodynamique
Les variables d’état permettent de complètement définir un système thermodynamique. Il s’agit de U ,V , N . Postulat. Il existe une fonction continue et dérivable, l’entropie, qui dépend de ces variables d’état : S = S (U ,V , N ) Elle est telle que : S ≥0
∂S > 0 et S = S1 + S2 pour deux systèmes 1 et 2 ∂U
L’entropie est une fonction d’état extensive. À l’équilibre thermodynamique, S doit être maximum. La formulation du second principe à l’aide de l’entropie est la suivante : L’entropie d’un système isolé ne peut qu’augmenter pour un processus irréversible. Elle ne reste constante que pour un processus réversible. Donc : ∆S > 0 pour un processus irréversible et ∆S = 0 pour un processus réversible
2.9 Loi de Carnot Beaucoup de machines thermiques ont pour but de produire du travail. C’est le cas du moteur à combustion interne d’une voiture ou d’une centrale de production d’électricité, qu’elle fonctionne au charbon ou à l’énergie nucléaire. Ces machines thermiques ont besoin d’une source chaude à la température T1 et d’une source froide à la température T2 pour produire du travail. Le rendement maximum que peut atteindre une machine thermique est donné par la loi de Carnot. Si T1 > T2 ⇒ Rendement maximum =
T1 − T2 T =1− 2 0, et le travail est négatif, car il est fourni par le système.
2.12 Variables conjuguées En thermodynamique, on appelle variables conjuguées un couple de deux variables tel que : 1. l’une est intensive et l’autre extensive ; 2. leur produit a la dimension d’une énergie. Le tableau indique les principaux couples de variables conjuguées. Tableau 2.2 Variable intensive
Variable extensive
T (Température)
S (Entropie)
P (Pression)
V (Volume)
N (Nombre de particules)
μ (Potentiel chimique)
41
Énergie, entropie, information, cryptographie et cybersécurité
2.13 Équation d’état Pour un système en équilibre thermodynamique, une équation d’état est une relation reliant différents paramètres physiques. Cela signifie qu’ils ne sont pas tous indépendants puisqu’il existe une relation entre eux. Pour un gaz parfait, la température T, la pression P, le volume V et le nombre de moles n sont reliés par l’équation des gaz parfaits : PV = nRT Dans cette équation d’état, la constante des gaz parfaits vaut R = NkB où N est le nombre d’Avogadro et kB la constante de Boltzmann. Il existe une autre équation d’état pour un gaz parfait qui relie l’énergie interne U à T et n : = U
3 3 = nRT Nk T 2 2 B
Si N est le nombre de molécule du gaz parfait, car N = n N . Cette relation montre que l’énergie interne d’un système ne dépend que de sa température. C’est la loi de Joule.
2.14 Potentiels thermodynamiques Il est intéressant de connaître vers quel état d’équilibre va évoluer un système thermodynamique. Pour un système isolé initialement hors d’équilibre, on sait qu’il va évoluer vers un état où son entropie sera maximum. Dans la pratique, on a rarement un système isolé, car celui-ci est en contact avec le milieu extérieur. On peut ainsi travailler à pression ou température constante, ce qui veut dire qu’il y a une interaction entre le système et le milieu extérieur. C’est la raison pour laquelle on introduit des potentiels thermodynamiques qui permettent de plus facilement traiter l’évolution d’un système dans des conditions extérieures particulières. Un potentiel thermodynamique est une fonction d’état qui est minimum lorsque le système est en équilibre thermodynamique et que certaines contraintes extérieures sont imposées. Lors de l’évolution d’un système thermodynamique vers l’équilibre, l’entropie totale (système + milieu extérieur) augmente si la transformation est irréversible ou reste constante si elle est réversible. Les variables thermodynamiques utilisées dans la majorité des études thermodynamiques sont l’entropie S, la température T, le volume V, la pression P et le nombre de particules N. D’autres variables doivent parfois être introduites quand les propriétés du système et le milieu extérieur le nécessitent. La magnétisation d’un milieu en est un exemple. Selon les conditions expérimentales, on aura intérêt à choisir un potentiel plutôt qu’un autre. Le tableau résume les principaux potentiels thermodynamiques utilisés ainsi que les conditions dans lesquelles ils sont appropriés.
42
2. Thermodynamique
Potentiel thermodynamique
Conditions d’application
Expression
Forme différentielle
Énergie interne
Système isolé
U = U (S ,V , N )
dU = TdS − PdV + µ dN
Énergie libre
T = C te (contact avec un thermostat)
F = F (T ,V , N ) F = U − TS
dF = −SdT − PdV + µ dN
Enthalpie
H = H (S , P , N ) P = C te (contact avec un réservoir de pression) H = U + PV
Enthalpie libre ou fonction de Gibbs
T = C te et P = C te
G = G (T , P , N ) G = U + PV − TS
dH = TdS + VdP + µ dN dG = −SdT − PdV + µ dN
2.15 Pour en savoir plus J.-P. Ansermet et S. Bréchet, Thermodynamique, Presses polytechniques et universitaires romandes, 2016 H. B. Callen, Thermodynamics, John Wiley & Sons (1960) Y. A. Cengel et M. A. Boles, Thermodynamique : Une approche pragmatique, Chenelière Mc Graw-Hill, 2e édition, 2014 J.-N. Foussard, E. Julien, S. Mathé et H. Debellefontaine, Les Bases de la thermodynamique, Dunod, 3e édition, 2015
43
3 Physique quantique
Dans le prochain chapitre, nous aurons besoin de décompter des micro-états au niveau quantique. Nous rappelons donc brièvement ici les principales idées qui sous-tendent la mécanique quantique. Le monde microscopique est très différent du monde classique et nécessite d’acquérir un autre type d’intuition pour anticiper les comportements qui peuvent être observés.
Dans le monde classique, il y a des particules (ou corpuscules) qui obéissent aux lois de la mécanique classique. Elles sont localisées dans l’espace et on peut connaître à chaque instant leur position et leur vitesse. Leur évolution dans le temps est décrite par la mécanique classique qui permet, dans le principe, de calculer exactement leurs positions et vitesses futures, et prédire leur trajectoire. Une particule transporte de l’énergie, mais ce n’est pas le seul objet macroscopique qui le fait. Il existe aussi des ondes, comme les ondes électromagnétiques, sonores, etc. qui ne sont pas localisées dans l’espace, mais transportent de l’énergie. La particularité des ondes est qu’elles donnent naissance à des phénomènes physiques différents de ceux des corpuscules comme les interférences ou la diffraction. Avec des particules quantiques, on rentre dans un monde complètement différent régi par des lois qui ne sont pas familières à notre intuition qui s’est bâtie sur l’observation du monde macroscopique. Prenons l’exemple d’un très jeune enfant. Si, alors qu’il est installé sur une chaise de bébé, on fait tomber devant lui un objet, on observe que s’il n’a que quelques mois il ne suit pas des yeux la chute de l’objet. Il n’a pas encore assimilé les lois de la physique du monde qui l’entoure. Plus tard,
45
Énergie, entropie, information, cryptographie et cybersécurité
à 1 an par exemple, il a compris et lorsque l’objet tombe il le suit des yeux jusqu’à ce qu’il arrive sur le sol. Notre compréhension du monde s’est forgée à partir de l’observation des phénomènes qui nous entourent, aussi est-il difficile au début de comprendre les phénomènes qui se produisent au niveau quantique et que l’on ne voit pas de manière directe, car ils sont différents de ce que l’on a l’habitude d’observer au niveau macroscopique.
3.1 Dualité onde corpuscule Un certain nombre d’expériences faites dans la première moitié du xxe siècle ont montré que dans certaines conditions une particule se comportait comme une onde et une onde comme un corpuscule. La lumière est ainsi décrite à notre échelle par une onde : on parle « d’onde lumineuse ». Or, dans l’effet photoélectrique (utilisé dans les cellules photovoltaïques), ou pour l’effet Compton (utilisé dans les détecteurs de rayonnement g en imagerie médicale), l’onde lumineuse se comporte comme un corpuscule. De même, un électron est une particule qui se comporte dans certaines conditions comme une onde, en donnant naissance à des figures d’interférences ou de la diffraction, tout comme une onde lumineuse. La diffraction des électrons par un cristal utilise ainsi le comportement ondulatoire des électrons. Louis de Broglie, dans sa thèse en 1924, proposa qu’à chaque particule de masse m se propageant à la vitesse v est associée une onde de matière dont la longueur d’onde λ est donnée par :
λ=
h mv
Où h est la constante de Planck. Il obtint le prix Nobel de physique en 1929 pour ce résultat. Si d est la dimension typique dans lequel une particule évolue, on peut dire que si λ d elle se comportera essentiellement comme une particule classique. Si λ ≈ d ou λ ≥ d elle se comportera comme une onde. De même, si la longueur d’onde d’une onde est très faible comparée aux dimensions typiques du problème, elle pourra se comporter comme une particule classique. Ainsi, les ondes hertziennes utilisées pour les communications se comportent essentiellement comme des ondes alors que les rayons X ou g dont la longueur d’onde est petite (et l’énergie grande) ont un comportement plus proche des particules (effet Compton, par exemple). On dit dans ce cas que la lumière est composée de photons. La figure 3.1 résume ceci. Il est toutefois important de noter que si une particule peut se comporter comme un corpuscule ou comme une onde, elle ne peut pas être les deux à la fois.
46
3. Physique quantique
Figure 3.1
3.2 D’une approche déterministe à une approche
probabiliste
La mécanique classique est déterministe. Si on connaît les conditions initiales et le champ de force à laquelle une particule est soumise, on peut calculer sa position et sa vitesse à un temps ultérieur. Elle décrit une trajectoire parfaitement déterminée. Ce n’est plus vrai pour une particule quantique. La notion de trajectoire n’existe plus. Toutes les propriétés de la particule sont contenues dans une fonction mathématique : la fonction d’onde. Celle-ci est solution d’une équation aux dérivées partielles qu’il est la plupart du temps très difficile sinon impossible à résoudre exactement : l’équation de Schrödinger. Le carré du module de la fonction d’onde en un point de l’espace donne la probabilité de trouver la particule en ce point. Une particule n’est donc plus localisée en un point de l’espace, mais dans une région, voire dans tout l’espace. On est donc passé d’une théorie déterministe (la mécanique classique) à une théorie probabiliste (la mécanique quantique). Alors que la position et la vitesse d’une particule étaient des variables définies dans l’espace réel, la fonction d’onde est un vecteur appartenant à un espace de Hilbert qui est un espace hermitien particulier. La figure 3.2 résume ces différences.
47
Énergie, entropie, information, cryptographie et cybersécurité
Figure 3.2
3.3 La mesure Si l’on veut connaître les propriétés d’un système, il faut effectuer des mesures. Une quantité que l’on peut mesurer en mécanique quantique s’appelle une observable. A dans l’espace de Hilbert qui a la proUne observable est associée à un opérateur priété mathématique d’être hermitique 2. La raison pour laquelle l’opérateur doit être A ne peut donner qu’une valeur propre 3 de A. hermitique est que toute mesure de Or une mesure dans notre monde donne un nombre réel et pas un nombre complexe. Les opérateurs hermitiques ont la propriété d’avoir des valeurs propres réelles. En mécanique classique, on fait la plupart du temps une mesure sans perturber le système sur lequel on l’effectue. Ce n’est pas le cas en mécanique quantique. On ne peut pas effectuer de mesure sans profondément le perturber sauf s’il est dans un état propre. La raison est que le résultat d’une mesure ne peut donner que la valeur propre de l’opérateur associé à l’observable. Deux cas peuvent se présenter (figure 3.3) : A . Dans ce • Dans le premier, la particule est dans un état propre de l’opérateur cas, le résultat de la mesure sera toujours la valeur propre associée. Si l’on dispose de plusieurs particules initialement dans le même état quantique, on trouvera toujours la valeur propre associée à l’état propre.
† 2. Un opérateur hermitique est tel que A = A ou, exprimé autrement A = A * . Si l’on représente † * par exemple A par une matrice cela veut dire A = a ji .
( )
ij
3. Un nombre λ est valeur propre de A si A ψ = λ ψ et ψ est le vecteur propre de A .
48
3. Physique quantique
• Dans le second cas, la particule n’est pas dans un état propre de A . Tout comme on développe un vecteur selon une base, on peut développer la fonction d’onde A . Cela signifie que la particule de la particule sur les vecteurs propres de A . Chaque état propre pourra être obtenu est dans un mélange d’états propre de avec une certaine probabilité. Si l’on dispose de plusieurs particules initialement dans le même état quantique, la mesure pourra donner l’une des valeurs propres du mélange avec une certaine probabilité, mais on ne sait pas laquelle a priori. En revanche, une fois que l’on a fait la mesure et que l’on a trouvé un résultat, la mécanique quantique nous dit que si l’on fait une autre mesure sur la même particule, on trouvera le même résultat. C’est ce que l’on appelle la réduction du paquet d’ondes (figure 3.4). La fonction d’onde initiale est projetée, après la mesure, sur le vecteur propre associé à la valeur propre mesurée.
Figure 3.3
Figure 3.4
49
Énergie, entropie, information, cryptographie et cybersécurité
3.4 Relation d’incertitude de Heisenberg Dans le monde classique, on peut toujours mesurer simultanément deux grandeurs physiques pour autant qu’on ait les moyens de le faire. On peut par exemple mesurer simultanément la vitesse et la position d’une voiture avec toute la précision que permettent les instruments de mesure. Ce n’est pas le cas en mécanique quantique. Pour un système quantique, comme on ne peut obtenir comme résultat de la mesure d’une observable qu’une valeur propre de l’opérateur associé, on ne peut mesurer simultanément deux observables que si les opérateurs associés ont des vecteurs propres communs. Mathématiquement, ceci n’est vrai que si les deux opérateurs commutent 4. Ainsi, il n’est pas possible de mesurer simultanément la position et l’impulsion selon l’axe x. Cependant, on pourra mesurer simultanément la position selon x et la composante de l’impulsion selon y. Cette propriété est connue sous le nom de principe d’incertitude de Heisenberg. Pour la coordonnée x et pour la composante de l’impulsion px il s’exprime par la relation : ∆x × ∆px ≥ Où Δx et Δpx sont les « incertitudes » sur la mesure. Donc soit on mesure x avec une bonne précision et on mesurera px avec une mauvaise précision, soit le contraire. La figure 3.5 résume ceci.
Figure 3.5
4. Le commutateur de deux opérateurs A et B est défini par A, B = AB − B A . S’il est nul, on peut mesurer A et B simultanément. On ne pourra pas le faire s’il n’est pas nul.
50
3. Physique quantique
3.5 Quantification Au niveau macroscopique, la position et la vitesse d’une particule sont des variables continues. Il en est de même de l’énergie cinétique. Ce n’est plus nécessairement le cas au niveau quantique. La particule pouvant être une onde, toutes les énergies ne sont pas permises pour la même raison que toutes les fréquences émises par une corde de guitare ne sont pas possibles. En effet, l’équation de Schrödinger est une équation d’onde avec des conditions aux limites. Ce sont ces conditions aux limites qui entraînent le fait que toutes les énergies ne sont pas possibles. On dit qu’il y a quantification des niveaux d’énergie. Ceci est illustré dans la figure 3.6 pour un oscillateur harmonique. Un oscillateur harmonique classique est un ressort que l’on fait vibrer autour de sa position d’équilibre. Deux atomes d’une molécule qui vibrent le long de la liaison qui les relie est un exemple d’oscillateur quantique. Dans le cas classique, tous les états d’énergie sont possibles entre zéro et E. Dans le cas quantique, seuls quelques niveaux d’énergie sont possibles.
Figure 3.6
Si l’on voulait prendre une métaphore, on pourrait dire qu’une voiture classique peut rouler à toutes les vitesses jusqu’à la vitesse maximale, alors que si elle était quantique on n’aurait que quelques vitesses possibles entre zéro et la vitesse maximale. Dès qu’un système quantique est confiné dans l’espace, on a des niveaux d’énergie discrets alors qu’ils seraient continus en mécanique classique. Dans le monde classique, on a aussi des niveaux d’énergie discrets lorsque l’on considère des ondes. Ainsi, un instrument de musique n’émet que quelques fréquences particulières 5. Par ailleurs, la discrétisation est une technique largement 5. L’énergie E est reliée à la fréquence υ par : E = hυ .
51
Énergie, entropie, information, cryptographie et cybersécurité
utilisée aujourd’hui dans le traitement de l’information analogique. Quand on passe d’une information analogique (musique issue d’un disque microsillon, mesure d’un capteur, etc.) à l’information digitale (CD, Mp3), on échantillonne le signal analogique pour le discrétiser et le transformer en information digitale qui pourra être plus facilement traitée et stockée sans perte. Plus la fréquence d’échantillonnage sera élevée, plus le signal analogique sera représenté de manière fidèle, mais plus il occupera de place. On peut remarquer sur la figure 3.6 que le niveau d’énergie le plus bas (appelé état 1 fondamental) vaut E = ω où ω est la pulsation de l’oscillateur. Cela signifie que 2 l’énergie minimale d’un oscillateur n’est pas nulle, contrairement à ce qui serait le cas pour un oscillateur classique. Traduit dans le langage classique, cela veut dire que l’oscillateur oscille tout seul même dans son état fondamental, c’est-à-dire dans son état d’énergie le plus bas. On appelle parfois cette énergie minimum énergie de point zéro. On peut en comprendre l’origine avec le principe d’incertitude de Heisenberg. Comme le système est confiné dans une petite région de l’espace, l’impulsion ne peut être nulle, donc l’énergie cinétique non plus.
3.6 Nombres quantiques Un système quantique est complètement défini par la connaissance de sa fonction d’onde. Dans le cas où les niveaux d’énergie sont discrets, cette fonction d’onde dépend souvent d’indices qui caractérisent chaque état. Nous verrons plus loin que, dans le cas d’une particule dans une boîte cubique, chaque niveau est caractérisé par les valeurs du triplet (nx , n y , nz ). La fonction d’onde associée dépend aussi explicitement de ces nombres. Ce sont des nombres quantiques. Plutôt que de repérer un niveau d’énergie avec sa fonction d’onde, il est plus commode de le repérer avec ses nombres quantiques. Les systèmes quantiques sont caractérisés par de faibles valeurs des nombres quantiques. Quand ceux-ci deviennent très grands, le comportement du système devient classique. Pour des valeurs intermédiaires, on a un comportement semi-classique dans lequel on peut utiliser parfois la mécanique classique avec des conditions de quantification issues de la mécanique quantique.
3.7 Effet tunnel Des ondes classiques (électromagnétiques ou sonores) peuvent partiellement passer au travers d’une barrière de potentiel. C’est l’effet tunnel. On obtient, de l’autre côté de la barrière, une onde évanescente qui est en général fortement atténuée par rapport à l’onde incidente (figure 3.7). En mécanique classique, une particule dont l’énergie cinétique est inférieure à la hauteur de la barrière de potentiel ne peut pas traverser celle-ci.
52
3. Physique quantique
Figure 3.7
En mécanique quantique, du fait de la dualité onde-corpuscule, une particule peut traverser une barrière de potentiel. Ceci est illustré de manière très schématique dans le bas de la figure 3.7. Ce phénomène est observé à l’échelle microscopique pour des électrons, protons ou neutrons, etc. C’est grâce à ce phénomène d’effet tunnel que le microscope à effet tunnel, qui permet de voir les atomes et de les déplacer, existe. Au niveau macroscopique, il existe aussi un effet tunnel pour les ondes que l’on peut par exemple observer dans le domaine des micro-ondes (ondes évanescentes).
3.8 Variables purement quantiques Il existe des variables quantiques qui n’ont pas d’équivalent classique. C’est le cas du spin. Il s’agit d’un degré de liberté intrinsèque aux particules. Ses propriétés sont celles d’un moment angulaire. En mécanique quantique, le moment angulaire est quantifié. Sa valeur ainsi que sa projection le long d’un axe est mesurée en unités . Ce sont des entiers ou demi-entiers lorsqu’ils sont mesurés en unité . Les électrons, les protons ou les neutrons, qui sont les particules constituant des 1 1 atomes, ont un spin S = . Aussi dit-on, par abus de langage, que leur spin est . 2 2 Une particule de spin S a 2S + 1 projections suivant un axe, allant de −S à +S 1 1 par saut de . L’électron a par exemple deux projections selon un axe : − et + 2 2
53
Énergie, entropie, information, cryptographie et cybersécurité
Toutes les particules quantiques existant dans la nature ont un spin qui peut être entier (0, 1, 2...) ou demi-entier (1/2, 3/2, 5/2...). Les particules qui ont un spin demi-entier sont qualifiées de fermions et celles ayant un spin entier sont qualifiées de bosons.
3.9 Fermions et bosons Alors qu’au niveau macroscopique on peut peindre des boules identiques avec des couleurs différentes pour les rendre discernables, il n’est pas possible de peindre des particules élémentaires comme l’électron ou le proton. Au niveau microscopique, des particules identiques sont indiscernables. L’expérience montre que toutes les particules de la nature ont un spin S. Selon la valeur de ce spin (mesuré en unité ), les particules appartiennent aux deux familles différentes citées plus haut : les bosons lorsque le spin est entier et les fermions lorsqu’il est demi-entier. L’électron est un fermion de spin demi-entier (de spin 1/2) et le photon est un boson de spin entier (de spin 1). Ces familles ont les propriétés de symétrie suivantes : • La fonction d’onde d’un système de fermions est complètement antisymétrique par rapport à l’échange de deux particules. Deux fermions ne peuvent donc pas être simultanément dans le même état quantique. Cela signifie qu’il n’est pas possible que deux particules ayant la même fonction d’onde ou les mêmes nombres quantiques soient sur le même niveau d’énergie. C’est le principe d’exclusion de Pauli. • La fonction d’onde d’un système de bosons est complètement symétrique par rapport à l’échange de deux particules. On peut avoir un grand nombre de particules sur le même niveau.
Figure 3.8
54
3. Physique quantique
Si l’on doit remplir des niveaux d’énergie, on aura donc le schéma de la figure 3.8, à gauche pour des particules de spin ½ et à droite pour des bosons de spin 0. On remarquera que dans le cas des fermions, on traite, comme c’est habituellement l’usage, le spin à part, si bien que l’on peut mettre deux particules par niveau, l’une avec la projection du spin vers le haut, l’autre vers le bas. Ces deux particules ne sont pas dans le même état quantique, car leur projection de spin est différente. Faisons une métaphore avec les appartements d’un immeuble et des personnes (On distinguerait les femmes et les hommes comme on distingue la projection de spin pour une particule de spin 1/2). Si les personnes se comportaient comme des bosons, cela signifierait qu’on mettrait toutes les personnes disponibles dans l’appartement du rez-de-chaussée. S’ils se comportaient comme des fermions, on remplirait peu à peu les appartements avec des couples et s’il restait une personne célibataire on la logerait dans l’appartement le plus haut. Cela suppose bien sûr que les couples n’ont aucune liberté pour se constituer, aussi vaudrait-il mieux parler de robots.
3.10 Pour en savoir plus C. Cohen-Tannoudji et F. Laloë, Mécanique quantique, Hermann, 1977 M. A. Morrison, Understanding quantum physics: A user’s manual, Prentice Hall, 1990 C. Ngô et H. Ngô, Physique quantique, introduction, Dunod, 2000
55
4 Physique statistique
Ce chapitre introduit les idées qui sous-tendent la physique statistique. Cette théorie permet d’expliquer les phénomènes macroscopiques observés sur un système à partir du comportement microscopique des particules qui le composent. La maximisation de l’entropie permet de calculer l’état d’équilibre d’un système statistique isolé.
Un des buts de la physique statistique est de décrire les propriétés macroscopiques d’un système à partir de sa connaissance microscopique. Un système macroscopique est constitué d’un nombre extrêmement grand de particules (atomes ou molécules) et la description de chacune d’entre elles est très complexe, car la physique qui les gouverne est souvent de nature quantique. Malgré toute cette complexité, il existe des lois simples au niveau macroscopique liant des variables macroscopiques entre elles. C’est le cas d’une mole de gaz parfait qui contient N = 6 × 10 23 atomes ou molécules et qui pourtant satisfait à une loi simple : l’équation d’état des gaz parfaits PV = RT . C’est le nombre extraordinairement grand du nombre de particules qui conduit à des simplifications au niveau macroscopique. Ainsi, la physique statistique est dominée par la loi des grands nombres. Bien que se limitant aux variables macroscopiques, la thermodynamique est une science difficile à appréhender. La physique statistique, en partant des composants microscopiques de la matière, donne une interprétation plus simple des variables macroscopiques et des relations qui existent entre elles.
57
Énergie, entropie, information, cryptographie et cybersécurité
4.1 Micro-états Considérons, au temps t, un système macroscopique contenant N particules, N pouvant typiquement être de l’ordre du nombre d’Avogadro N . Chaque particule qui le constitue est dans une certaine configuration. La configuration de l’ensemble de ces particules s’appelle un micro-état. Suivant que l’on puisse traiter le problème de manière classique ou quantique, on aura affaire à un micro-état classique ou quantique. Limitons-nous pour le moment au cas où la mécanique classique s’applique pour décrire l’évolution des particules. Le micro-état correspond à la connaissance au temps t des 3N composantes de la position et des 3N composantes de la vitesse des particules. Si l’on voulait calculer l’évolution du système au cours du temps, il faudrait résoudre les équations du mouvement pour ces 6N variables. C’est une tâche impossible à réaliser dans la pratique et qui n’a d’ailleurs aucun intérêt. Un micro-état est une configuration microscopique particulière d’un système. Pour définir cette notion plus précisément, nous allons d’abord considérer le cas quantique puis le cas classique. Il doit y avoir un raccordement entre le nombre de micro-états quantiques et le nombre de micro-états classiques que l’on peut calculer pour une configuration macroscopique donnée d’un système.
4.2 Particule dans une boîte cubique Considérons la boîte cubique de la figure 4.1. Sa dimension est supposée suffisamment petite (typique inférieure au nanomètre) pour que les effets de quantification apparaissent. On sait maintenant réaliser des boîtes quantiques de ce type par des méthodes de micro-électronique.
Figure 4.1
58
4. Physique statistique
La résolution de l’équation de Schrödinger pour le cas d’une particule libre de masse m et de spin nul enfermée dans cette boîte donne pour les niveaux d’énergie :
ε n x n y nz = Soit, si l’on pose ε 0 =
π 2 2 2 (nx + n 2y + nz2 ) 2mL2
π 2 2 : 2mL2
ε nx n y nz = ε 0 (nx2 + n 2y + nz2 )
Où nx , n y et nz sont des entiers ≥ 1. Aucun d’entre eux ne peut être nul et cela est en accord avec le principe d’incertitude de Heisenberg puisque, comme la particule est confinée dans une région finie de l’espace, elle ne peut avoir une impulsion nulle. nx , n y et nz sont les nombres quantiques associés à ce problème. Ils permettent, si on le souhaite, mais nous n’en avons pas besoin ici, d’obtenir les fonctions d’ondes des différents états associés au niveau d’énergie. Comme on le voit sur la figure 4.2 qui montre les onze premiers niveaux, certains ont la même énergie. C’est le cas de la configuration (121) qui veut dire nx = 1, n y = 2, nz = 1. Ce niveau a la même énergie que les niveaux (1,2,2) et (2,1,2). On dit qu’ils sont dégénérés. La dégénérescence est le nombre de micro-états ayant la même énergie.
Figure 4.2
Lorsqu’on considère plusieurs particules indépendantes dont l’énergie totale est fixée, il y a la plupart du temps plusieurs possibilités, c’est-à-dire des micro-états différents, qui satisfont à cette condition. On dit que ce sont les micro-états accessibles au système. Il est d’usage de calculer les niveaux d’énergie sans tenir compte du spin puis, lorsque l’on place les particules, de tenir compte de celui-ci pour satisfaire les principes de symétrie selon que ce sont des fermions ou des bosons. Pour les fermions, cela se traduit par la prise en compte du principe de Pauli.
59
Énergie, entropie, information, cryptographie et cybersécurité
La figure 4.3 montre les micro-états que l’on obtient lorsque l’on met trois bosons de spin nul ou trois fermions de spin ½ sur des niveaux d’énergie régulièrement espacés numérotés de 0 à n, sachant que l’énergie totale du système est 6ε 0 . Le niveau d’énergie n a l’énergie ε n = (n + 1)ε 0. Pour les fermions de spin ½, il y a dix micro-états qui donnent la même énergie totale. Il n’y en a que trois pour les bosons de spin 0.
Figure 4.3
Figure 4.4
60
4. Physique statistique
Pour les systèmes macroscopiques, le nombre micro-états est extrêmement grand. Pour illustrer cela, prenons une chaîne de spin constituée de particules de spin ½ comme celle indiquée sur la figure 4.4. Chaque particule est supposée avoir sa projection de spin dirigée vers le haut ou vers le bas. Le nombre de micro-états est égal 23 23 à 2 N . Si N = N = 6,02 × 10 23 on a 2 6,02×10 = 101,8×10 micro-états. Si l’on souhaitait écrire ce nombre sur chiffre sur une feuille de papier à raison de cinq chiffres par centimètre, il faudrait 3,6 × 1020 m de papier, soit 38 000 années-lumière, ce qui est à peu près le diamètre de notre galaxie.
4.3 Travail et chaleur à l’échelle microscopique L’approche microscopique va nous permettre de mieux comprendre la notion de chaleur. Considérons le schéma de niveaux d’énergie de la figure 4.5. Cela pourrait être ceux d’un oscillateur harmonique.
Figure 4.5
La chaleur correspond à une réorganisation des particules sur les niveaux d’énergie obtenus à partir du même puits de potentiel (situation correspondant à un volume constant en thermodynamique). Le travail mécanique correspond à une variation des niveaux d’énergie, mais l’occupation des niveaux reste la même. Dans l’exemple de la figure 4.5, l’oscillateur devient plus rigide. Cela revient à diminuer le volume dans l’approche thermodynamique. Si au contraire il devenait moins rigide, les niveaux d’énergie se rapprocheraient.
61
Énergie, entropie, information, cryptographie et cybersécurité
4.4 L’espace de phase La mécanique quantique permet de bien comprendre la notion de micro-état : c’est une configuration microscopique particulière et unique du système. Toutefois, pour un système macroscopique, le nombre de micro-états est un nombre astronomiquement grand et nécessite des calculs trop complexes pour être mené à bien. Comme la mécanique classique permet de bien décrire la plupart des phénomènes macroscopiques, une physique statistique classique reposant sur la mécanique classique a été développée. Elle permet de comprendre et d’expliquer un grand nombre de phénomènes macroscopiques et notamment de comprendre la thermodynamique à partir du monde microscopique. L’espace de phase est un élément essentiel pour construire la physique statistique classique. Pour l’introduire, nous allons considérer le cas très simple d’une particule de masse m dans un champ de potentiel = (r ). Au temps t, elle est au point r {x , y , z} et possède une impulsion p { px , p y , pz }. L’équation fondamentale de la dynamique : dp ∂ =− = −∇ dt ∂r permet de calculer la trajectoire de la particule et donc de connaître le couple (r, p) au temps t si l’on connaît les conditions initiales (r0 , p 0 ) au temps t 0 . L’espace à six dimensions {x , y , z , px , p y , pz } est l’espace de phase associé à la particule. Dans cet espace, l’évolution dans le temps de la particule se traduit par une trajectoire. Voyons cela dans le cas à une dimension. En physique statistique, on désigne souvent la coordonnée d’espace par q et l’impulsion par p. Pour un mouvement à une dimension, l’espace de phase est à deux dimensions (figure 4.6). On voit la trajectoire suivie par le système dans cet espace. Comme l’évolution d’une particule est univoque, cela signifie que deux trajectoires dans l’espace de phase ne peuvent pas se croiser. Si c’était le cas, cela voudrait dire qu’en prenant ce point d’intersection comme condition initiale on aurait deux trajectoires futures possibles, ce que les équations de la dynamique ne permettent pas.
Figure 4.6
62
4. Physique statistique
Si l’on a un système à N particules, l’espace de phase sera de dimension 6N. L’énergie d’un système est toujours définie à δE près. Prenons le cas d’un oscillateur harmonique de masse m à une dimension. Si K est sa rigidité, son énergie totale est : E=
p2 1 2 + Kq 2m 2
Dans l’espace de phase, c’est l’équation d’une ellipse (figure 4.7). Il en est de même de la condition : E +δE =
p2 1 2 + Kq . 2m 2
Figure 4.7
4.5 Raccordement quantique-classique L’espace de phase accessible au système est indiqué en bleu (grisé) sur la figure 4. 7. Ce sont tous les micro-états dont l’énergie est comprise entre E et E + δ E . Or, dans l’espace de phase, une configuration classique correspond à un point. Il y a donc une infinité de configurations classiques différentes dans la zone en bleue. Si on évaluait le nombre de micro-états de manière quantique, on trouverait que ce nombre est au contraire fini. Il y a donc un problème de raccordement entre l’évaluation quantique que l’on peut faire pour les faibles valeurs des nombres quantiques et l’évaluation classique quand les nombres quantiques ont une valeur élevée et que la mécanique classique peut être utilisée. Pour obtenir un nombre fini de micro-états classiques, on fait du coarse graining, c’est-à-dire qu’on définit un micro-état comme un petit volume de l’espace des phases. Si l’on considère l’espace de phase à deux dimensions de la figure 4.7 par
63
Énergie, entropie, information, cryptographie et cybersécurité
exemple, cela revient à le paver de petits rectangles de dimension δ q × δ p comme indiqué sur la figure 4.8.
Figure 4.8
Pour que le nombre de micro-états classiques soit égal au nombre de micro-états quantiques, il faut prendre pour la surface de la cellule :
δq ×δ p = h Où h est la constante de Planck. Ceci n’est pas sans rappeler la formule d’incertitude de Heisenberg. De manière générale, s’il y a f degrés de liberté, l’espace de phase a pour dimensions 2 f . La règle pour évaluer le nombre de micro-états Ω est la suivante : • On évalue le volume de l’espace de phase accessible au système. • Le nombre de micro-états est alors calculé par la formule suivante : Ω= f h Lorsque les particules que l’on considère ont un spin S, il y a 2S + 1 projections possibles 6, le nombre de micro-états se calcule alors selon la formule : hf Cette manière de procéder pour le spin est une approche dite semi-classique. Elle est intermédiaire entre une approche purement quantique et une approche classique. Ω = (2S + 1)
6. Pour le photon, qui a un spin S = 1, il n’y a que deux projections qui correspondent aux deux états de polarisation de la lumière. Cette exception vient de ce qu’il n’existe aucun référentiel où le photon est au repos.
64
4. Physique statistique
4.6 Premier postulat Le premier postulat sur lequel est construite la physique statistique est le suivant : Tous les micro-états accessibles à un système isolé sont équiprobables. Si Ω( E ) =est le nombre de micro-états accessibles, la probabilité d’être dans un micro-état donné est : 1 = Ω( E )
4.7 Second postulat (hypothèse ergodique) Dans la réalité, on suit l’évolution d’un système au cours du temps. En physique statistique, on regarde un ensemble de systèmes identiques (au sens où leurs paramètres macroscopiques sont les mêmes) à un instant donné. Ils ne seront cependant pas dans le même micro-état 7. Le second postulat est l’hypothèse ergodique : La moyenne dans le temps d’un paramètre quelconque est égale à la moyenne de ce paramètre prise sur un ensemble de systèmes. Si l’on suit le système pendant un temps très long, t ′ ou si l’on considère un ensemble de N systèmes identiques au niveau macroscopique, on a : 1 t′ y( x ) dx t ′→∞ t ′ ∫ 0
< y >t = lim
⇔
< y>=
1 N
N
∑ yi (t ) i =1
Mathématiquement, cela veut dire, si l’on considère le volume accessible au système dans l’espace des phases, que la trajectoire qu’il suit dans cet espace passe par tous les points possibles sans se couper. C’est encore un problème mathématique ouvert. Pour essayer d’en comprendre la signification, on peut faire l’analogie suivante. Si on lance un dé 1 000 fois et que l’on trace la distribution de probabilité, on trouvera la même distribution, aux fluctuations statistiques près, que si on lance, à un instant donné, 1 000 dés. Lorsque le nombre d’essais tend vers l’infini, les deux distributions de probabilité deviennent identiques.
7. Pour comprendre la différence entre macro-état et micro-état, prenons l’exemple mathématique suivant. Considérons le macro-état défini comme étant tel que la somme de deux nombres entiers (donc positifs) soit égale à 9. Les micro-états donnant ce macro-état seront donc 0 + 9, 1 + 8, 2 + 7, 3 + 6 et 4 + 5.
65
Énergie, entropie, information, cryptographie et cybersécurité
4.8 Information et entropie L’information est liée à la connaissance d’une situation. Soit N boîtes et une boule que l’on met dans une des boîtes. Si toutes les boîtes sont équiprobables, la probabilité de trouver la boule dans l’une d’entre elles est 1 / N . Si on met une marque sur la boîte contenant la boule, on la trouve à coup sûr. La probabilité de la trouver est égale 1. Pour essayer de quantifier cela, on va introduire une quantité mathématique, , qui va permettre de chiffrer l’information manquante sur un système. On a = ( N ) et ( M ) > ( N ) si M > N Car il y a plus d’information manquante lorsque M > N . S’il n’y a qu’une boîte, on est sûr du résultat et (1) = 0 . Supposons que chaque boîte soit divisée en M compartiments équiprobables. Il y a NM compartiments équiprobables et = ( NM ). Comme les boîtes sont indépendantes, l’information manquante doit être la somme des informations manquantes obtenues à chaque étape : ( NM ) = ( N ) + ( M ) On doit donc avoir : ( N ) = C ln N où C est une constante arbitraire. Si on choisit C = kB , on définit l’entropie statistique par : S = kB ln N est l’information manquante et − l’information. Lorsque l’information manquante est maximum, l’information est minimum et réciproquement.
4.9 Entropie statistique Soit N particules identiques que l’on suppose occuper m états d’énergie Ei suffisamment dégénérés. Leur nombre sur le niveau Ei est N i . On a : m
m
i =1
i =1
N = ∑ N i et E = ∑ N i Ei
66
4. Physique statistique
La probabilité pour une particule d’occuper le niveau Ei est : i =
N Ni et on a ∑ i = 1 N i =1
Le nombre de possibilités de mettre N particules sur m niveaux d’énergie est : N! N 1 ! N 2 ! N m !
Ω=
C’est le nombre total de micro-états possibles. L’information manquante est alors : I N = kB ln Soit :
N!
= kB ln
m
∏ (N i !) i =1
N! m
∏ (N Pi ) ! i =1
m I N = kB ln N ! − ∑ ln ( N Pi ) ! i =1
Si N → ∞, on peut utiliser l’approximation de Stirling : ln n ! n ln n − n On obtient après simplification : m
I N = −kB N ∑ Pi ln Pi i =1
C’est l’information manquante pour N systèmes. Comme chaque système est équiprobable, l’information manquante par système est : m
I = −kB ∑ Pi ln Pi i =1
est l’information manquante ou l’entropie d’information (ou statistique) qui est définie de manière générale par : N
I = − kB ∑ Pi ln Pi = S i =1
Si les configurations sont équiprobables : i = Et
1 N
= S= kB ln N
67
Énergie, entropie, information, cryptographie et cybersécurité
4.10 L’équilibre thermique Considérons deux systèmes (1) et (2) séparés par une paroi diatherme, fixe et imperméable aux particules (figure 4.9). L’ensemble des deux systèmes est isolé du milieu extérieur. Ils ne peuvent échanger que de la chaleur. Le premier système a une énergie E1, un volume V1 et nombre de particules N 1 . Le second système a une énergie E 2, un volume V2 et un nombre de particules N 2 . L’énergie du système total (1) + (2) est E 0.
Figure 4.9
Si l’interaction entre les deux systèmes est faible comparée à leur énergie, la conservation de l’énergie s’écrit : E 0 = E1 + E 2 Le nombre de micro-états accessibles au système total, Ω, pour une partition particulière de E 0 entre les deux sous-systèmes, vaut : Ω ( E 0 , E1 ) = Ω1( E1 ) Ω 2 ( E 0 − E1 ) E1 peut en principe varier de 0 à E 0. Le nombre de micro-état du système global, ΩT , =est donné par : ΩT ( E 0 ) = ∑ Ω ( E 0 , E1 ) E1
C’est une constante. La probabilité P ( E1 ) pour que le système (1) ait une énergie E1 est : P ( E1 ) =
Ω ( E 0 , E1 ) ΩT ( E 0 )
Chercher le maximum de Ω ( E 0 , E1 ) est équivalent à chercher le maximum de ln Ω ( E 0 , E1 ) . C’est-à-dire de : ln Ω ( E 0 , E1 ) = ln Ω1( E1 ) + ln Ω 2 ( E 0 − E1 )
68
4. Physique statistique
En multipliant les deux membres par la constante de Boltzmann et en utilisant la définition de l’entropie, on obtient : S ( E 0 , E1 ) = S1( E1 ) + S2 ( E 0 − E1 ) On retrouve le fait que l’entropie du système total est la somme de l’entropie de chacun des sous-systèmes. Rechercher le maximum de Ω ( E 0 , E1 ) revient donc à chercher le maximum de l’entropie S ( E 0 , E1 ) , c’est-à-dire la configuration d’équilibre. L’extremum de S ( E 0 , E1 ) est donné par : dS dS dE 2 dS1 dS2 dS = 1 + 2 = − =0 dE1 dE1 dE 2 dE1 dE1 dE 2 car
dE 2 = −1 puisque E1 + E 2 = E 0 dE1
À l’équilibre thermique on a : dS dS = dE1 dE 2 La température absolue est définie comme : 1 dS = T dE L’équilibre thermique correspond à : T1 = T2 avec On utilise souvent :
β=
( )
1 ∂S = T ∂E
(
V ,N
1 ∂ ln Ω ou β = kBT ∂E
)
V ,N
On peut montrer que la chaleur passe du corps chaud vers le corps froid et non l’inverse. En effet : dS dS1 dS2 dS1 dE1 dS2 dE 2 = + = + >0 dt dt dt dE1 dt dE 2 dt dE dE Comme 1 = − 2 car E 0 = E1 + E 2 dt dt dS dS1 dS2 dE1 = − >0 dt dE1 dE 2 dt
⇒
1 − 1 dE1 > 0 T T dt 1 2
dE Si T2 > T1 alors 1 > 0. La chaleur passe du système le plus chaud vers le système dt le plus froid.
69
Énergie, entropie, information, cryptographie et cybersécurité
4.11 Autres équilibres On peut étudier, selon la même méthode, d’autres équilibres entre les systèmes (1) et (2). Par exemple, si la paroi séparant les deux systèmes est diatherme et mobile sans frottement, il peut y avoir échange de chaleur et de travail. En procédant de façon analogue à ce que nous avons fait pour l’équilibre thermique dans la section précédente, on trouve que les conditions d’équilibre sont : T1 = T2 et P1 = P2 Où la pression est définie par :
( )
P ∂S = T ∂V ∂S ( ∂ V) 1 ∂S Comme = ( ) on a P = T ∂E ( ∂∂ES )
E ,N
E ,N
=−
V ,N
( ∂∂VE )
S ,N
V ,N
La démonstration de cette dernière formule peut se faire grâce à la méthode des jacobiens présentée dans la section suivante. Si la paroi est diatherme, mobile sans frottement et perméable aux particules, il peut y avoir échange de chaleur, de travail et de particules. Les conditions d’équilibre sont alors : T1 = T2, P1 = P2 et µ1 = µ 2 On a introduit une nouvelle variable physique après la température et la pression : le potentiel chimique m. µ ∂S − = T ∂N E ,V
( )
4.12 Rappel mathématique En thermodynamique et en physique statistique, on utilise beaucoup des dérivées partielles. Le passage de l’une à l’autre forme n’est pas toujours évident. L’utilisation du jacobien peut rendre les choses plus faciles. ∂f ∂f ∂( f , g ) ∂x ∂y ∂( f , y ) ∂f = . On a . Les dérivées par= On définit le jacobien ∂( x , y ) ∂x y ∂( x , y ) ∂g ∂g ∂x ∂y ∂y =0 tielles sont prises en supposant constantes toutes les autres variables. On a ∂x ∂y = 1. et ∂y
70
4. Physique statistique
( ∂∂VS ) ( ∂∂ES )
∂ (S , E ) ∂ ( E ,V ) ∂ (S , E ) ∂ ( E ,V V) =− ∂ ∂ ∂ ∂ ( , ) ( , ) ( , ) ( , ) S V V E S V E V E V ∂ (S , E ) ∂ (E , S ) ∂E =− =− =− ∂(S ,V ) ∂(V , S ) ∂V S
P=
=
( )
comme on avait dE = TdS − PdV on voit que cette formule est cohérente.
4.13 L’ensemble microcanonique L’ensemble microcanonique s’utilise quand on étudie un système isolé du milieu extérieur dont l’énergie E 0 est fixée. En fait, il n’est pas possible de définir exactement l’énergie d’un système isolé pour deux raisons : • à cause des incertitudes expérimentales. C’est ce qui arrive dans la plupart des cas ; • à cause des incertitudes de nature quantique (principe d’incertitude de Heisenberg, par exemple). L’énergie du système isolé n’est donc définie qu’à δE près. Les micro-états accessibles au système sont ceux pour lesquels : E0 ≤ E ≤ E0 + δ E
avec δ E E 0
Si Ω est le nombre de micro-états accessibles à un système dont l’énergie est comprise entre E 0 et E 0 + δ E , l’entropie est donnée par : S = kB ln Ω En effet :
Ω
S = −kB ∑ i ln i et i = i =1
1 Ω
L’ensemble microcanonique est difficile à utiliser dans la pratique, car la contrainte à satisfaire est une inégalité : E 0 ≤ E ≤ E 0 + δ E .
4.14 L’ensemble canonique L’ensemble canonique s’applique à un système en équilibre thermique avec un thermostat à la température T. Le fait que la température soit fixée ne veut pas dire que l’énergie est fixée. En fait, quand la température est fixée, cela veut dire que c’est l’énergie moyenne E du système qui est fixée. Soit un système couplé à un thermostat . L’ensemble S + T est isolé et en équilibre statistique. L’énergie totale est E 0. Soit un micro-état j particulier de
71
Énergie, entropie, information, cryptographie et cybersécurité
d’énergie E r (le niveau E r peut être dégénéré et { j } sera l’ensemble des micro-états d’énergie E r ). On a : E0 = E + Er La probabilité que soit dans un micro-état r { j} est : Pr { j} =
1 × ΩT ( E0 − Er ) ΩT
Ω ( E 0 − E r ) est le nombre de micro-états accessibles par dont l’énergie est E 0 − E r . La quantité Ω =est le nombre total de micro-états du système S + T . C’est une constante. La distribution de probabilité est normalisée :
∑ ∑ r{ j} = 1 r { j}
Comme le thermostat a un nombre de degrés de liberté beaucoup plus grand que , on a E r E et on peut faire un développement limité : ∂ ln Ω + ln Ω ( E 0 − E r ) = ln Ω ( E 0 ) − ∂E E = E0 ∂ ln Ω 1 Comme = = β on a : ln Ω ( E 0 − E r ) = ln Ω ( E 0 ) − β E r ou ∂E V ,N kBT Ω ( E 0 − E r ) = Ω ( E 0 ) exp( − β E r ). Ce qui signifie que : Pr { j} = C exp( − β E r ). On détermine la constante par la condition de normalisation : 1 = ∑ exp( − β E r ) = Z C ∑ r { j} est la fonction de partition du système. Elle vaut : Z = ∑ ∑ exp( − β E r ) et Pr { j} = r { j}
1 exp( − β E r ) Z
exp( − β E ) est le facteur de Boltzmann. La distribution r { j} est la distribution de Gibbs. Pour des niveaux d’énergie continus, si Ω( E ) =est le nombre de micro-états compris entre E et E + δ E , on a : P( E ) =
72
Ω( E ) exp( − β E ) Z
4. Physique statistique
4.15 Méthode des multiplicateurs de Lagrange Pour chercher l’extremum de f ( x1 , x 2 , x 3 ) sachant que x1 , x 2 , x 3 sont des variables indépendantes, il faut résoudre : 3
∂f ∂f ∂f ∂f = = =0 dxi = 0 ⇒ ∂ ∂ ∂ ∂ x x x x3 i 1 2 i =1
df = ∑
Si maintenant il y a une contrainte : 3
g ( x1 , x 2 , x 3 ) = 0 soit dg = ∑ i =1
∂g dx = 0 ∂xi i
on passe de trois variables à deux variables indépendantes. Il faut éliminer une variable et résoudre en fonction des deux autres. C’est en général compliqué. Dans la méthode des multiplicateurs de Lagrange, on procède différemment et on considère la fonction : = f + λ g où λ est une constante appelée multiplicateur de Lagange. est extremum si : 3 ∂f ∂g d = df + λ dg = ∑ +λ dx = 0 ∂ x ∂ xi i i i =1
comme les 3 variables ne sont plus indépendantes on ne peut pas annuler chaque ∂f ∂g terme dxi . Par contre on peut choisir λ tel que : +λ = 0. Dans ce cas il ∂x1 ∂x1 ne reste plus que 2 termes dxi qui peuvent être choisis indépendants et l’on a : ∂f ∂g ∂f ∂g +λ = 0 et =0 +λ ∂x 2 ∂x 2 ∂x 3 ∂x 3 Comment procéder ? On recherche l’extremum de comme si les différentielles dxi étaient indépendantes. Soit : ∂f ∂g +λ = 0 pour i = 1, 2, 3 ∂xi ∂xi On obtient alors un ou plusieurs extrema dépendant de λ. Le paramètre λ est déterminé en utilisant la contrainte : g ( x1 , x 2 , x 3 ) = 0
73
Énergie, entropie, information, cryptographie et cybersécurité
4.16 Intégrales souvent utilisées On a souvent à calculer des intégrales définies faisant intervenir des gaussiennes. Donnons quelques résultats utiles. ∞
I n = ∫ x n exp (−α x 2 ) dx et J n = 0
+∞
Soit J 02 = =
+∞
∫ x n exp (−α x 2 ) dx
−∞
+∞
∫ exp (−α x 2 ) dx ∫ exp (−α y 2 ) dy = ∫∫ exp (−α ( x 2 + y 2 ))dxdy
−∞ 2π
−∞
∞
π
∫ d θ ∫ r exp (−α r 2 ) dr = α 0
donc J0 =
0
π . α
J 2n +1 = 0 car la fonction est impaire. De plus J 2n = 2 I 2n . On évalue I n par récurence : ∂ ∂α
∞
∫ 0
∞
xn exp (−α x 2 ) dx = ∫ x n 0
d’où I n + 2 I0 =
∞
∂ ∂ exp (−α x 2 ) dx = − ∫ xn + 2 exp (−α x 2 ) dx = − In + 2 α ∂α ∂ 0
∂ =− I . Quelques valeurs particulières : ∂α n
1 π 1 π 3 ,I = ,I = 2 α 2 4α α 4 8α 2
π 1 1 1 et I1 = ,I = ,I = α 2α 3 2α 2 5 α 3
4.17 Théorème d’équipartition de l’énergie Ce théorème ne s’applique que si l’énergie totale est composée de termes quadratiques. L’énergie d’une particule libre est E=
2 px2 p y p2 + + z 2m 2m 2m
La probabilité pour que px soit compris entre px et px + dpx est proportionnelle à px2 exp − . 2mkBT Donc :
+∞
px2
2m
=
−∞ +∞
px2
px2
∫ exp − 2mkBT
−∞
74
px2
∫ 2m exp − 2mkBT
1 = kBT 2
4. Physique statistique
Ce serait la même chose pour les autres directions de l’espace : p 2y = 2m
px2 = 2m
pz2 1 = kBT 2m 2
Si l’on avait une énergie potentielle quadratique (oscillateur harmonique) : =
1 2 1 2 1 2 Kx + Ky + Kz 2 2 2
On obtiendrait : 1 2 = Kx 2
1 2 = Kx 2
1 2 1 = Kx kT 2 2 B
Un gaz parfait contenant N atomes ou molécules a une énergie moyenne : E =
3 Nk T 2 B
Un oscillateur harmonique à trois dimensions a 6 degrés de liberté. Donc : E = 3kBT
4.18 La distribution de Maxwell Considérons un gaz parfait à la température T. Si l’on considère une particule du gaz (atome ou molécule), le thermostat est constitué par les autres particules. p2 E= . La probabilité pour que l’atome ait une énergie cinétique E est proportion2m nelle à g ( E )exp( − β E ) où g ( E ) est la dégénérescence du niveau d’énergie E. C’est en fait le nombre de micro-états classiques contenus dans le volume élémentaire drdp situé au voisinage de (r, p) dans l’espace de phase. Le nombre de micro-états est donné par ce volume divisé par h 3 = g ( E ) dN = (r, p)
drdp dxdydzdp x dp y dpz = h3 h3
La probabilité (r, p)drdp d’observer un atome dans drdp vaut : P (r, p)drdp =
p2 1 drdp exp − β 3 Z h 2m
La fonction de partition est égale à : Z=
∫
D
drdp p2 exp − β . 2m h3
75
Énergie, entropie, information, cryptographie et cybersécurité
Le domaine d’intégration est le volume V contenant le gaz et tout l’espace des impulsions. Soit : 1 = 3 h =
V h3
+∞
∫
−∞
+∞
dpx
∫
−∞
+∞
dp y
p2 V dp exp − β z ∫∫∫ dr = h 3 ∫ m 2 V −∞
∫∫∫
p2 dp exp − β 2m
+∞
+∞ +∞ p 2y pz2 px2 exp exp − β − β dp dp ∫ 2m x ∫ 2m y ∫ exp −β 2m dpz −∞ −∞ −∞ 3
+∞ y2 V = 3 ∫ exp − β dy où y est une variable muette 2m h −∞ +∞
y2 2π m V 3/ 2 exp − β ∫ 2m dy = β on obtient : = h 3 (2π mkBT ) −∞ p2 1 On a donc : (r, p)drdp = exp − drdp 3/ 2 V (2π mkBT ) 2mkBT Comme
La probabilité ( p)dp pour qu’un atome ait une impulsion comprise entre p et p + dp vaut : ( p)dp = ∫∫∫ dr (r, p)dp = V
p2 1 exp − (2π mkBT )3/2 2mkBT
dp
On obtient la distribution de Maxwell ( v )dv en utilisant p = mv : m ( v ) = π 2 kBT
3/ 2
1 mv 2 exp − 2 kBT
4.19 L’ensemble grand canonique Il permet de décrire les propriétés d’un système en équilibre avec un réservoir de chaleur (T = Cte) et de particules. La fonction de partition grand canonique est définie par : Ξ = ∑ ∑ ∑ exp ( β ( µ N − E N ,r )) = ∑ exp( βµ N ) ( N ) N
r { j}
N
et la probabilité d’occuper un micro-état est : N ,r ,{ j} =
76
1 exp ( β ( µ N − E N ,r )) Ξ
4. Physique statistique
L’entropie et l’énergie calculées avec cet ensemble ont la forme suivante :
(
∂k T ln Ξ 2 ∂ ln Ξ S = B et E = kBT ∂T ∂T V ,µ
)
V ,µ
+ kBT µ
( ∂∂lnµΞ )
T ,V
4.20 Gaz de Fermi et gaz de Bose En utilisant l’ensemble grand canonique, on peut calculer le nombre moyen de fermions ou de bosons ni . C’est une quantité importante pour les études de semi-conducteurs. Pour la distribution de Fermi-Dirac, on a : ni =
1 εi − µ exp +1 kBT
Et pour la distribution de Bose-Einstein : ni =
1 εi − µ exp −1 kBT
Où ε i est l’énergie à une particule du gaz de fermions et ni le nombre de particules dans le micro-état i correspondant à ε i . À partir de l’ensemble grand canonique, on peut calculer l’équation d’état d’un gaz de Fermi. Ces résultats sont utiles lorsque l’on étudie les semi-conducteurs. Pour un gaz de Fermi à température T, on a les équations d’état suivantes : PV =
2 5 E µN − E et S = T 3 3T
Lorsque la température est nulle (T = 0) on parle de gaz de Fermi complètement dégénéré. Les équations d’état deviennent alors : 3 2E 2 N E = ε F N et P = = ε 5 3V 5 F V Où ε F est l’énergie de Fermi du gaz. C’est aussi le potentiel chimique à température nulle :
µ (T = 0) = ε F
77
Énergie, entropie, information, cryptographie et cybersécurité
4.21 Résumé Pour les ensembles de la physique statistique, on a : Tableau 4.1 Ensemble
Conditions d’application
Microcanonique
E fixé
Canonique
T ou E
Grand canonique
T et N fixés
fixés
Pour les statistiques auxquelles obéissent les particules : Tableau 4.2 Type de particules
Spin
Statistique
Fermions
Demi-entier (1/2, 3/2, 5/2…)
Fermi-Dirac
Bosons
Entier (0,1,2…)
Bose-Einstein
4.22 Pour en savoir plus C. Ngô et H. Ngô, Physique statistique, Introduction, Dunod, 3e édition, 2008 F. Reif, Fundamental of statistical and thermal physics, Mc Graw Hill, 1965 W. G. V. Rosser, An introduction to statistical physics, Sussex University Press, 1974
78
5 Probabilités
Ce chapitre fait quelques rappels sur les probabilités, car cette partie des mathématiques est très utilisée en théorie de l’information.
5.1 Définitions Un phénomène est aléatoire si, en recommençant une expérience dans les mêmes conditions, on obtient des résultats variables qu’il est impossible de prédire de manière absolue. Par exemple, si on lance un dé, on peut obtenir l’une de ses six faces, mais on ne peut pas prévoir quelle sera celle qui va sortir si le dé n’est pas pipé. En répétant un grand nombre de fois le lancer de dé dans des conditions identiques, on va néanmoins observer une certaine régularité dans les résultats, chaque face sortant à peu près le même nombre de fois. Le but de la théorie des probabilités est d’essayer de comprendre et de reproduire ce type de comportement. Le résultat d’une expérience aléatoire (épreuve), comme le lancer de dé ou le jeu de pile ou face avec une pièce de monnaie, est une variable aléatoire x qui peut prendre différentes valeurs xi . Le résultat possible d’une épreuve est un événement élémentaire xi . Dans le cas du lancer de dé, la variable x peut prendre six valeurs (1, 2, 3, 4, 5 et 6). L’ensemble de ces valeurs constitue un ensemble Ω que l’on appelle l’univers des possibles ou l’espace des épreuves. On le désigne souvent sous
79
Énergie, entropie, information, cryptographie et cybersécurité
le nom d’univers tout court ou d’espace fondamental. Donc Ω := {1, 2, 3, 4, 5, 6} pour l’exemple du dé. L’ensemble Ω a pour éléments toutes les valeurs possibles des épreuves x. Lors d’une épreuve, comme le lancer de dé, il y a une certaine « chance » pour qu’une face spécifique soit obtenue, le 6, par exemple. Calculer cette « chance » est l’objet de la théorie des probabilités. Cette discipline s’est initialement beaucoup développée dans le domaine des jeux de hasard avec comme objectif de réaliser des gains. Si l’on note les résultats obtenus après le lancement d’un grand nombre d’expériences de lancer de dés, on fait des statistiques. Elles permettent de caractériser un système aléatoire et de tirer des renseignements qui peuvent être précieux pour sa modélisation. Ainsi, si on lance le dé 6 millions de fois et que l’on trouve que le 6 sort 1,5 million de fois, on en déduira que le dé est pipé. Les probabilités, associées aux études statistiques, permettent de développer des modèles pouvant prédire, avec une plus grande « chance », les futurs possibles. Même si ces modèles ne permettent pas de prédire de manière certaine le futur, ils sont néanmoins très utiles dans les prises de décisions. Mais, comme tout modèle, ils peuvent plus ou moins bien représenter la réalité ou ne pas être pris en compte par l’utilisateur pour des raisons subjectives. Pour illustrer ce propos, prenons le cas du choix entre deux moyens de transport pour aller d’un point à un autre. Si un modèle probabiliste sur ce sujet dit qu’il y a 30 % de chance d’avoir un accident grave avec le premier moyen de transport contre 0,001 % avec le second, il est clair que l’on aura tendance à choisir le second moyen de transport plutôt que le premier, bien que le résultat ne soit pas certain. Toutefois, bien qu’il y ait moins de risque de prendre l’avion pour faire Paris-Marseille que d’y aller en voiture, beaucoup de personnes se sentent psychologiquement plus en sécurité en voiture qu’en avion. Quand on réalise une expérience aléatoire, comme le lancer de dé, on réalise une épreuve et on s’intéresse généralement à un événement particulier. Pour le lancer de dé, on pourrait par exemple se demander quelle est la chance pour que la face sortante soit un nombre pair. Cet événement est constitué d’événements élémentaires qui sont un sous-ensemble de Ω. Pour le cas cité, ce sous-ensemble serait {2, 4, 6} . Ainsi, une expérience aléatoire possède les caractéristiques suivantes : • on ne peut pas prévoir le résultat ; • l’ensemble des résultats possibles (événements élémentaires) constitue l’univers Ω ; • des événements A, B… sont des sous-ensembles ou des parties de l’univers Ω. Lors de la réalisation d’une expérience aléatoire, on peut obtenir l’un des événements élémentaires ou issus suivants : x1 , x 2 ,..., x n . On peut dire que :
• l’ensemble fondamental Ω {x1 , x 2 ,..., x n } est un événement certain ; • l’ensemble vide ∅ est un événement impossible.
80
5. Probabilités
L’ensemble des parties de Ω munies des opérations union, intersection et complémentaire constitue une tribu ou σ-algèbre notée P(Ω).=Un ensemble est une tribu sur Ω si : ≠∅ Si A ∈ ⇒ A ∈ Si ∀i , Ai ∈ alors l’union des Ai ∈ i.e. ( Ai ∈ ) i
Les éléments d’une tribu sont ceux pour lesquels ont peut attribuer une probabilité. Pour le lancement d’un dé, par exemple, un des événements peut être l’obtention d’un chiffre pair. La probabilité associée à cet événement existe. Elle est de ½. Le couple (Ω, ) définit un espace probabilisable.
5.2 Propriétés Une fonction de probabilité P est une application qui associe à chaque élément de la tribu un nombre réel compris entre 0 et 1. Pour reprendre l’exemple du jeté de dé, si celui-ci n’est pas truqué, chaque face a une probabilité de 1/6 de sortir. Toutefois, si le dé est truqué, on peut imaginer que la probabilité de sortir un 6 soit de ½ et de 1/10 pour les autres faces. Dans les deux cas, on a une loi de probabilité même si elles sont différentes. Dans une approche axiomatique, une loi de probabilité satisfait aux trois axiomes suivants : 1. Si Ω est fini, une probabilité P est une application qui à tout événement A de (Ω) = associe un nombre réel positif 0 ≤ P ( A ) ≤ 1.= 2. P(Ω) = 1. 3. Si A ∩ B = ∅ alors P ( A ∪ B ) = P ( A ) + P ( B )
[Ω, P (Ω)] est un espace probabilisable. [Ω, P (Ω), P ] est un espace probabilisé. Si on a une probabilité uniforme P sur un espace probabilisable [Ω, (Ω)], la probabilité de tout événement est donnée par : P( A) =
card( A ) card(Ω)
Pour bien dénombrer, il faut : 1. vérifier que l’on n’a pas oublié d’événement ; 2. vérifier que l’on n’a pas compté deux fois un événement.
81
Énergie, entropie, information, cryptographie et cybersécurité
5.3 Probabilités simples Considérons N événements élémentaires possibles {x1 , x 2 , x n } qui ne peuvent arriver simultanément. Si leur fréquence d’apparition est ni pour l’événement xi , alors la probabilité d’observer l’événement xi est : p( xi ) =
ni N
∑nj j =1
On a bien sûr : N
∑ p( xi ) = 1 i =1
Considérons deux événements A et B. Un événement pourrait être par exemple : A = tous les événements élémentaires xi tels que i soit pair. B = tous les événements élémentaires tels que i ≥ partie entière de N / 2. On a : A = non A et B = non B . Si P ( A) et P ( B ) sont la probabilité d’obtenir les événements A et B, on a : P ( A ) = 1 − P ( A ) et P ( B ) = 1 − P ( B ) On a : p( A ∪ B ) = P ( A ) + P ( B ) − P ( A ∩ B ) c’est-à-dire P ( A ou B ) = P ( A ) + P ( B ) − P ( A et B ) On peut se représenter cette égalité par le diagramme de Venn de la figure 5.1. On voit que géométriquement, P ( A ∩ B ) est comptée deux fois, d’où la soustraction. On note parfois P ( A ∩ B ) = P ( A, B ). Si P ( A, B ) = 0, les événements A et B sont indépendants.
Figure 5.1
82
5. Probabilités
5.4 Probabilité conditionnelle On note P ( A B ) la probabilité conditionnelle de A sachant B. On la note aussi parfois PB ( A ). Par exemple, si l’on prend un jeu de 52 cartes, la probabilité de tirer le roi de cœur est de P(roi de cœur) = 1/52. Maintenant, la probabilité de tirer le roi de cœur dans les cartes de couleur rouge du jeu est P(roi de cœur | carte rouge) = 1/26. La probabilité de tirer une carte rouge dans le jeu est P(carte rouge) = ½. On voit donc sur cet exemple simple que : P (roi de cœur) = P (roi de cœur | carte rouge) × P (carte rouge) La probabilité d’avoir à la fois l’événement A et l’événement B ne dépend pas de l’ordre de A et de B. Donc P ( A ∩ B ) = P ( A, B ) = P ( B , A ) = P ( B ∩ A ). On suppose et P ( B ) ≠ 0).= ici que les deux événements n’ont pas une probabilité nulle (P ( A ) ≠ 0 = La probabilité P ( A, B ) peut se calculer soit comme le produit de la probabilité d’obtenir B par la probabilité d’obtenir A sachant B, soit comme le produit d’obtenir A par la probabilité d’obtenir B sachant A. = P ( A, B ) P= ( A B ) P ( B ) P ( B A )P ( A ) = P ( B , A ) La probabilité conditionnelle P ( A B ) est donnée par : P( A B ) =
P ( B A )P ( A ) avec P ( B ) ≠ 0 = P (B )
C’est la formule de Bayes. Voyons sur un exemple comment s’exprime la formule de Bayes. Pour cela, considérons une bibliothèque contenant 1 000 ouvrages, dont 200 sont en langue anglaise. Sur les 200 livres en anglais, 20 sont sur l’astronomie. Désignons par A et B les événements suivants : A = livre anglais et B = livre d’astronomie en anglais On a P ( A ) =
200 20 et P (B A) = que l’on peut écrire comme : 1000 200
( ) ( )
20 P( A ∩ B ) 20 1000 . Donc P ( A ∩ B ) = P (B A) P ( A ) P (B A) = = = 200 200 P( A) 1000
83
Énergie, entropie, information, cryptographie et cybersécurité
5.5 Arbre de probabilité L’utilisation d’un arbre de probabilité permet souvent de résoudre de manière simple certains problèmes de probabilités. Nous allons illustrer cette méthode sur un exercice classique dans ce domaine. Considérons une urne qui contient huit boules indiscernables au toucher. Cinq sont rouges et trois sont noires. On tire successivement deux boules que l’on garde. À partir de cette information, on peut tracer le graphe suivant (figure 5.2) qui est un arbre de probabilité.
Figure 5.2
Pour le premier tirage, la probabilité de tirer une boule rouge (R) est de 5/8 et celle d’une boule noire de 3/8. Pour le second tirage, il ne reste plus que sept boules dans l’urne. Si, lors du premier tirage, on a tiré une boule rouge, on peut tirer une seconde boule rouge avec une probabilité de 4/7 ou une boule noire avec une probabilité de 3/7. Si lors du premier tirage on a tiré une boule noire, la probabilité de tirer une boule rouge est de 5/7 et celle d’une boule noire de 2/7. Les règles pour exploiter les graphes sont les suivantes : • à partir d’un même nœud, la somme des probabilités est égale à 1 ; • pour calculer la probabilité d’un chemin, on multiplie les probabilités des branches de ce chemin ; • la probabilité d’un événement associé à plusieurs chemins est égale à la somme des probabilités de chacun de ces chemins (probabilité totale). Appliquons cela pour calculer quelques événements particuliers. La probabilité pour que la première boule soit rouge et la seconde noire vaut : 5 3 15 P (R , N ) = × = 8 7 56
84
5. Probabilités
La probabilité pour que l’une des deux boules au moins soit rouge est donnée par : 5 4 5 3 3 5 25 P (une des 2 R ) = × + × + × = 8 7 8 7 8 7 28 Si l’une des deux boules au moins est rouge, la probabilité pour que l’autre soit noire vaut : P (R, N ) + P ( N , R ) = P (R , N ) + P ( N , R ) + P (R , R ) 5 3+3 5 3 87 87 = = 5 3+3 5+5 4 5 87 87 87
5.6 Pour en savoir plus W. Appel, Probabilités pour les non-probabilistes, 2e édition, H&K, 2015 M. Bacquelin, MethodiX, Probabilités, Ellipses, 2016 S. M. Ross, Initiation aux probabilités, 9e édition, PPUR, 2014
85
6 Information et entropie
Claude Shannon est le père de la théorie de l’information avec son article « A mathematical theory of communication » paru en 1948, même si d’autres scientifiques ont aussi largement participé à ce développement. Shannon a essayé de quantifier l’information, quelle que soit sa nature, et introduit la notion d’entropie de l’information. Pour Shannon, le problème fondamental de la communication est de transmettre de manière exacte ou approchée un message d’un point à un autre. En 1965, une seconde théorie de l’information a été proposée indépendamment par A. Kolmogorov et G. Chaitin basée sur la théorie du calcul d’A. Turing de 1936.
6.1 Rappel sur les logarithmes Tout au long de l’ouvrage, nous aurons besoin d’utiliser la fonction logarithme en base 2 puisque la transmission numérique des informations se fait en binaire. Il est donc utile de faire quelques rappels sur la fonction logarithme. La fonction exponentielle et la fonction logarithme népérien sont des fonctions continues monotones croissantes. L’évolution de exp( x ) et de ln( x ) en fonction de x est indiquée dans la figure 6.1. La fonction exp( x ) est définie dans l’intervalle →0 + → −∞ . [−∞, +∞] et la fonction ln( x ) dans l’intervalle ]0, +∞]. De plus ln( x ) x
87
Énergie, entropie, information, cryptographie et cybersécurité
Figure 6.1
La fonction logarithme dépend de la base choisie. Le choix de celle-ci est lié au domaine d’application. Il est donc important de savoir changer de base. En effet, toutes les calculatrices n’ont pas nécessairement la fonction log 2 . Le logarithme de base b est la fonction réciproque de b x On a : = log b (b ) 1= log b (1) 0 log b ( xy ) = log b ( x ) + log b ( y ) x log b ( ) = log b ( x ) − log b ( y ) y log b ( x α ) = α log b ( x ) Les bases les plus utilisées : népérien ⇒ ln x
⇔ exp( x )
(nat)
Base 10 ⇒ log x
⇔ 10 x
(decit)
log 103 = 3
(bit ou Shannon (Sh))
log 2 28 = 8
Base 2
⇒ log 2 x ⇔ 2 x
Si l’on veut changer de base : Relation entre le logarithme de base b, log b et celui de base a, log a log a x =
log b x = log a b × log b x log b a log a ( x ) =
ln x ln a
a x = exp( x ln a )
88
6. Information et entropie
On peut obtenir la formule de changement de base de la manière suivante : Soit N = a L ⇒ log a N = L Calculons log b N = log b a L = L × log b a log b N = L log = Donc aN log b a log(10000) 4 log(10) = (10000) = = 2 ; log = (10) = 2 Exemples : log100 10 log(100) 2 log(101/2 )
6.2 Quantité d’information Supposons qu’une bibliothèque contienne N livres. Si l’on doit chercher un ouvrage particulier parmi ces N livres, l’information dont on dispose est très faible et il y a une grande incertitude pour trouver le bon exemplaire. Supposons que les livres soient classés en familles ayant une couverture de couleur différente et qu’il y ait n livres de couverture rouge. Si l’on sait que le livre que l’on cherche est de couleur rouge, on dispose d’une information précieuse qui va permettre de plus facilement le trouver. La connaissance de cette information permet de réduire l’incertitude lors de notre recherche. Voyons les deux cas limites. Si n = N , tous les livres sont de couleur rouge. L’information disant que le livre est rouge n’apporte rien. On peut dire qu’elle est nulle. Si au contraire n = 1, il n’y a qu’un livre rouge dans la bibliothèque et on va rapidement trouver l’ouvrage que l’on cherche. L’information augmente lorsque N / n augmente. Afin de quantifier l’information, Hartley et Shannon ont posé, pour la quantité d’information I : I = log 2
N n
Lorsque n = N , I = 0 et lorsque n = 1, I = log 2 N . La fonction logarithme étant croissante, I = log 2 N est la plus grande valeur possible de l’information. Ainsi, dans le cas où n = 1, l’information a une grande valeur, car on va toute de suite trouver le livre recherché. Cependant, pour n = N , savoir que la couverture du livre est rouge n’a aucune valeur par rapport à savoir qu’il y a N livres dans la bibliothèque. De manière générale, si N est le nombre d’événements possibles et si n est le cardinal du sous-ensemble contenant l’information que l’on cherche, alors la quantité d’information est : I = log 2
N n
Cette quantité d’information s’exprime en bits. On utilise parfois le terme de logon, shannon, hartley.
89
Énergie, entropie, information, cryptographie et cybersécurité
Un bit est la quantité d’information qui correspond à une réduction de moitié de l’incertitude sur un problème donné. S’il y a N fichiers sur un disque dur dont n1 fichiers de type doc et n2 fichiers de type xls, les informations respectives seront : I1 = log 2
N N et I 2 = log 2 n1 n2
Si n1 > n2 , on a I1 < I 2, ce qui veut dire que l’on aura plus d’information sur les fichiers d’extension xls que d’extension doc. Il sera plus rapide de rechercher sur le disque dur un fichier particulier de type xls. Voyons maintenant un exemple un peu plus complexe dans lequel on considère une bibliothèque contenant 1 150 livres de sciences et 2 850 ouvrages littéraires (tableau 6.1). La couverture des livres peut être de quatre couleurs différentes : verte, rouge, blanche ou noire. Il y a au total 4 000 livres dans la bibliothèque. L’information sur le livre vert vaut 4000 log 2 = log 2 8 = 3 bits. Si, quand on cherche un livre, on sait que celui-ci est 500 de couleur verte, on divise l’incertitude par un facteur 8. Cela veut dire que si l’on demande à quelqu’un de chercher un livre particulier dans la bibliothèque et si on ne lui dit pas que ce livre est de couleur verte, il cherchera parmi les 4 000 livres de celle-ci. Le fait de lui dire que le livre est vert lui permet de ne chercher que parmi les 500 livres verts de la bibliothèque. La recherche sera plus facile.
( )
L’information sur le livre rouge vaut log 2
4000 ) = log 4 = 2 bits. Si l’on sait que (1000 2
le livre est rouge, on divise l’incertitude seulement par un facteur 4. Cette information a moins de valeur. Si l’on sait que le livre que l’on cherche est un livre de sciences et qu’il est de cou4000 = log 2 16 = 4 bits. On leur noire, l’information correspondante est de log 2 250 encore réduit l’incertitude lors de la recherche. Cette information a beaucoup plus de valeur pour celui qui recherche le livre.
( )
Tableau 6.1
90
Livres
Sciences
Littérature
Total
Verts
200
300
500
Rouges
200
800
1000
Blancs
500
1000
1500
Noirs
250
750
1000
Total
1150
2850
4000
6. Information et entropie
6.3 L’information Ce qui vient d’être dit permet de définir la notion d’information de manière quantitative. Si l’on s’intéresse à un événement x dont la probabilité de se réaliser est p( x ), l’information associée à cet événement est : I ( x ) = − log 2 p( x ) = log 2
1 p( x )
Le signe moins dans la première expression de I ( x ) assure que la quantité d’information est toujours positive. En effet, on a toujours 0 ≤ p( x ) ≤ 1.=On rappelle que →0 x ln 2 x = 0 pour x = 0, car lim ( x ln x ) x → 0. Si pour deux événements x1 et x 2 , p( x1 ) < p( x 2 ), alors I ( x1 ) > I ( x 2 ). L’événement le moins probable est associé à la plus grande information. Il a une plus grande valeur. On peut se le rappeler en pensant au jeu du loto. La probabilité de gagner est infime et celle de perdre très grande. On ne sera pas prêt à payer beaucoup l’information disant que le ticket va perdre, mais on sera prêt à payer très cher l’information donnant le ticket gagnant. Si on considère deux événements indépendants A et B, on a p( A, B ) = p( A ) p( B ), où p( A, B ) est la probabilité d’observer A et B. On a alors : I ( A, B ) = I ( A ) + I ( B ) Ceci n’est vrai que parce que les événements sont indépendants, sinon : I ( A, B ) = I ( A ) + I [ p( B A )] Où p( B A ) est la probabilité conditionnelle, c’est-à-dire la probabilité d’obtenir B sachant que A est réalisé.
6.4 Entropie d’information Shannon a introduit l’entropie pour quantifier la notion d’information. Considérons un espace d’événements qui comprend N éléments ou symboles de probabilité N
pi (i = 1 N ) d’un ensemble X. On a bien sûr 0 ≤ pi ≤ 1 ∀i et ∑ pi = 1. L’entropie i =1
d’information H ( p1 , p2 pN ) est définie par : N
N
i =1
i =1
H = H ( p1 , p2 pN ) = −∑ pi log 2 pi = ∑ pi log 2
1 pi
On peut interpréter l’entropie comme la valeur moyenne de l’information : H= I =
∑ I ( x ) = − ∑ p( x )log 2 p( x )
x∈X
x∈X
91
Énergie, entropie, information, cryptographie et cybersécurité
L’entropie d’une source est donc la quantité d’information moyenne par symbole. Dans le cas où tous les symboles sont équiprobables, ce qui correspond à l’équilibre 1 en physique statistique, on a p( x ) = . L’entropie devient : N N
x∈X
N
N 1 1 1 log 2 = ∑ log 2 N = log 2 N = log 2 N N N N N i =1 i =1
H = − ∑ p( x )log 2 p( x ) = − ∑ L’unité est le bit.
Il est important de noter que l’entropie ne dépend pas des valeurs prises par la variable aléatoire x, mais seulement des probabilités. Dans un jeu à pile ou face, il y a deux événements possibles « pile » ou « face ». Si la 1 = H log = pièce n’est pas truquée p( x ) = ∀x . L’entropie d’un lancer vaut 2 2 1 bit. 2 Cela signifie qu’il suffit d’un seul bit pour coder les deux événements possibles. On peut prendre « 0 » pour « pile » et « 1 » pour « face » ou l’inverse. 1 Considérons maintenant un dé non truqué à six faces. Dans ce cas, p( x ) = ∀x . 6 L’entropie vaut : 6
H =−∑ i =1
1 1 log = log 2 6 = 2,585 bits. 6 26
On remarquera que l’information a la même valeur : = I log = 2 6 2,585 Cela signifie qu’il faut 3 bits pour décrire l’ensemble des événements. On peut par exemple adopter la correspondance du tableau 6.2. Tableau 6.2 x = 1 ⇒ 001
x = 4 ⇒ 100
x = 2 ⇒ 010
x = 5 ⇒ 101
x = 3 ⇒ 011
x = 6 ⇒ 110
On voit que deux configurations n’ont pas été utilisées : 000 et 111. Cela vient du fait que l’entropie est égale à 2,585 et non à 3. Si l’on avait un dé non truqué à huit faces, on trouverait 3 pour l’entropie et toutes les configurations seraient utilisées. Voyons pour terminer cette section un exemple dans lequel il n’y a pas équiprobabilité des événements. Prenons le message suivant : LE TRESOR EST DANS LA CABANE
92
6. Information et entropie
Prenons comme alphabet l’ensemble des 26 lettres majuscules et incluons l’espace. Dans ce message, la fréquence des lettres est indiquée dans le tableau 6.3. Leur probabilité d’apparaître est aussi mentionnée (il y a en tout 28 symboles dans le message). Tableau 6.3 Symbole
Occurrence
p
-log p
-p log p
Espace
5
0,179
2,485
0,44
A
4
0,143
2,807
0,40
B
1
0,036
4,807
0,17
C
1
0,036
4,807
0,17
D
1
0,036
4,807
0,17
E
4
0,143
2,807
0,40
L
2
0,071
3,807
0,27
N
2
0,071
3,807
0,27
O
1
0,036
4,807
0,17
R
2
0,071
3,807
0,27
S
3
0,107
3,222
0,35
T
2
0,071
3,807
0,27
Somme
28
1
Entropie
3,37
L’entropie de ce système est de 3,37 bits.
6.5 Entropie binaire Considérons une variable aléatoire y qui ne peut prendre que deux valeurs { y1 , y 2}. C’est le cas d’une pièce lorsque l’on joue à pile ou face. Si la pièce n’est pas truquée, chaque face peut être obtenue avec une égale probabilité (1/2). Si la pièce est truquée, on peut favoriser la sortie d’une des faces. Si p( y1 ) = x est la probabilité pour que y prenne la valeur y1, alors la probabilité pour obtenir y 2 est p( y 2 ) = 1 − x puisque p( y1 ) + p( y 2 ) = 1. L’entropie de la source { y1 , y 2} vaut par définition : H ( x ) = − xlog 2 x − (1 − x )log 2 (1 − x )
93
Énergie, entropie, information, cryptographie et cybersécurité
L’évolution de H ( x ) est indiquée dans la figure 6.2. On voit que H= (0) H= (1) 0. En effet lim ( x ln x ) → 0 et log 2 (1) = 0. Pour x = 0 ou x = 1, les événements sont x →0
déterministes et il n’y a pas d’incertitude sur le résultat. Dans le cas d’une pièce lancée, on serait sûr qu’elle tombe sur l’une des faces ou sur l’autre.
Figure 6.2
Figure 6.3
On a un système avec deux micro-états au sens de la physique statistique. Donc Ω = 2. Lorsqu’il y a équiprobabilité des micro-états (équilibre statistique), H ( x ) est
94
6. Information et entropie
maximum et vaut H
( 12 ) = log Ω = log 2 = 1. On aurait pu tout aussi bien calcu2
2
ler l’entropie avec des logarithmes népériens. L’allure de H e ( x ) aurait été la même (figure 6.3) et l’entropie aurait été définie à un facteur multiplicatif près : H e ( x ) = − x ln x − (1 − x )ln(1 − x )
6.6 Processus markoviens Le signal émis par la source émettrice est généralement non déterministe. C’est un processus stochastique qui peut être markovien ou non. Un processus est markovien si la prédiction de son futur ne dépend pas de son passé. Voyons ceci sur quelques exemples. • La décomposition d’un noyau radioactif est un processus markovien. Si un noyau a une probabilité p de se décomposer au temps t et s’il ne s’est pas décomposé au temps t + T , alors il aura encore la probabilité p de se décomposer au temps t + T . On peut dire qu’un noyau radioactif ne vieillit pas dans le sens où, tant qu’il existe, sa probabilité de mourir (c’est-à-dire de se décomposer en un autre noyau) est la même. Prenons 1 million de noyaux dont la période radioactive 8 est de 50 ans. Au bout de 50 ans, il restera 500 000 noyaux, aux fluctuations statistiques près. Au bout de 100 ans, soit 50 ans plus tard, il restera 250 000 noyaux. À chaque période, le nombre de noyaux radioactifs est divisé par 2. Ainsi, au bout de 200 ans (quatre périodes), il restera 62 500 noyaux. Ces noyaux survivants seront aussi « jeunes » que ceux qui existaient 200 ans plus tôt. • La vie humaine est au contraire un processus non markovien. L’espérance de vie restante à un âge donné sera d’autant plus petite que la personne considérée sera âgée. Si l’on suppose qu’au bout de 50 ans la moitié des individus ont disparu, en partant de 1 million d’habitants on aura 500 000 survivants. En revanche, dans 100 ans il n’y aura pas 250 000 survivants, car la probabilité de mourir dépend de l’âge, donc du passé, de l’individu. • Beaucoup des phénomènes physiques rencontrés dans la nature sont des processus markoviens, mais certains ne le sont pas. C’est par exemple le cas des fluides non newtoniens qui n’obéissent pas aux lois de l’hydrodynamique habituelle. Le yaourt en est une illustration. La viscosité d’un yaourt dépend de son passé. Elle ne sera pas la même si on considère un yaourt dont on vient d’ouvrir le pot et un yaourt que l’on aura mélangé avec une cuillère. Pour ce qui concerne la transmission d’un message, il y a deux points de vue à considérer. Dans le premier, on peut s’intéresser à écrire un message intelligible comme une succession de lettres d’un alphabet. Celles-ci apparaissent avec une certaine
8. La période radioactive d’un noyau est le temps au bout duquel une population initiale de N noyaux devient égale à N /2.
95
Énergie, entropie, information, cryptographie et cybersécurité
probabilité dans un roman. En effet, pour un texte en français, la lettre « E » apparaîtra plus souvent que la lettre « B ». Dans une succession temporelle où les lettres apparaissent les unes après les autres, il y a, pour un texte intelligible, une certaine corrélation entre l’apparition d’une lettre et la précédente. Par exemple, pour un mot dans lequel un « Q » apparaît au début, il y a de fortes chances que la lettre suivante soit un « U ». Il y a une certaine mémoire de ce qui a été écrit précédemment. En ce sens, le processus peut être considéré comme non markovien. Cependant, si on s’intéresse à la transmission globale d’un message, comme lors du téléchargement d’un roman sur une liseuse, chaque lettre a une certaine probabilité d’apparaître pour l’ensemble du roman et cette probabilité est constante au cours du temps. Elle ne dépend pas de ce qui a été transmis avant ou qui sera transmis après un symbole donné. On peut donc considérer que l’on a une source sans mémoire et traiter celle-ci comme markovienne.
6.7 Inégalité de Gibbs Pour deux alphabets de N éléments ( a1 , a2 , ..., a N ) et (b1 , b2 , ..., bN ) , on a : N
q
∑ pk ln pkk ≤ 0. k =1
Il y a égalité si ∀k
pk = qk
En effet, comme on peut le voir sur la figure 6.4, on a ln ( x ) ≤ x −1. La courbe ln ( x ) est en rouge et celle de x −1 en bleu/droite.
Figure 6.4
96
6. Information et entropie
Si on pose x =
q q qk q q > 0, on a ln k ≤ k −1, soit pk ln k ≤ pk k − 1 = qk − pk p pk p p pk k k k
N N N q d’où ∑ pk ln k ≤ ∑ qk − ∑ pk = 1 − 1 = 0 pk k =1 k =1 k =1 N
q
∑ pk ln pkk ≤ 0 k =1
⇒
N
N
∑ pk ln pk ≤ ∑ pk ln qk 1
k =1
1
k =1
Il est aussi commode d’écrire l’inégalité de Gibbs sous la forme suivante : N
N
k =1
k =1
∑ pk ln qk ≤ ∑ pk ln pk 6.8 Entropie et information conjointes L’entropie conjointe et l’information conjointe permettent de mesurer le degré de similitude entre deux sources. Soit deux sources discrètes d’alphabets X et Y : ( x1 , x 2 , ..., x N ) et ( y1 , y 2 , ..., y N ). La quantité d’information conjointe est définie par : I ( xi , y j ) = − log 2 p ( xi , y j ) Et l’entropie conjointe de X et Y est définie comme : N N
H ( X , Y ) = −∑ ∑ p ( xi , y j ) log 2 p ( xi , y j ) i =1 j =1
Si les événements sont indépendants : p ( xi , y j ) = p ( xi ) × p ( y j ) et H ( X , Y ) = H ( X ) + H (Y ) De manière générale, on a : 0 ≤ H ( X , Y ) ≤ H ( X ) + H (Y ) Soit l’expression suivante qui est proportionnelle à
H ( X ) + H (Y ) : log 2
N N − ∑ p ( xi ) ln p ( xi ) + ∑ p ( x j ) ln p ( y j ) j =1 i =1 N N N N = − ∑ ∑ p ( xi , y j ) ln p ( xi ) + ∑ ∑ p ( xi , y j ) ln p ( y j ) i =1 j =1 i =1 j =1
N N = − ∑ ∑ p ( xi , y j ) ln p ( xi ) p ( y j ) i =1 j =1
97
Énergie, entropie, information, cryptographie et cybersécurité
Compte tenu de l’inégalité de Gibbs on a : N N N N − ∑ ∑ p ( x j , y j ) ln p ( x j ) p ( y j ) ≥ − ∑ ∑ p ( xi , y j ) ln p ( x j , y j ) i =1 j =1 i =1 j =1 Cette expression n’est autre que H ( X , Y ) ≤ H ( X ) + H (Y ).
H (X ,Y ) . On a donc bien H ( X , Y ) ≤ H ( X ) + H (Y log 2
Lorsque les sources X et Y sont dépendantes, l’observation globale de ( X , Y ) apporte moins d’information que la somme des informations apportées par les observations séparées de X et Y : H ( X , Y ) ≤ H ( X ) + H (Y ). La quantité d’information partagée (en commun) par X et Y est : I ( X , Y ) = H ( X ) + H (Y ) − H ( X , Y ) N N p ( xi ) p ( y j ) I ( X , Y ) = −∑ ∑ p ( xi , y j ) ln p ( x , y ) i =1 j =1 i j
Si X et Y sont indépendants ⇒ I ( X , Y ) = 0 Si X = Y ⇒ I ( X , Y ) = H ( X ) = H (Y ) Lorsque les sources X et Y sont indépendantes, elles ne partagent aucune information, donc leur information mutuelle est nulle. Si elles sont au contraire identiques ( X = Y ), l’information mutuelle est maximale.
6.9 Entropie conditionnelle L’entropie conditionnelle (équivocation) est la quantité d’information associée à l’indétermination (ou équivoque) qu’il reste sur l’événement X après la connaissance de l’événement Y. Une autre manière de formuler cela est de dire que c’est la quantité d’information qu’il reste à acquérir pour connaître X lorsque Y est connu. C’est le problème que l’on a par exemple quand on cherche un livre dans une bibliothèque et que l’on sait que sa reliure est rouge. H (X Y ) = − ∑
∑ p ( x , y ) log 2 p ( x
y)
x∈X y∈Y
Rappelons, pour comparaison, que : H ( X , Y ) = − ∑ Comme en général p ( x y ) ≠ p ( y x ), on a :
H ( X Y ) ≠ H (Y X ) D’où le terme « équivocation ».
98
∑ p ( x , y ) log 2 p ( x , y ).
x∈X y∈Y
6. Information et entropie
Si X et Y sont des événements indépendants, alors : H ( X , Y ) = H ( X ) + H (Y ) H ( X Y ) = H ( X ) et H (Y X ) = H (Y ) H ( X Y ) = H ( X , Y ) − H (Y ) On a : H ( X Y ) = H ( X , Y ) − H (Y ) H (Y X ) = H ( X , Y ) − H ( X ) Comme I ( X , Y ) = H ( X ) + H (Y ) − H ( X , Y ) on a : H (X Y ) = H (X ) − I (X ,Y ) ⇒ H (X Y ) ≤ H (X ) On a aussi : I ( X , Y ) = H (Y ) − H (Y X ) = H ( X ) − H ( X Y ) I ( X , Y ) = H ( X , Y ) − H ( X Y ) = H (Y X )
6.10 Entropie mutuelle L’information mutuelle de deux sources X et Y est définie par : H (X ;Y ) =
p (x, y )
∑ ∑ p ( x , y ) log 2 p ( x ) p ( y )
x∈X y∈Y
On notera qu’il n’y a pas de signe négatif dans l’expression de H ( X ; Y ) . On utilise parfois I ( X ; Y ) au lieu de H ( X ; Y ) . Si les sources sont indépendantes, on a : H ( X ; Y ) = H ( X ) − H ( X Y ) = H (Y ) − H (Y X ) = H ( X ) + H (Y ) − H ( X , Y ) La première relation signifie que l’information mutuelle est la réduction d’incertitude sur X que l’on obtient lorsque l’on a une information sur Y. On peut écrire la dernière égalité sous la forme : H ( X , Y ) = H ( X ) + H (Y ) − H ( X ; Y ) Cette relation montre que l’entropie conjointe est toujours inférieure ou égale à la somme des entropies de chacune des sources.
99
Énergie, entropie, information, cryptographie et cybersécurité
6.11 Diagramme de Venn Il est possible de mémoriser les formules obtenues dans les précédentes sections en utilisant les diagrammes de Venn. Ils constituent une représentation géométrique des différents éléments et permettent de calculer simplement les relations entre les différents types d’entropie. Nous allons tout d’abord considérer, dans la figure 6.5, deux ensembles A et B qui ont une partie commune. Les notations utilisées sont les suivantes : A ou B ⇒ A ∪ B A et B ⇒ A ∩ B A et non B ⇒ A ∩ ¬B B et non A ⇒ B ∩ ¬A Le « ou » (OR), « et » (AND) « non » (NO) sont des opérateurs booléens.
Figure 6.5
Il est possible de construire un diagramme de Venn pour les différentes formes d’entropie avec les correspondances suivantes : H (X , Y ) ⇔ H (X ∪Y ) H (X ; Y ) ⇔ H (X ∩Y ) H ( X Y ) ⇔ H ( X ∩ ¬Y ) H (Y X ) ⇔ H (Y ∩ ¬X )
∪ → , et ∩ → ; ∩¬ → |
On obtient alors le diagramme de Venn de la figure 6.6.
100
6. Information et entropie
Figure 6.6
Avec la figure, on retrouve facilement les relations suivantes : H ( X , Y ) ≤ H ( X ) + H (Y ) puisque la somme compte deux fois l’intersection. H ( X Y ) = H ( X , Y ) − H (Y ) H ( X Y ) ≠ H (Y X ) H ( X , Y ) = H ( X ) + H (Y ) − H ( X ; Y ).
6.12 Entropie relative L’entropie relative entre deux distributions de probabilité p ( x ) et q ( x ) est donnée par : p (x ) D [ p ( x ) q ( x )] = ∑ p ( x ) log 2 q (x ) x∈X L’entropie relative est aussi appelée distance de Kullback-Leibler (KL) ou discrimination. Toutefois, D [ p ( x ) q ( x )] n’est pas une distance, car D [ p q ] ≠ D [q p] et cette expression ne satisfait pas à l’inégalité du triangle. Mais D [ p p] = 0 et D [ p q ] ≥ 0. Un cas important correspond à la situation où q ( x ) est une distribution uniforme
(q ( x ) = 1 / N ). Dans ce cas : D [ p ( x ) q ( x )] =
p (x )
∑ p ( x ) log 2 1 / N
x∈X
D [ p ( x ) q ( x )] = log 2 N − H ( X )
= log 2 N
∑ p ( x ) + ∑ p ( x ) log 2 p ( x )
x∈X
x∈X
Comme D [ p ( x ) q ( x )] est positif, H ( X ) ≤ log 2 N , ce que l’on connaissait par ailleurs.
101
Énergie, entropie, information, cryptographie et cybersécurité
6.13 Pour en savoir plus T. M. Cover et J. A. Thomas, Elements of information theory, 2e édition, John Wiley & Sons, 2006 E. Desurvire, Classical and quantum information theory: An introduction for the telecom scientist, Cambridge University Press, 2009 E. Dion, Invitation à la théorie de l’information, Seuil, 1997 J. R. Pierce, An introduction to information theory, 2e édition, Dover, 1980 O. Rioul, Théorie de l’information et codage, Lavoisier, 2007
102
7 Transmission d’information
Ce chapitre identifie les problèmes à résoudre lors de la transmission d’un message d’un émetteur vers un destinataire en s’appuyant sur des exemples de la vie courante.
Depuis que l’homme sait parler et écrire, il a toujours essayé de communiquer avec ses semblables. C’est grâce à la possibilité d’échanger de l’information, mais aussi de la stocker, que les civilisations humaines ont pu progresser et atteindre le niveau avancé d’aujourd’hui. Pendant la majeure partie de l’histoire humaine, l’information s’est transmise sous forme analogique (parole, écriture). Grâce aux ordinateurs, le traitement numérique de l’information a pris aujourd’hui une place majeure dans la vie courante. Ne pas savoir utiliser un ordinateur de nos jours est devenu un handicap important au même titre que de ne pas savoir conduire une voiture ce qui, dans ce dernier cas, restreint fortement les possibilités de se déplacer si l’on habite dans une région dépourvue de transports en commun. De même qu’il n’est pas nécessaire de connaître la technologie d’une voiture pour pouvoir la conduire, il n’est pas nécessaire de connaître celle d’un ordinateur pour s’en servir.
7.1 Transmettre de l’information Transmettre de l’information entre deux individus éloignés n’est pas un problème facile. Voyons cela sur quelques exemples de la vie courante.
103
Énergie, entropie, information, cryptographie et cybersécurité
Prenons le cas d’un Français, Monsieur Martin, ne parlant pas chinois, qui veut transmettre un message à Monsieur Chen ne parlant que le chinois, chacun étant dans son pays d’origine. Comment va-t-il faire ? Si Monsieur Martin envoie une lettre en français, Monsieur Chen ne pourra pas la comprendre sauf s’il y a un interprète. De même, si Monsieur Martin téléphone à Monsieur Chen, ils ne se comprendront pas. Dans une vidéoconférence entre ces deux personnes, ils pourront échanger un peu d’information grâce à des gestes. On voit donc que l’échange d’information entre un émetteur et une source est impossible s’ils ne parlent pas le même langage. Pour échanger de l’information de manière efficace, Messieurs Martin et Chen auront besoin d’avoir une langue commune ou il leur faudra utiliser un interprète qui n’est autre qu’un décodeur de leur langue vers la langue de leur interlocuteur. Alice et Véronique parlent la même langue. Elles sont à 3 m l’une de l’autre au réfectoire de l’université. Elles se parlent et échangent donc de l’information. Toutefois, le bruit fait par les autres étudiants avec les couverts et leurs conversations est tel qu’elles ne comprennent pas toujours tout ce qu’elles disent. Elles doivent se répéter et parfois ce que dit Véronique est mal compris par Alice. Alice écoute le cours du professeur et prend des notes écrites. Elle code avec des lettres les sons qu’elle entend. Après le cours, elle tapera le texte qu’elle a écrit sur son ordinateur et enverra le fichier par mail à son amie Véronique qui n’a pas pu venir au cours. Ce texte sera codé en binaire dans l’ordinateur, transmis ainsi via le réseau et décodé par l’ordinateur de Véronique qui verra apparaître sur son écran le texte envoyé par Alice. Véronique imprimera celui-ci sur du papier avec son imprimante. Après le cours, Alice et Véronique sortent de l’amphithéâtre. Alice a un secret à confier à Véronique. Elle va lui parler dans le creux de l’oreille et lui tendre un petit papier plié en quatre dans lequel elle a mis des informations qu’elle souhaite cacher aux autres étudiants. Alice transmet des informations confidentielles à Véronique. Mais elle n’a pas de chance, Pierre, un autre étudiant, qui aime bien rapporter les potins, a vu qu’Alice et Véronique se parlaient à l’oreille et qu’Alice a donné un petit bout de papier que Véronique a mis dans sa poche. Il s’approche, bouscule un peu Véronique en s’excusant et subtilise le papier. Jean doit donner son nouveau numéro de téléphone à Jérémy, mais il y a de la friture sur la ligne. Il répète donc deux fois son numéro de téléphone et demande à Jérémy qui l’a noté sur un bout de papier de le lui répéter pour contrôler qu’il ne s’est pas trompé. Alice a eu un accrochage avec sa voiture. Elle veut faire sa déclaration sur internet, mais le formulaire de l’assurance ne l’autorise à utiliser que 256 caractères, espaces comprises. Dans un premier jet qu’elle a fait sur le papier, il lui a fallu 500 caractères pour décrire les circonstances de l’accident et les dégâts. Il faut qu’elle réduise (comprime) son texte pour qu’il fasse moins de 256 caractères. Dans toutes ces situations de la vie quotidienne, il y a eu un transfert d’information d’un individu à un autre ou d’un point à un autre. Ces exemples permettent de faire émerger plusieurs propriétés que doivent posséder des systèmes de transfert d’information.
104
7. Transmission d’information
Pour transmettre de l’information, il faut considérer un certain nombre de choses afin que la transmission soit fidèle et fiable (figure 7.1). Parfois, il est nécessaire que le message reçu soit identique au message émis. Pour d’autres applications, ce n’est pas nécessaire, comme lors de la transmission d’images, de musique ou de vidéos. Pour ces dernières, il suffit que les distorsions du signal original soient très faibles. C’est par exemple le cas de la musique codée mp3 où il y a une perte d’information par rapport à la musique initiale ou des images codées en jpeg ou jpg. Dans le cas des images, par exemple, si l’on travaille sur une image jpg avec un logiciel de retouche photo et qu’on l’enregistre régulièrement le fichier correspondant, les petites pertes lors de chaque enregistrement s’accumulent et peuvent au total, si le nombre d’enregistrements est grand, conduire à une modification visible de l’image initiale.
Figure 7.1
Pour transmettre de l’information (figure 7.1), il faut un langage commun, sinon on doit recourir aux services d’un interprète. On peut avoir besoin de la stocker comme on le fait en écrivant un message sur un bout de papier. Lors de la transmission du message, des perturbations peuvent l’altérer, d’où la nécessité d’une certaine redondance (on répète un numéro de téléphone). Une personne étrangère peut aussi intercepter une conversation, si bien qu’une confidentialité des échanges est nécessaire.
7.2 Pourquoi coder ? Le codage (ou décodage) d’une information est une étape essentielle si l’on veut transmettre de l’information d’un émetteur vers un destinataire. Il a trois fonctions principales (figure 7.2) : 1. Il permet de compresser les données, car le transfert de celles-ci se fait dans des canaux qui ont un débit limité. C’est un peu comme une canalisation dans
105
Énergie, entropie, information, cryptographie et cybersécurité
laquelle on veut faire circuler de l’eau. Elle permet un débit maximum. Le but est donc de réduire la longueur du message initial pour qu’il occupe le moins de place possible. Cela correspond à la phase de compression du message. Lors de cette étape, on réduit au maximum les redondances existantes. 2. La transmission de l’information est toujours perturbée par des parasites et autres perturbations qui font qu’elle n’arrive pas intacte. Elle peut être déformée ou perdue. Il faut tenir compte de ces perturbations, corriger les erreurs ou savoir que le message n’est pas intègre pour le transmettre à nouveau. Cette étape a toujours pour conséquence d’augmenter la taille du message initialement comprimé. 3. La plupart des informations que l’on transmet doivent être protégées, car elles peuvent être interceptées, modifiées, etc. Lorsque l’on fait un achat sur internet avec sa carte bleue, il ne faut pas que les informations de la carte soient interceptées par un pirate qui pourrait ensuite s’en servir de manière frauduleuse. La cryptographie joue un rôle important dans la transmission d’information.
Figure 7.2
7.3
De la source au destinataire
La figure 7.3 montre le schéma d’une chaîne de transmission de l’information. Le point de départ est une source d’information qui peut être un message alphanumérique écrit à la main ou un concert musical dans un auditorium. La première chose à faire est de coder les signaux issus de cette source, en les tapant sur un clavier d’ordinateur pour le premier cas ou en enregistrant la musique en analogique ou digital dans le second.
106
7. Transmission d’information
Figure 7.3
Dans tous les cas, il est préférable d’obtenir une information digitale pour pouvoir la transmettre avec les réseaux actuels. Il est en effet beaucoup plus difficile de corriger des erreurs lors d’une transmission analogique. Comme le canal de transmission a une capacité limitée, il faut réduire au maximum la place occupée par le message tout en ne perdant pas d’information (cas d’un message écrit) ou en en perdant le moins possible (cas de la musique, vidéo). C’est le rôle du codage source dans lequel on prépare l’information à transmettre pour qu’elle occupe le moins de place possible. C’est à ce stade que l’on comprime l’information. Malheureusement lors de la transmission dans le canal, des perturbations peuvent modifier le signal ou le rendre illisible en sortie de canal. Avant d’injecter l’information dans le canal, il faut rajouter de la redondance au message initial afin de pouvoir détecter des erreurs de transmission pour les corriger quand c’est possible ou pour demander une retransmission du message. Ajouter de la redondance signifie que l’on va augmenter la quantité d’information à transmettre. Les perturbations dans le canal peuvent être stochastiques et involontaires quand elles proviennent du bruit électronique ambiant ou de signaux parasites. Elles peuvent aussi être volontaires lorsqu’il s’agit d’un piratage du canal. C’est la raison pour laquelle il faut aussi crypter l’information véhiculée dans le canal afin d’en protéger le contenu. En sortie de canal, le message doit être décodé, décrypté et transformé en une forme compréhensible par le destinataire.
107
Énergie, entropie, information, cryptographie et cybersécurité
7.4 Pour en savoir plus T. M. Cover et J. A. Thomas, Elements of information theory, 2e édition, John Wiley & Sons, 2006 E. Dion, Invitation à la théorie de l’information, Seuil, 1997 J. R. Pierce, An introduction to information theory, 2e édition, Dover, 1980
108
8 Codage source
Avant d’être transmis, un message doit être codé pour occuper le moins de place possible. Ce codage de la source doit être le plus efficace possible et rapide à mettre en œuvre. Dans ce chapitre, nous introduisons le sujet et présentons quelques méthodes de codage.
Une source d’information génère des messages qui sont constitués d’une séquence de symboles appartenant à un alphabet. Nous ne considérons ici que des alphabets discrets. Ainsi, un texte écrit, comme l’article de journal, est un message. Il est constitué de lettres prises dans les 26 lettres de l’alphabet (majuscules et minuscules), auquel on ajoute les chiffres et certains symboles utiles à la compréhension du texte (point, virgule, point d’interrogation, etc.). Un autre exemple de message est une image constituée de pixels. Ceux-ci seront d’autant plus nombreux que la résolution de l’image sera élevée. Une image en couleur occupera beaucoup plus de mémoire qu’une image en noir et blanc ou avec des niveaux de gris.
8.1 Codage Soit une source d’information émettant un message St au temps t (figure 8.1). Ce message est transformé en un ensemble de mots de code Ct par le codeur. Le message St est construit à partir d’un alphabet ASource qui est par exemple constitué des
109
Énergie, entropie, information, cryptographie et cybersécurité
lettres de l’alphabet dans le cas d’un message alphanumérique 9. Le mot de code Ct est construit à partir d’un alphabet ACodeur qui dans le traitement digital de l’information est l’alphabet binaire : 0 ou 1. Un symbole du message source (comme une lettre) donne un mot de code lorsqu’il est codé en binaire qui contient en général plusieurs symboles de l’alphabet ACodeur. Par exemple, le symbole « A » dans l’alphabet source est transformé en 4116 = 10000012 si on le code en ASCII.
Figure 8.1
Pour transmettre un message, on a tout intérêt à ce qu’il occupe le moins de place possible. Pour cela, on peut utiliser des possibilités de codage plus ou moins performantes. Illustrons cela sur deux exemples. Considérons une feuille de papier A4 (21 × 29,7 cm) dont on souhaite transmettre un seul côté par fax avec un modem dont le débit est de 33,6 kbit/s (kbps). On veut une résolution de 300 ppi (points par pouce) et une transmission en noir et blanc. Chaque point est donc un bit dont la valeur peut être 0 (blanc, par exemple) ou 1 21 × 29,7 × 3002 ⇒ 8,7 Mbits. (noir). La quantité d’information à transmettre vaut (2,54) Avec un modem de 33,6 kbit/s, il faut 259 s, soit 4 minutes et demie pour transmettre cette page. Si le fax émettait 24 heures sur 24, on ne pourrait transmettre que 333 pages, ce qui est peu dans le cadre d’une entreprise. Il est donc essentiel de faire un codage qui comprime l’information initiale. En utilisant un codage qui réduit également la taille du message, on peut transférer une page en moins de 20 s, ce qui est dix fois plus rapide que sans compression. Le domaine de la musique illustre l’évolution des méthodes de compression selon le choix de l’algorithme de codage. Si l’on grave un CD en PCM (Pulse Code Modulation [WAV sous windows et aiff sous Mac OS]), la résolution est de 16 bits et la fréquence d’échantillonnage de 44,1 kHz. Pour un morceau en stéréo de 3 minutes 30, il faut un débit de 44,1 × 16 × 2 = 1411 kb/s. La taille du morceau 16 44,1 × × 210 × 2 8 = 36,2 Mo . On peut mettre un peu moins d’une est alors de 1024 vingtaine de chansons de variété sur un CD. Le codage mp3 (Moving Picture Expert Group 1 layer 3) comprime plus efficacement un morceau de musique au prix d’une perte de qualité minime. Avec un algorithme de codage à 128 kbit/s (bitrate ou nombre de bits autorisés par seconde), 1 min de 128 × 103 × 60 1 Mo au lieu de 10 Mo pour un CD. musique stéréo occupe 8 9. La taille de l’alphabet est appelée arité de la source.
110
8. Codage source
8.2 Codes singuliers Une source est dite stationnaire quand la probabilité P (St ) ne dépend pas du temps. Cela veut dire que la probabilité P ( si ) pour que le symbole si se trouve dans un message ne varie pas au cours du temps. La source est sans mémoire si la probabilité pour que le symbole si apparaisse ne dépend pas de ses apparitions précédentes. On va ici s’intéresser aux sources discrètes. Un code source utilisable dans la pratique doit posséder un certain nombre de propriétés. Certains codes sont singuliers ou irréversibles. Cela signifie que deux symboles sources différents peuvent donner deux mots de code identiques. Par exemple si l’on a : s1 0, s 2 1, s3 1 et s 4 0 on ne sera pas capable de décoder le message 01, car cela pourrait être l’une des quatre séquences sources : s1s2,s1s3,s4s2,s4s3. Un tel code est singulier ou irréversible. On ne peut pas le déchiffrer sans ambiguïté. C’est donc un codage à perte qui ne peut être utilisé que dans certaines applications où une perte d’information n’est pas cruciale, comme pour coder la parole. C’est le cas des images ou des vidéos lorsque l’on doit les transmettre à faible débit. Le passage d’une image couleur à une image en noir et blanc est un exemple de codage à perte. De même, si dans une photo on code deux niveaux de gris contigus de la même manière, cela ne rendra pas l’image inintelligible. Dans le domaine musical, si l’on donne le même code à tous les signaux ayant une fréquence supérieure à 18 000 Hz, l’écoute du morceau est identique pour la plupart des gens. Un code non singulier est en revanche tel que : si ≠ s j
⇒ ci ≠ c j
Deux messages sources différents donnent deux messages codés différents. Si l’on veut transmettre un message alphanumérique, il est préférable d’utiliser un code non singulier.
8.3 Codes non ambigus Un code est non ambigu quand chaque mot de code correspond à un et un seul message source. En fait, il y a une bijection entre les symboles sources et les mots de code. À chaque symbole source correspond un mot de code et réciproquement. a 1 b 00 et c 11 est un exemple de code ambigu. En effet, si l’on reçoit le code 1111, on peut l’interpréter comme aaaa, cc, aac ou caa. Un exemple de code non ambigu est a 1 b 00 et c 10. En effet, 10000 se décode comme abb et 1100 comme aab. Cependant, on est obligé d’avoir le message en entier pour pouvoir le décoder.
111
Énergie, entropie, information, cryptographie et cybersécurité
Le tableau 8.1 donne deux exemples de codes non ambigus, c’est-à-dire à décodage unique, pour une source de quatre symboles et un codage binaire. Tableau 8.1 Code source
Code A
Code B
s1
0
0
s2
01
10
s3
011
110
s4
0111
111
Ces codes sont à décodage unique et sans ambiguïté. Par exemple, avec le code A, 00101 ⇒ s1s 2 s 2 . De même, avec le code B, 111010 ⇒ s 4 s1s 2. En revanche, le code suivant (tableau 8.2) est ambigu. Le décodage n’est pas unique. Tableau 8.2 Code source
Code
s1
0
s2
10
s3
11
s4
110
Par exemple, le code 110 peut être interprété comme s3s1 ou s4.
8.4 Codes sans préfixe Parmi les codes non ambigus, les codes sans préfixe sont les plus intéressants. Si l’on considère une séquence c de longueur n ≥ 1, on dit qu’elle est préfixe d’une autre séquence c ′ si les n premiers symboles de c ′ sont la séquence c. Par exemple, la séquence abcd est un préfixe de la séquence abcdefg. Le code suivant a 0 b 00 et c 10 n’est pas un code sans préfixe, car 0 (a ) est le préfixe de 00 (b ) . Cependant le code a 0 b 10 et c 11 est un code sans préfixe.
112
8. Codage source
8.5 Code instantané Un code instantané est un code où chaque mot de code dans une chaîne de mots de code peut être décodé sans avoir à attendre le mot de code suivant et notamment la fin du message. Ceci permet d’accélérer le processus de décodage et nécessite moins de mémoire. En effet, le décodage peut se faire à la volée dès que l’on reçoit un mot sans attendre et stocker la suite. C’est dans le domaine des codes instantanés que les codes sans préfixe trouvent tout leur intérêt grâce aux deux propriétés importantes suivantes : • Tout code sans préfixe est non ambigu (mais l’inverse n’est pas vrai, il existe des codes non ambigus qui sont avec préfixe). • Un code est instantané si et seulement s’il est sans préfixe.
Figure 8.2
Il y a en fait toute une hiérarchie dans les codes qui est résumée dans la figure 8.2. Les codes instantanés appartiennent par exemple à la famille des codes non ambigus.
8.6 Code à longueur fixe Dans un code à longueur fixe, tous les mots de code ont la même longueur. C’est un codage facile à décoder, mais peu efficace, car il attribue aux symboles très fréquents la même longueur qu’aux symboles les plus rares.
113
Énergie, entropie, information, cryptographie et cybersécurité
Le tableau 8.3 en donne un exemple. Le code ASCII que nous verrons plus loin est un autre exemple de code à longueur fixe. Tableau 8.3 Code source
Code
s1
00
s2
01
s3
10
s4
11
8.7 Code avec séparateur On peut séparer chaque mot code par un séparateur. Pour cela, on réserve un symbole. Le tableau 8.4 donne un exemple. Cela permet d’utiliser des mots de code de longueur variable. Tableau 8.4 Code source
Code
Séparateur
0
s1
1
s2
11
s3
111
s4
1111
8.8 Le code Morse Le code Morse a été introduit bien avant que l’on parle de théorie de l’information. Il était initialement dédié aux transmissions militaires. Il a été utilisé pendant la guerre de Sécession aux États-Unis et lors de la Première Guerre mondiale. Les mots de code sont constitués de points et de tirets. Lors d’une transmission télégraphique, un tiret dure trois fois plus longtemps qu’un point. L’espacement entre deux éléments d’une même lettre est égal à 1 point et celui séparant deux lettres est égal à
114
8. Codage source
3 points. L’espacement entre deux mots étant de 7 points. Le codage des lettres de l’alphabet ainsi que de certains signes et commandes est indiqué dans le tableau 8.5. Une caractéristique du code Morse est que les mots de code représentant les lettres sont de longueur variable, les plus courts représentant les lettres les plus utilisées et les plus longs celles qui sont plus rares. Ainsi le « E » est représenté par un point seulement alors que le « Z » l’est par — — ••. Le Morse a été le premier code à longueur variable utilisé. Bien qu’il ait été conçu avant que la notion de code optimal ait été introduite, il n’est pas loin de l’être alors qu’il a été conçu de façon empirique. Quand on parle de Morse, tout le monde pense au célèbre SOS (Save Our Souls) •••/— — —/•••. Tableau 8.5 A
•—
K
—•—
U
••—
4
••••—
;
—•—•—•
B
—•••
L
•—••
V
•••—
5
•••••
-
—•••—
C
—•—•
M
— —
W
•— —
6
—••••
/
—••—•
D
—••
N
—•
X
—••—
7
— —•••
“
•—••—•
E
•
O
— — —
Y
—•— —
8
— — —••
call T
—•—
F
••—•
P
•— —•
Z
— —••
9
— — — —•
error
••••••
G
— —•
Q
— —•—
0
— — — — —
.
•—•—•—
wait
•—•••
H
••••
R
•—•
1
•— — — —
,
— —••— —
End M
•—•—•
I
••
S
•••
2
••— — —
?
••— —••
End B
•••—•—
J
•— — —
T
—
3
•••— —
:
— — —•••
8.9 Le code ASCII Le code ASCII (American Standard Code Information Interchange) est un code de longueur fixe introduit dans les années 1960. Il est très utilisé en informatique sous forme simple ou étendue. Sa particularité est d’être un code de longueur fixe. Chaque lettre alphabétique, chiffre ou caractère, est représentée par 7 bits, ce qui permet en théorie de définir 128 codes différents. Le tableau 8.6 montre le code ASCII de quelques lettres majuscules ou minuscules, de chiffres et caractères spéciaux. Les valeurs ASCII entre 0 (NUL) et 31 correspondent à des caractères de contrôle. Dans le codage ASCII, on ne fait pas la différence entre les caractères qui sont utilisés fréquemment et ceux qui ne le sont pas.
115
Énergie, entropie, information, cryptographie et cybersécurité
Tableau 8.6
116
Décimal
Hexa décimal
Caractère
Décimal
Hexa décimal
Caractère
Décimal
Hexa décimal
Caractère
32
20
blank
64
40
@
96
60
`
33
21
!
65
41
A
97
61
a
34
22
‘
66
42
B
98
62
b
35
23
#
67
43
C
99
63
c
36
24
$
68
44
D
100
64
d
37
25
%
69
45
E
101
65
e
38
26
&
70
46
F
102
66
f
39
27
‘
71
47
G
103
67
g
40
28
(
72
48
H
104
68
h
41
29
)
73
49
I
105
69
i
42
2A
*
74
4A
J
106
6A
j
43
2B
+
75
4B
K
107
6B
k
44
2C
,
76
4C
L
108
6C
l
45
2D
-
77
4D
M
109
6D
m
46
2E
.
78
4E
N
110
6E
n
47
2F
/
79
4F
O
111
6F
o
48
30
0
80
50
P
112
70
p
49
31
1
81
51
Q
113
71
q
50
32
2
82
52
R
114
72
r
51
33
3
83
53
S
115
73
s
52
34
4
84
54
T
116
74
t
53
35
5
85
55
U
117
75
u
54
36
6
86
56
V
118
76
v
55
37
7
87
57
W
119
77
w
56
38
8
88
58
X
120
78
x
57
39
9
89
59
Y
121
79
y
58
3A
:
90
5A
Z
122
7A
z
59
3B
;
91
5B
[
123
7B
{
60
3C
94
5E
^
126
7E
~
63
3F
?
95
5F
_
127
7F
DEL
8. Codage source
8.10 Codage source Considérons une source discrète X utilisant un alphabet K. Cette source émet une suite de symboles x qui appartiennent à l’alphabet K. Chacun a la probabilité p ( x ) d’apparaître. L’entropie de la source est : H ( X ) = −∑ p ( x ) log 2 p ( x ) X
La valeur de cette entropie est bornée par log 2 ( K ), où K est le nombre de symboles de l’alphabet : H ( X ) ≤ log 2 ( K ) L’égalité est atteinte lorsqu’il y a équiprobabilité des symboles de l’alphabet de la source. Si la source émet régulièrement des symboles, toutes les τ par seconde, par exemple, 1 elle émet symboles par seconde. Le débit moyen d’information peut alors être τ défini comme : Q=
H (X ) bits/s τ
Pour coder en binaire l’alphabet d’une source, il faut attribuer à chaque symbole un mot de code de L bits. Cela fait 2L codes différents possibles pour une longueur L. Pour qu’il soit possible de coder l’alphabet de taille K avec L bits, il faut que 2 L ≥ K . L’égalité a lieu lorsque K est un multiple de 2. Si ce n’est pas le cas, il faudra choisir L tel que : 2 L −1 < K < 2 L Le nombre de bits de codage minimum pour coder un alphabet de K symboles est donc : L = int [log 2 ( K )] + 1 On doit aussi satisfaire aux deux relations suivantes : H ( X ) ≤ log 2 ( K ) L L ≥ log 2 ( K ) car (2 ≥ K ) Il y a égalité lorsque tous les symboles de la source sont équiprobables et si K est une puissance de 2. L’efficacité du codage est d’autant plus grande que le nombre de codes inutilisés est petit. Par exemple, si l’alphabet contient cinq caractères A, B, C, D et E ( K = 5), il
117
Énergie, entropie, information, cryptographie et cybersécurité
faut L = 3 bits pour le coder. En effet 22 = 4 et 23 = 8. On peut par exemple adopter le codage suivant : A=000, B=001, C=010, D=011 et E=100. Les codes inutilisés sont 101, 110 et 111. Si l’alphabet source avait été A, B, C, D, E, F, G et H, les huit codes auraient pu être utilisés. Supposons, pour illustrer ce point, que K = 26 (lettres de l’alphabet). On a : log 2 ( K ) = 4,7 et L = int [log 2 ( K )] + 1 = 5 Si tous les symboles sont équiprobables, pi =
1 et : K
26
26
i =1
i =1
H ( X ) = −∑ pi log 2 pi = log 2 ( K ) ∑ pi = log 2 ( K ) = 4,7 bits On a alors :
η=
H ( X ) 4,7 = = 94 % L 5
Si nous prenons le cas où K = 36 (26 lettres de l’alphabet + 10 chiffres), on a : log 2 ( K ) = 517 , et L = 6. Pour des symboles équiprobables H ( X ) = 517 , .
η=
H ( X ) 517 , = = 86 % L 6
C’est moins bon que précédemment. On définit aussi parfois la redondance de la source comme : = 1 −η = 1 −
H (X ) L
On peut améliorer l’efficacité du codage en ne transmettant pas les symboles individuellement, mais par blocs de J symboles. C’est ce que l’on appelle l’extension de la source. On passe de la source primaire constituée de N symboles à une source secondaire constituée de N J symboles.
8.11 Arbres n-aires Les arbres n-aires sont des objets mathématiques très utiles, notamment pour l’étude et le développement de codes instantanés. La figure 8.3 montre un exemple d’arbre et quelques définitions.
118
8. Codage source
Figure 8.3
Un arbre est constitué de nœuds reliés entre eux. Il commence par une racine. Chaque nœud du graphe est soit un nœud intérieur, soit une feuille quand on est à une extrémité. On a les définitions suivantes relatives à un graphe. • • • • • • • • •
Un nœud possède au plus un prédécesseur : son père. La racine est le seul nœud qui n’a pas de prédécesseur. Un nœud qui n’a pas de successeur est une feuille. Une branche est une suite finie de nœuds de la racine vers la feuille. La longueur d’une branche est le nombre de nœuds moins 1. La profondeur d’un nœud est égale à la longueur jusqu’à la racine. La hauteur d’un graphe est la longueur maximum d’une de ses branches. L’arité est le nombre maximum de successeurs qu’un nœud peut avoir. La taille est le nombre total de nœuds.
Appliquons maintenant cela au graphe particulier de la figure 8.4. Le nœud 1 est la racine de l’arbre et c’est le père des nœuds 2, 3 et 4. Les nœuds internes sont les numéros 2, 3 et 9. Les feuilles sont les nœuds 5, 6, 7, 8, 10 et 4. Les nœuds 1, 3, 9 et 10 forment une branche de longueur 3. Les nœuds 1 et 4 forment une branche de longueur 1. La hauteur du graphe est de 3. La taille de l’arbre est de 10 et son arité de 3.
Figure 8.4
119
Énergie, entropie, information, cryptographie et cybersécurité
Les graphes permettent de construire et d’interpréter des codes instantanés. La figure 8.5 en montre un exemple.
Figure 8.5
Ce sont les arbres binaires (n = 2) qui vont nous intéresser dans le cas d’un traitement digital de l’information. Dans un arbre binaire, chaque nœud intérieur a une arité de 2. Il est dit complet lorsque toutes les feuilles ont la même profondeur. La figure 8.6 montre, dans la partie gauche, un arbre binaire incomplet et, dans la partie droite, un arbre binaire complet.
Figure 8.6
Un arbre de codage binaire est un arbre binaire dont les arcs sont étiquetés par les deux symboles 0 et 1. Chaque symbole ne doit apparaître au plus qu’une fois à chaque nœud. L’intérêt des arbres de codage est qu’ils permettent de construire des codes instantanés.
120
8. Codage source
L’arbre de codage est une représentation commode pour construire les algorithmes de codage et de décodage. Un code est dit complet lorsqu’il n’y a pas de feuille vide dans l’arbre de codage.
8.12 Inégalité de Kraft L’inégalité de Kraft est une condition nécessaire et suffisante pour montrer qu’il existe un code instantané. Il s’agit d’un théorème dont l’énoncé est le suivant pour un code instantané binaire : Il existe un code instantané binaire constitué de N mots de code dont la longueur des mots de code sont des entiers positifs l1, l2,…lN si et seulement si : N
∑ 2 −l
i
≤1
i =1
Lorsque l’égalité est réalisée, le code instantané est complet. Ce théorème dit qu’un code instantané peut exister pour les longueurs de mot de code li. Cependant, il ne dit pas si un code ayant des mots de code de longueur li est instantané. Cela peut d’ailleurs ne pas être le cas. Illustrons ceci sur deux exemples. Prenons tout d’abord trois symboles sources codés en binaire comme : 0, 10 et 11. N
La somme
∑ 2 −l
i
= 2 −1 + 2 −2 + 2 −2 = 1. Le code est ici instantané, mais il faut le
i =1
vérifier par ailleurs, car la relation de Kraft ne suffit pas. Prenons maintenant trois mots de code de la même longueur que précédemment. 1, 00, 10. Ce code satisfait à l’égalité de Kraft et il n’est pourtant pas instantané, car 1 est préfixe du mot de code 10. On peut immédiatement voir la différence entre les deux codes en les représentant avec un graphe (figure 8.7).
Figure 8.7
121
Énergie, entropie, information, cryptographie et cybersécurité
8.13 Entropie de la source et longueur des mots Considérons une source composée de quatre symboles A, B, C et D apparaissant avec les probabilités indiquées dans le tableau 8.7. On va les représenter par trois codes binaires différents. Tableau 8.7 Symbole
Probabilité
Code 1
Code 2
Code 3
A
0,4
00
0
0
B
0,3
01
10
10
C
0,2
10
11
110
D
0,1
11
110
111
H = 1,85
L = 2
L = 1,7
L = 1,9
L’entropie de la source vaut H (S ) = ∑ − pi log 2 pi = 1,85 et la longueur moyenne i
des mots de code vaut, pour un code donné, L = ∑ pi l i . Le code 1 est de longueur i
fixe alors que les codes 2 et 3 sont de longueur variable, les mots de code les plus courts étant réservés aux symboles ayant la plus grande probabilité d’apparaître. Si N est la taille de l’alphabet d’une source discrète X, la quantité moyenne d’information par symbole est l’entropie de la source H ( X ). Celle-ci est maximale lorsque tous les symboles sont équiprobables et vaut dans ce cas log 2 N . Par conséquent, on a toujours : H ( X ) ≤ log 2 N Si la source émet des symboles à une fréquence régulière, par exemple avec une fréquence υ, le débit moyen sera Q = H ( X ) × υ bits/s.
8.14 Codage par plage Dans le codage par plages (run-length coding), on rassemble en paquets les signes si émis qui se suivent et qui sont identiques. Ceci est particulièrement intéressant si l’on veut transmettre un fax en noir et blanc. Il y a beaucoup de symboles blancs qui se suivent. En les regroupant, on peut réduire la taille du message à transmettre. C’est aussi intéressant pour les images.
122
8. Codage source
Il n’y a pas de méthode générale pour le regroupement et ce type de codage est plutôt un pré-encodage dans lequel on prépare le message de la source pour en réduire la taille avant de le coder avec d’autres méthodes. Illustrons cela sur un exemple très simple. Supposons que l’on ait à coder la séquence suivante de 27 chiffres binaires : 101100100011011000000111101 Si l’on définit s1 = 0, s2 = 1, s3 = 11 et s4 = 000, le message devient alors : s 2s 1s 3s 1s 1s 2s 4s 3s 1s 3s 4s 4s 3s 3s 1s 2 On est passé à 16 symboles au lieu de 27. Prenons comme autre exemple une ligne d’une image en noir et blanc dont le code est le suivant : 101000001000000010001010111110000010000000011 Il y a 45 caractères binaires représentant chacun 1 pixel. On a attribué 0 pour un pixel blanc et 1 pour un pixel noir. Si on définit les mots de code suivants : bi = i pixels blancs consécutifs nj = j pixels noirs consécutifs La ligne de code deviendra : n1b1n1b5n1b7n1b3n1b1n1b1n5b5n1b8n2 Ce qui est plus court que le message initial.
8.15 Codage de Shannon-Fano Le codage de Shannon-Fano est un algorithme de compression sans perte. Son principe est de séparer de manière successive le message source en groupes de façon à ce que la somme des probabilités des messages d’un groupe soit aussi voisine que possible que celle des autres groupes. Le processus est le suivant : • classer les différents messages de la source dans l’ordre de probabilités décroissantes ; • diviser l’ensemble des messages en deux sous-ensembles de telle manière que leur probabilité cumulée soit à peu près égale ; • attribuer le chiffre 1 au premier sous-ensemble et 0 au second (ou l’inverse) ; • répéter le processus sur tous les sous-ensembles et s’arrêter lorsque les sousensembles n’ont plus qu’un élément.
123
Énergie, entropie, information, cryptographie et cybersécurité
Prenons un exemple pour illustrer la procédure. Soit une source de sept symboles avec les probabilités indiquées dans le tableau 8.8, déjà classées par ordre décroissant. Tableau 8.8 Symbole
A
B
C
D
E
F
G
Probabilité
0,4
0,2
0,15
0,1
0,05
0,05
0,05
L’entropie de la source est : H = − [0,4 × log 2 0,4 + 0,2 × log 2 0,2 + 0,15 × log 2 0,15] − [0,1 × log 2 0,1 + 3 × 0,05 × log 2 0,05] = 2, 384 bits
Comme il y a N = 7 valeurs pour la source, l’entropie maximale est log 2 7 = 2,81 bits. 2,384 = 0,15 , soit 15 %. La redondance de la source est = 1 − 2,81 Pour un code binaire de longueur fixe n, il faut que 2 n ≥ 7 , soit n = 3. La figure 8.8 montre les codages de Shannon-Fano que l’on peut obtenir.
Figure 8.8
On voit sur cet exemple que l’on peut avoir deux codages de Shannon-Fano différents. Dans le premier cas, on a une longueur moyenne de 2,5 bits et dans le second 2,45 bits.
124
8. Codage source
On aurait pu partir du 0 au lieu de 1 pour les symboles les plus probables, comme on le voit dans l’exemple du tableau 8.9 ci-dessous : Tableau 8.9 Symbole
Probabilité
Cycle 1
Cycle 2
Cycle 3
Code
s1
0,5
0
s2
0,2
1
0
s3
0,2
1
1
0
110
s4
0,1
1
1
1
111
0 10
8.16 Codage de Huffmann Le principe du codage de Huffmann (1952) est de coder les caractères de l’alphabet dont la probabilité est la plus faible avec des mots longs et ceux dont la probabilité est la plus grande avec des mots courts. Ces mots de code seront, pour le cas qui nous intéresse, du binaire, donc une succession de 0 et de 1. Le codage de Huffmann permet d’envoyer des messages plus comprimés que si l’on associe chaque caractère initial à un mot binaire de longueur fixe. Dans la pratique, on procède selon les étapes suivantes : • on classe les différents caractères de la source dans l’ordre de probabilités d’apparition croissante ; • on regroupe les deux caractères de plus faible probabilité en un seul dont la probabilité est la somme des probabilités de chacun d’entre eux ; • on attribue un chiffre, 0 ou 1 selon la branche du graphe ; • on reclasse les probabilités par valeurs croissantes ; • on refait les opérations décrites ci-dessus jusqu’à ce que l’on épuise tous les caractères. Voyons cela sur un exemple concret. On veut transmettre le message « ETEPERETENETETENETE ». C’est un message inintelligible, car il a été crypté. Appliquons le codage de Huffmann. Dans ce message, le E apparaît dix fois, le T cinq fois, le N deux fois et P et R une seule fois (tableau 8.10). Dans la figure 8.9, on classe les lettres selon leur probabilité croissante (haut de la figure). Une fois cela fait, on regroupe le P et le R (deuxième ligne). Tableau 8.10 Caractère
E
T
N
P
R
Fréquence
10
5
2
1
1
125
Énergie, entropie, information, cryptographie et cybersécurité
Figure 8.9
Dans les figures suivantes (8.10, 8.11 et 8.12), le processus de codage est développé.
Figure 8.10
Figure 8.11
126
8. Codage source
Figure 8.12
On aboutit au codage du tableau 8.11 : Tableau 8.11 E
T
N
P
R
1
01
001
0001
0000
La longueur du message codé est de 10 (E) + 10 (T) + 6 (N) + 4 (R) + 4 (P), soit 34 bits pour coder le message. Si l’on avait utilisé un code à longueur fixe, comme l’ASCII par exemple, il aurait fallu 19 × 8 = 152 bits. On a divisé par plus de 4 la longueur du message.
8.17 Pour en savoir plus T. M. Cover et J. A. Thomas, Elements of information theory, 2e édition, John Wiley & Sons, 2006 E. Desurvire, Classical and quantum information theory: An introduction for the telecom scientist, Cambridge University Press, 2009 J. R. Pierce, An introduction to information theory, 2e édition, Dover, 1980 O. Rioul, Théorie de l’information et codage, Lavoisier, 2007
127
9 Codage canal
Avant d’être transmis par le canal, le message a de fortes chances d’être altéré de manière plus ou moins importante à cause de parasites d’origine électrique ou autres. Il est donc nécessaire de prévoir une certaine redondance dans le message ainsi que des procédures pour détecter les erreurs et éventuellement les corriger. C’est l’objectif du codage canal dont nous allons examiner quelques aspects dans ce chapitre.
Alors que le codage source tend à diminuer la place occupée par un message, le codage canal va augmenter celle-ci.
9.1 Matrice canal pour un canal binaire symétrique Un canal de transmission effectue le couplage entre deux alphabets, celui à l’entrée
{xi } et celui à la sortie { yi }. On suppose que cet alphabet est sans mémoire et on va s’intéresser à une transmission binaire où chaque alphabet est {0, 1}.
Si la transmission n’est pas bruitée ou perturbée, il n’y a pas d’erreur de transmission. Si le canal est bruité, un 0 peut donner un 1 et inversement. On a le schéma de la figure 9.1. Pour caractériser les propriétés du canal, on a besoin des probabilités conditionnelles p ( y j xi ), c’est-à-dire des probabilités d’obtenir yj sachant que xi
129
Énergie, entropie, information, cryptographie et cybersécurité
est réalisé. Ceci conduit à introduire la matrice canal ou matrice de transmission suivante : p ( y1 x1 ) p ( y1 x 2 ) P (Y X ) = p ( y 2 x1 ) p ( y 2 x 2 ) Les éléments de la matrice de transition satisfont à : p ( y1 ) = p ( y1 x1 ) p ( x1 ) + p ( y1 x 2 ) p ( x 2 )
p ( y 2 ) = p ( y 2 x1 ) p ( x1 ) + p ( y 2 x 2 ) p ( x 2 ) et
p ( y1 xi ) + p ( y 2 xi ) = 1
Figure 9.1
Les probabilités p ( yi ) sont les probabilités marginales. La matrice de transition permet d’obtenir les p ( yi ) à partir des p ( xi ). p ( y1 ) p ( y1 x1 ) p ( y1 x 2 ) p ( x1 ) p ( y ) = p ( y x ) p ( y x ) p ( x ) 2 2 2 1 2 2 On va considérer un canal symétrique, ce qui veut dire que la matrice de transition est symétrique. S’il n’y a pas de bruit sur le canal, on a :
p ( y j xi ) = δ ij c’est-à-dire p ( y j xi ) = 1 si i = j et p ( y j xi ) = 0 si i ≠ j .=La matrice de transmission est diagonale. Elle vaut : 1 0 P (Y X ) = 0 1
Si le canal est bruité, il y aura des éléments non diagonaux dans la matrice de transition. Si p ( y j ≠i xi ) = ε avec 0 ≤ ε ≤ 1, alors p ( yi xi ) = 1 − ε . La matrice de transition devient : 1−ε ε P (Y X ) = 1 − ε ε
130
9. Codage canal
Si ε est petit, la transmission est bonne et il y a peu d’erreurs. Si ε = 0,5, on est dans le cas où il y a tellement d’erreurs dans la transmission que les symboles 0 ou 1 apparaissent au hasard. Si ε > 0,5, 1 bit a une plus grande chance d’être inversé que d’arriver correctement et pour ε = 1 le bit 0 donne 1 et le bit 1 donne 0.
9.2 Capacité d’un canal Considérons une source S caractérisée par son entropie H (S ) et un débit de symboles par seconde DS. Le taux d’émission moyen T de la source est donné par : T = H (S ) DS Ce taux d’émission est la quantité d’information que la source émet en moyenne par seconde. Si maintenant on veut transmettre cette information via un canal, il faut que celui-ci ait la capacité d’accepter ce débit. On est exactement dans le cas d’un robinet d’eau (source) dont l’eau coule dans une baignoire (qui joue le rôle de buffer) dont l’évacuation (canal) est ouverte. Si le débit du robinet est faible, toute l’eau va s’évacuer immédiatement. S’il est trop fort, le débit d’évacuation n’est pas suffisant et la baignoire va se remplir puis déborder. Pour le cas qui nous intéresse, il y a une source en entrée du canal, X et une source en sortie, Y. Il faut comparer la similitude qui existe entre ces deux sources. Si elles sont identiques, la transmission est parfaite. Pour évaluer la qualité de la transmission, on peut utiliser la quantité d’information mutuelle I ( X , Y ) que nous avons définie précédemment. Elle représente la quantité d’information partagée entre les deux sources. Rappelons qu’elle est définie par : p ( xi , y j ) I ( X , Y ) = I (Y , X ) = ∑ p ( xi , y j ) ln 2 p ( x ) p ( y ) i, j i j
Avec la loi de Bayles, la probabilité conjointe p ( xi , y j ) peut s’écrire : p ( xi , y j ) = p ( y j xi ) p ( xi ) = p ( xi y j ) p ( y j ) Ce qui permet d’écrire I ( X , Y ) comme : p ( xi y j ) I ( X , Y ) = ∑ p ( y j xi ) p ( xi ) ln 2 p ( xi ) i, j Faisant ainsi apparaître les probabilités marginales p ( xi ) qui ne dépendent que de la source et du système de codage utilisé. L’objectif est de rendre maximale l’information partagée entre l’entrée et la sortie du canal. La capacité du canal est définie comme : C = max I ( X ,Y ) Le maximum étant pris pour toutes les sources possibles p ( xi ).
131
Énergie, entropie, information, cryptographie et cybersécurité
Si l’on veut transmettre N symboles, on doit avoir une capacité canal de : C = T = H ( N ) DC = ln 2 ( N ) DC • Si T > C , la transmission de l’intégralité de l’information est impossible (débit du robinet supérieur à l’évacuation). Dans ce cas, il faut changer de type de canal (augmenter le diamètre du tuyau d’évacuation) ou réduire la quantité d’information à transmettre en utilisant un codage ayant une meilleure compression ou avec perte d’information (réduire le débit du robinet d’arrivée). • Si T ≤ C ,=la transmission de l’intégralité de l’information est possible. La transmission par le canal dépend fortement du codage choisi. Un codage utilisant des mots de codes plus longs que nécessaire peut saturer le canal.
9.3 Canal bruité Supposons maintenant, de manière plus générale, que l’on ait en entrée une source X caractérisée par un alphabet {x1 , x 2 ...x N } et que l’on ait en sortie Y, caractérisée par un alphabet { y1 , y 2 ... y N }. Comme pour le cas binaire, le canal bruité est caractérisé par une matrice de perturbations P dont les éléments de matrice sont les probabilités conditionnelles p ( yi xi ) :
[P ]ij = p ( yi x j ) Une bonne transmission nécessite que l’information mutuelle soit maximale. Les différentes entropies permettent de caractériser le canal : • H ( X ) est l’entropie qu’aurait le canal en l’absence de bruit ; • H ( X Y ) représente la perte d’information due au bruit. C’est la quantité d’information non transmise ; • I ( X ,Y ) mesure l’entropie réellement transmise par le canal bruité. L’objectif est de maximiser I ( X ,Y ) .
9.4 Erreurs de transmission Dans une transmission binaire de l’information, les messages sont une succession de 0 et de 1. Des erreurs peuvent se produire lors du processus de transmission et, en sortie de canal, le message peut ne pas être identique à celui qui était en entrée de canal. Lors d’une transmission, on peut avoir le remplacement d’un 0 par 1 ou inversement. Un taux d’erreur de 10–6 avec une connexion de 1 Mo/s donne environ 8 bits erronés par seconde, ce qui est important.
132
9. Codage canal
On peut corriger les erreurs lors de la transmission, comme c’est le cas pour le protocole TCP, par exemple. Il est souvent nécessaire de corriger rapidement les erreurs et donc d’opérer en temps réel dans le cas de support comme les CD et DVD qui peuvent avoir des rayures perturbant leur lecture. Pour éviter les erreurs, on pourrait penser agir sur le canal de transmission pour qu’il soit de meilleure qualité. C’est toutefois difficile et coûteux. De plus, il y aura toujours des erreurs, donc le problème ne sera pas résolu. La stratégie adoptée est donc de détecter et corriger les erreurs en utilisant des codes correcteurs. Il faut néanmoins prendre en compte un certain nombre de contraintes pour leur utilisation pratique qui sont : • un faible coût ; • pas ou une très faible altération de la vitesse de transmission ; • une excellente fiabilité. Une fois l’erreur détectée, on peut : • retransmettre le message, mais ce n’est pas toujours possible et peut générer de nouvelles erreurs ; • corriger l’erreur en utilisant la théorie des codes. Voilà comment peut se glisser une erreur dans la transmission de la séquence binaire suivante : Message original ⇒ 001011001100000001010010010010010010010010011 Message reçu ⇒ 001010001100000101010010011010010010010010111 Les bits modifiés sont indiqués en rouge/gras. Le but de la théorie des codes est de trouver des méthodes de codage permettant de mieux détecter et corriger les erreurs de transmission. Ils appartiennent à deux grandes familles : Les codes détecteurs signalent s’il y a eu une erreur de transmission. Le destinataire peut alors rejeter le symbole altéré et, si le canal est bidirectionnel, il peut envoyer un message à la source pour lui demander une retransmission. Une altération d’un ou plusieurs symboles d’un message ne le rend pas nécessairement illisible. Voyons ceci sur un exemple. Message initial : « On se donne rendez-vous demain à 15h40 au café de la Place. » Message avec erreur : « On se donXe rendXz-voXs demain à 15h40 au café Xe la Place. » Message avec erreur : « On se Xonne rendez-vous demain à 1Xh40 au café de la Place. » Le premier message avec erreur est compréhensible et donne une information exploitable alors que le second, qui contient moins d’erreurs, ne donne pas l’information importante qui est l’heure du rendez-vous. Les codes correcteurs permettent de détecter des erreurs, mais certains sont aussi capables de les corriger avec une bonne efficacité. Ils sont utilisés lors de transmission
133
Énergie, entropie, information, cryptographie et cybersécurité
de données, lors de la lecture de celles-ci (CD ou DVD) ou lors de leur écriture sur un support (CD, DVD, mémoire, etc.). Prenons le cas de la transmission d’un numéro de téléphone par SMS (tableau 9.1). Si l’on tape les chiffres et qu’on se trompe sur l’un d’entre eux, l’information reçue sera complètement erronée et inutilisable. On a codé le numéro de téléphone au plus juste. Si maintenant on transmet ce numéro de téléphone en tapant les mots correspondants (dans un mail par exemple), comme on peut le voir dans le tableau 9.1, le numéro est toujours déchiffrable malgré la présence de plusieurs erreurs. Le texte a permis de mettre un excédent d’information. Tableau 9.1 Message transmis
Message reçu
0612708535
069708525
Zéro six douze sept zéro quatre-vingt-cinq trois cinq Zéro slx doze soicante dix-huit cinq troi cinq
Donc : • Si l’information est concise, elle sera difficile à corriger. • Si l’information est redondante, la détection des erreurs et leur correction sont plus faciles. Parfois, le contexte aide à corriger les erreurs. Pour introduire de la redondance au téléphone ou à la radio, on peut procéder de la manière suivante : • on répète le numéro ; • pour un nom propre, on épèle le mot en utilisant disant par exemple « A comme Antoine, B comme Brigitte, etc. » ; • en radio, on peut utiliser l’alphabet universel (Alpha, Bravo, Charlie, Delta, etc.).
9.5 L’opérateur XOR Quand on s’intéresse au codage binaire, on part d’un message source de n bits qui est en général la traduction brute d’un message – qui peut par exemple être alphanumérique – et on génère un message de m bits (m ≥ n) pour gérer les erreurs qui peuvent se produire lors de la transmission. L’algèbre booléenne est très utilisée dans le traitement des données binaires, en particulier l’opérateur XOR (⊕) pour le codage et la correction d’erreurs. Les opérations de base sont les suivantes : 0 ⊕ 0 = 0 0 ⊕ 1 = 1 1 ⊕ 0 =1 1 ⊕ 1 = 0
134
9. Codage canal
XOR effectue une addition sans retenue ou addition modulo 2. Les propriétés générales de l’opérateur ⊕ sont les suivantes : a ⊕ b = b ⊕ a a ⊕ (b ⊕ c ) = (a ⊕ b ) ⊕ c a ⊕ 0 = a a ⊕ a = 0 a ⊕b = c
⇔ a ⊕c =b ⇔ b ⊕c = a
exemple : si a = 1 et b = 0 ⊕ 1 = 0 (b = 0) et 0 ⊕ 1 = 1 (a ) 1 ⊕ 0 = 1 (c = 1) 1 Considérons deux nombres binaires a = a1a2…an et b = b1b2…bn. La somme modulo 2 est le mot binaire dans lequel on fait pour le bit i : ai ⊕ bi. a = 001101011001 b = 010100110011 ---------------------------a ⊕ b = 011001101010 Le poids W d’un mot binaire est le nombre de bits égaux à 1. Par exemple W (011001101010) = 6 a ⊕ b indique les endroits où a et b diffèrent. Le poids W (a ⊕ b ) indique le nombre de différences entre a et b.
9.6 Redondance par itération Une manière simple, mais coûteuse de prévenir les erreurs est de transmettre plusieurs fois le même message. Par exemple si on veut envoyer 0100110, on peut envoyer trois fois ce mot : 0100110 0100110 0100110. Si par exemple on reçoit deux mots identiques et que le troisième est différent, il y a une forte probabilité pour que le message exact soit celui donné par les deux mots identiques. C’est cette méthode qui est utilisée quand on donne son numéro de téléphone. On le répète pour que l’interlocuteur vérifie qu’il a bien noté les bons chiffres.
9.7 Contrôle de parité Le contrôle de parité consiste à ajouter à n bits (mot de code) 1 bit supplémentaire indiquant la parité des n bits. Dans le cas du choix d’une parité paire, le bit ajouté
135
Énergie, entropie, information, cryptographie et cybersécurité
est choisi de telle manière que la somme totale des bits soit paire. Dans le cas du choix d’une parité impaire, c’est le contraire. Nous allons considérer ici un contrôle de parité paire. Une autre façon de présenter les choses est de dire que lorsque le nombre de bits 1 dans le mot de code est pair, on met 0 dans le bit de parité et 1 lorsque le nombre de bits à 1 dans le mot de code est impair. Le contrôle de parité est aussi appelé VRC (Vertical Redundancy Check ou Vertical Redundancy Checking). Voyons ceci sur un exemple. Nous allons considérer un mot de code de 7 bits, auquel on ajoute 1 bit de parité pour obtenir 1 octet, qui est la structure de base utilisée dans les ordinateurs modernes 10. Prenons deux mots de code différents (tableau 9.2) : Tableau 9.2 Mot A
1
0
1
0
0
1
1
Mot B
0
1
1
0
1
0
0
Le bit de parité sera de 0 pour le mot A et de 1 pour le mot B, ce qui donne le tableau 9.3. Tableau 9.3 Mot A
1
0
1
0
0
1
1
0
Mot B
0
1
1
0
1
0
0
1
Le message envoyé par le codeur inclura le bit de parité. À la sortie du canal, le décodeur effectue un test de parité du mot reçu. Nous avons mis le bit de parité à droite des autres bits, mais on peut tout aussi bien le mettre à gauche. Il suffit que l’émetteur et le destinataire se soient entendus sur le choix. Si l’on reçoit (tableau 9.4) : Tableau 9.4 Mot A
1
0
1
0
0
1
1
0
Mot B
0
1
1
0
0
0
0
1
10. Les ordinateurs font leurs opérations sur des octets. Les ordinateurs UNIVAC travaillaient par exemple avec des mots de 9 bits au lieu des 8 bits (octets) utilisés par IBM. Cela présentait parfois des avantages. En effet, un nombre réel (REAL, simple précision) est codé avec 4 octets, soit 32 bits, alors que chez UNIVAC il était codé avec 36 bits. Un calcul numérique effectué avec 36 bits est plus précis qu’avec 32 bits. Dans certains cas, il était possible de faire les calculs en simple précision avec un UNIVAC alors qu’il fallait travailler en double précision avec IBM (64 bits, 8 octets).
136
9. Codage canal
On voit que le mot A est sans doute correct, mais pas le mot B. Si le canal est bidirectionnel, on peut demander à l’émetteur de renouveler l’envoi, sinon le message est rejeté. Avec le contrôle de parité, on peut détecter une erreur, mais pas la corriger. De plus, s’il y a deux erreurs, comme c’est le cas pour la deuxième ligne du tableau 9.5, le message apparaîtra comme correct alors qu’il est faux. Tableau 9.5 Mot envoyé
0
1
1
0
1
0
0
1
Mot B reçu
0
1
1
0
0
0
0
0
Mot B reçu
1
1
1
0
0
1
1
1
Le système de contrôle de parité ne permet de détecter qu’un nombre impair d’erreurs et ne les corrige pas. Le code ASCII, très utilisé en informatique, est un code de longueur fixe sur 7 bits auxquels on peut ajouter 1 bit de parité. Voici un exemple dans lequel les deux conventions de parité sont utilisées (tableau 9.6) : Tableau 9.6 Lettre
Code ASCII
Parité paire
Parité impaire
O
1001111
10011111
10011110
U
1010101
10101010
10101011
I
1001001
10010011
10010010
Le contrôle de parité croisé ou LRC (Longitudinal Redundancy Check) consiste à ne pas seulement contrôler un caractère (plusieurs bits), mais un bloc de caractères dans deux dimensions. Ceci est illustré sur l’exemple ci-dessous dans le cas d’un choix de parité paire dans le tableau 9.7. Tableau 9.7 Lettre
Code ASCII
LRC
O
1001111
1
U
1010101
0
I
1001001
1
VRC
1010011
137
Énergie, entropie, information, cryptographie et cybersécurité
9.8 Polynômes modulo 2 À un nombre binaire a0a1…ak−1ak constitué de k chiffres ai = 0 ou 1 (a0 ≠ 0), on peut associer un polynôme de la forme : a0xk + a1xk−1 + … + ak−1x + ak Où x est la variable et ai les coefficients du polynôme. Ce type de polynôme, où les coefficients sont définis modulo 2, est utilisé dans le domaine du codage des erreurs comme nous le verrons dans la section suivante. On peut définir des opérations élémentaires (addition, soustraction, multiplication et division) entre deux polynômes en effectuant des opérations modulo 2. Soit par exemple : P1 = x3 + x + 1 et P2 = x2 + x P1 + P2 = x3 + x2 + 1 Le schéma de l’addition est indiqué dans la figure 9.2.
Figure 9.2
Si l’on n’avait pas effectué l’addition modulo 2, on aurait trouvé : P1 + P2 = x3 + x2 + 2x + 1 Mais ( x 3 + x 2 + 2 x + 1) mod 2 = x 3 + x 2 + 1 Pour la multiplication, on a : P1 × P2 = x5 + x4 + x3 + x Le principe est indiqué sur la figure 9.3.
Figure 9.3
138
9. Codage canal
Si l’on n’avait pas effectué la multiplication modulo 2, on aurait trouvé : P1 × P2 = x5 + x4 + x3 + 2x2 + x Mais ( x 5 + x 4 + x 3 + 2 x 2 + x ) mod 2 = x 5 + x 4 + x 3 + x Pour la division, on procède comme la figure 9.4. On obtient : P Reste 1 = 1 P2
–
Figure 9.4
Si l’on avait effectué la division normale des deux polynômes, on aurait trouvé : P1 = ( x 2 + x ) ( x − 1) + 2 x + 1, mais 2x + 1 mod 2 = 1 P2
9.9 Les codes cycliques (CRC) Le code CRC (code de redondance cyclique ou Cyclic Redundancy Check) est la principale méthode utilisée pour contrôler l’intégrité des données dans les télécommunications. Le principe est de travailler sur des trames (frames en anglais) qui sont des groupes de bits. Cette méthode permet de détecter des erreurs. Ils sont faciles à mettre en œuvre au niveau matériel. Le code CRC utilise un polynôme générateur G ( x ) et considère que toute information de n bits (trame) peut être écrite sous forme polynomiale. Par exemple, à 10101 on peut associer le polynôme : 1 × x4 + 0 × x3 + 1 × x2 + 0 × x1 + 1 × x0 = x4 + x2 + x0 L’algorithme CRC permet de déterminer le code qu’il faudra concaténer à la trame originale avant de la transmettre au canal. Pour cela, on procède de la manière suivante : • on détermine le polynôme M ( x ) associé à la trame ; • on multiplie M ( x ) par xr où r est le degré du polynôme générateur G ( x ) ;
139
Énergie, entropie, information, cryptographie et cybersécurité
• on calcule le reste R ( x ) de la division du polynôme M ( x ) × x r par G ( x ) modulo 2 ; • le mot de code est alors M ( x ) × x r + R ( x ) (concaténation) que l’on transmet. Pour le décodage, on procède de la manière suivante : • on détermine le polynôme M ′ ( x ) associé à la trame reçue ; • on calcule reste R ′ ( x ) de la division du polynôme M ′ ( x ) par G ( x ) ; • si R ′ ( x ) = 0, il n’y a pas d’erreur. Si R ′ ( x ) ≠ 0, il y a erreur et on demande la retransmission du message.
Exemple 1 Votons ceci sur un exemple très simple. On veut coder le message M = 10110 avec le polynôme générateur : G (x ) = x 2 + 1 Le polynôme associé au message est : M (x ) = x 4 + x 2 + x On a :
x 2 M (x ) = x 6 + x 4 + x 2
La division de x 2 M ( x ) par G ( x ) donne − x c’est-à-dire x modulo 2. Le monôme x correspond à 10. Le message à envoyer est donc 1011010 Le destinataire du message associe à celui-ci le polynôme : x6 + x4 + x3 + x Il vérifie que le reste de la division par G ( x ) est 0, sinon cela veut dire qu’il y a une erreur et le contenu du message reçu doit être rejeté.
Exemple 2 Prenons comme autre exemple le message de 10 bits suivant : M = 1101011011 Avec le polynôme générateur G ( x ) = x 4 + x + 1, qui correspond à 10011, le polynôme associé au message est : M (x ) = x 9 + x 8 + x 6 + x 4 + x 3 + x + 1 Multiplier par x4 revient à ajouter 4 bits à M → M ′ , ce qui donne au niveau polynomial : x 4 M ( x ) = x 13 + x 12 + x 10 + x 8 + x 7 + x 5 + x 4
140
9. Codage canal
Le reste de la division de x 4 M ( x ) par G ( x ) est : − 3x2 − 5x2 − 3x Ce qui donne modulo 2
(−3 x 2 − 5x 2 − 3 x ) mod 2 = x 3 + x 2 + x Les 4 bits supplémentaires qui constituent le code CRC sont donc : 1110 Le message à transmettre est : 11010110111110 Le destinataire l’associera au polynôme : x13 + x12 + x10 + x8 + x7 + x5 + x4 + x3 + x2 + x Il vérifiera que le reste de la division de ce polynôme par G ( x ) est nul. Le reste de la division est en effet − 2x3 − 4x2 − 2x, ce qui donne 0 modulo 2. On peut aussi obtenir le reste de la division comme indiqué sur la figure 9.5. Cette méthode est plus simple à mettre en œuvre que la division explicite de polynômes.
Figure 9.5
141
Énergie, entropie, information, cryptographie et cybersécurité
Le reste est 1110 et la trame à transmettre est donc : 11010110111110 Comme on l’a trouvé plus haut. Parmi les polynômes employés, citons-en deux : CRC-16 : x16 + x15 + x2 + 1 CRC-32 (Ethernet) : x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1
9.10 Distance de Hamming Le poids de Hamming WH d’un nombre binaire est le nombre de bits non nuls. Par exemple : W H (10001) = 2 ; W H (00000) = 0 ; W H (11111) = 5 La distance de Hamming dH entre deux nombres binaires de même longueur est égale au nombre de bits différents entre ces deux mots. Par exemple : d H (10110, 10010) = 1 bit d H (1010, 0101) = 4 bits d H (10, 100) ne peut être définie (les mots n’ont pas la même longueur) La distance de Hamming est une distance au sens mathématique du terme, car ∀a, b , elle satisfait : d H ( a, b ) = d H (b, a ) (symétrie) d H ( a, b ) ≥ 0 (positivité) d H ( a, b ) = 0 ⇔ a = b d H ( a, c ) ≥ d H ( a, b ) + d H (b, c ) (inégalité du triangle) La distance de Hamming de deux nombres binaires est égale au poids de leur somme modulo 2 (OU exclusif [XOR]) : d H (u1 , u2 ) = W H (u1 ⊕ u2 ) Par exemple : d H (10010, 01010) = 2 W H (10010 ⊕ 01010) = W H (11000) = 2
142
9. Codage canal
Considérons les quatre mots de code suivants à transmettre par le canal : c1 = 00000 c2 = 01110 c3 = 10101 c4 = 11011 La distance de Hamming entre ces mots est donnée pour chaque couple dans le tableau 9.8 : Tableau 9.8 c1
c2
c3
c4
c1
0
3
3
4
c2
3
0
4
3
c3
3
4
0
3
c4
4
3
3
0
On voit, à partir du tableau 9.8, que la distance minimale de Hamming est dH = 3 bits. Supposons maintenant que le message reçu soit 01100. Alors les distances de Hamming sont les suivantes : d H (00000, 01100) = 2 bits d H (01110, 01100) = 1 bit d H (10101, 01100) = 3 bits d H (11011, 01100) = 4 bits On va prendre pour le mot exact c2 qui est à une distance de Hamming de 1 bit. S’il y avait eu 2 bits d’erreur, et que c1 soit le bon code, on n’aurait pas bien corrigé l’erreur et le résultat de la transmission aurait été faux. De manière générale, un code binaire de distance minimale de Hamming dH permet : • si dH = 2ne de détecter ne erreurs et d’en corriger ne − 1 ; • si dH = 2ne + 1 de détecter et de corriger ne erreurs. d H −1 erreurs. 2 Dans l’exemple ci-dessus, dH = 3, donc on peut corriger 1 erreur.
On peut donc en général corriger
143
Énergie, entropie, information, cryptographie et cybersécurité
9.11 Code de Hamming : exemple Le principe du code de Hamming est d’introduire des bits supplémentaires par rapport à ceux qui sont nécessaires à la transmission du message. Le but est de pouvoir détecter une erreur lorsqu’elle ne porte que sur un seul bit, et de corriger celle-ci. On peut expliciter ce mécanisme sur un exemple. Nous verrons dans la prochaine section une représentation plus générale de ce codage. Nous avons choisi pour cela l’exemple présenté dans la vidéo suivante : https://www.youtube.com/watch?v=373FUw-2U2k Nous conseillons vivement au lecteur de la regarder, car elle est d’excellente qualité et explicite ce qui va être donné ci-dessous sous forme résumée. Supposons que l’on veuille coder le mot 10011010 (figure 9.6). Cela correspond à 8 bits. Pour pouvoir détecter et corriger une erreur, on ajoute des bits redondants qui vont jouer le rôle de bit de parité. Leur position sera une puissance de 2, donc 1, 2, 4, 8, 16…
Figure 9.6
On va coder le message sur 12 bits, 8 étant réservés au message et 4 aux bits de parité. Chacun de ces bits va calculer la parité d’un certain nombre de bits. Le bit 1 (p1) va tester la parité des bits impairs du mot que l’on veut transmettre. Il s’agit des bits 1, 3, 5, 7, 9, 11… c’est-à-dire les bits d3, d5, d7, d9 et d11. Le bit p1 est pour l’exemple qui nous intéresse égal à 0 puisqu’il y a un nombre pair de 1. Le bit 2 (p2) contrôle la parité de l’ensemble des bits à partir de 2 groupés deux par deux tous les deux bits. Pour cela, il considère 2 bits (2 et 3), en saute 2, prend en
144
9. Codage canal
compte les deux suivants (6 et 7), en saute 2, etc. Il s’agit donc des bits 2, 3, 6, 7, 10, 11… soit les bits d3, d6, d7, d10 et d11. Dans l’exemple choisi, il y a 3 bits à 1, donc on met 1 pour le bit p2. Le bit p4 contrôle la parité de l’ensemble formé par 4 bits consécutifs, en saute 4, considère les quatre suivants, etc. Ce sont donc les bits 4, 5, 6, 7, 12, 13, 14, 15… soit d5, d6, d7 et d12. Il y a 1 bit à 1, donc le bit p4 est à 1. Le bit p8 contrôle la parité de 8 bits, en saute 8, etc. Donc 8, 9, 10, 11, 12… Soit d9, d10, d11 et d12. Il y a 2 bits à 1, donc le bit p8 est à 0. Supposons maintenant qu’il y ait une différence entre le code émis et le code reçu (figure 9.7). Le bit d10 a basculé de 0 à 1. Les bits de parité p1 et p4 sont corrects, mais pas p2 et p8. Le message reçu a donc une erreur. Le bit incriminé est le bit 2 + 8 = 10.
Figure 9.7
9.12 Code de Hamming et diagrammes de Venn Après cet exemple particulier, voyons maintenant une approche utilisant les diagrammes de Venn. Le codage de Hamming est basé sur une redondance des bits qui va permettre de repérer des erreurs et les corriger. Cette méthode permet la correction d’une erreur de transmission sur 1 bit tout en donnant une interprétation géométrique du codage de Hamming. Prenons pour exemple un message de 4 bits 1101 = m1m2m3m4, que l’on veut transmettre en utilisant ma méthode de Hamming. Celle-ci consiste à ajouter 3 bits de parité p1p2p3 que l’on va définir. Au total, 7 bits seront envoyés dans l’ordre suivant : p1p2m1p3m2m3m4 On va utiliser un diagramme de Venn constitué de trois cercles ayant les parties communes indiquées sur la figure 9.8. La partie (A) de la figure montre quelles sont les parties attribuées aux bits m1m2m3m4. La partie (B) donne explicitement la valeur des bits. Les bits de parité p1p2p3 sont positionnés comme indiqué en (C).
145
Énergie, entropie, information, cryptographie et cybersécurité
Ils sont définis de telle manière que la somme dans chaque cercle soit un nombre pair. Cela donne p1 = 1, p2 = 0, p3 = 0.
Figure 9.8
Le message envoyé sera donc 1010101. Supposons que le message reçu soit 1010001. Il suffit de faire un contrôle de parité sur chacun des cercles (figure 9.9). Lors de l’analyse, on voit que le cercle vert/gris clair donne un contrôle correct de la parité alors que pour les deux cercles rouges/gris foncés ce n’est pas correct. On voit aussi que l’erreur se localise sur m2.
Figure 9.9
9.13 Pour en savoir plus T. M. Cover et J. A. Thomas, Elements of information theory, 2e édition, John Wiley & Sons, 2006 E. Desurvire, Classical and quantum information theory: An introduction for the telecom scientist, Cambridge University Press, 2009 J. R. Pierce, An introduction to information theory, 2e édition, Dover, 1980 O. Rioul, Théorie de l’information et codage, Lavoisier, 2007
146
10 Cryptologie
Les correspondances privées ou professionnelles doivent rester confidentielles. Elles doivent donc être cryptées lorsqu’elles sont échangées. Il en est de même pour tout autre échange d’information dont on souhaite assurer la confidentialité. C’est par exemple le cas de transfert de fichiers confidentiels ou d’informations bancaires lors d’un achat sur internet. La cryptologie comprend d’une part la cryptographie qui permet de rendre des messages aussi inviolables que possible et la cryptanalyse dont le but est de les déchiffrer, soit pour en prendre connaissance de manière illégale, soit pour tester la robustesse d’un cryptage. Ce chapitre est une courte introduction au sujet.
De tout temps, les individus ont souhaité se transmettre des informations de manière secrète pour que d’autres personnes n’en aient pas connaissance. Ils ont employé des moyens plus ou moins sophistiqués pour le faire. Par ailleurs, certains individus ont tout intérêt à connaître le contenu d’une information transmise entre deux personnes et utilisent différentes méthodes pour arriver à leurs fins. Ainsi, dans l’Antiquité, les Grecs rasaient la tête d’un messager, écrivaient un message sur son crâne et attendaient que les cheveux aient repoussé avant de l’envoyer porter ce message à son destinataire.
147
Énergie, entropie, information, cryptographie et cybersécurité
10.1 Cryptographie et cryptanalyse La cryptologie regroupe l’ensemble des techniques qui permettent, d’une part de dissimuler le contenu d’un message en le codant afin que seul le destinataire soit capable d’en prendre connaissance en le déchiffrant, d’autre part de décrypter un message destiné à une autre personne. La cryptologie se scinde ainsi en deux sousdomaines : la cryptographie qui étudie et conçoit des procédés de chiffrement aussi inviolables que possible et la cryptanalyse qui a pour but de déchiffrer des informations dissimulées dans un message crypté. La cryptographie représente le côté défensif de la cryptologie (on protège une information) et la cryptanalyse le côté offensif de celle-ci, puisque l’on essaie de décrypter un message chiffré pour l’avoir en clair (on essaie de casser le code). Ces deux aspects sont néanmoins très liés puisque pour tester si un message codé est inviolable sans en avoir la clef, il faut essayer de le déchiffrer. On fait donc de la cryptanalyse. D’autre part, les performances en cryptanalyse à un moment donné conduisent la cryptographie à imaginer de nouvelles techniques pour que l’on ne casse pas facilement le code utilisé. Toutefois, lorsque l’on crypte un message, il faut que le destinataire légal puisse le déchiffrer rapidement. Pour résumer, la cryptographie permet de transformer un message clair en message inintelligible (texte crypté) et la cryptanalyse permet de retrouver le texte clair à partir du texte crypté sans en posséder la clef. Deux voies sont donc à considérer lorsque l’on considère un message chiffré. Le déchiffrement qui permet au destinataire d’un message codé de rapidement retrouver le message en clair en utilisant la clef de déchiffrement et le décryptement où un ennemi qui ne connaît pas la clef essaie de décrypter le message. Longtemps réservée aux militaires et diplomates, la cryptographie est longtemps restée un monopole d’État. En France, les moyens de cryptographie ont été considérés comme arme de guerre et interdits jusqu’en 1998. La législation s’est ensuite assouplie et permettait de chiffrer, sans déclaration, des messages avec des clefs de 128 bits au maximum. Depuis 2004, la loi du 21 juin pour la confiance dans l’économie numérique a autorisé l’utilisation de moyens de cryptographie. Le but est de garantir la sécurité du stockage des données et de leur transmission en assurant leur confidentialité, leur authentification et leur intégrité. Néanmoins, pour l’importation ou l’exportation, leur utilisation est soumise à déclaration ou autorisation. La raison de ce changement est que sans cryptographie, toute économie numérique serait impossible. Ainsi, il ne serait pas possible d’acheter de façon sûre un objet ou un service sur internet si les données bancaires ou de carte bleue étaient transmises en clair sur le réseau.
10.2 Principaux problèmes posés Les méthodes de cryptographie interviennent dans de nombreux domaines qui mettent en jeu un échange d’information entre deux interlocuteurs qui peuvent être des personnes physiques, morales ou des dispositifs électroniques. Les principaux problèmes posés sont indiqués dans la figure 10.1.
148
10. Cryptologie
Figure 10.1
Le contenu d’un message ne doit pas être lu par tout le monde (confidentialité). Le message ne doit pas avoir été altéré lors de sa transmission (intégrité) et on doit être sûr de son origine (authenticité). Lorsque l’on reçoit un message, même s’il est identique à celui qui a été émis, il faut être sûr qu’il n’a pas été intercepté et lu (nonclonage). Enfin, lorsque c’est moi qui envoie un message, il ne faut pas que plus tard je nie l’avoir envoyé (non-répudiation). Pour répondre à ces conditions, on utilise des méthodes mathématiques et des algorithmes sophistiqués.
10.3 Les principes de Kerckhoffs Pendant longtemps, on a, en cryptographie, caché l’algorithme utilisé. C’est par exemple le cas du chiffre de César que l’on peut facilement décoder si on connaît la méthode utilisée. C’est aussi le cas des Grecs qui rasaient le crâne du messager, inscrivaient le message sur celui-ci et laissaient repousser les cheveux avant de l’envoyer porter le message. Pour ces deux exemples, si l’on connaît la méthode employée, il est facile de déchiffrer le message. Si on ne connaît pas l’algorithme propriétaire utilisé, il fort possible qu’on pourra décrypter le message, car il y aura très certainement des failles qui auront été laissées par les concepteurs. L’avantage de mettre l’algorithme dans le domaine public est de permettre à de nombreuses personnes d’essayer de le déchiffrer, ce qui permet de voir si cela est possible et donc de l’améliorer si c’est le cas, sauf bien sûr si celui qui a cassé le code ne le dit pas. C’est ce qui s’est produit avec la machine Enigma de l’armée allemande, dont les messages codés par celle-ci ont été cassés par les Britanniques, notamment grâce à Alan Turing.
149
Énergie, entropie, information, cryptographie et cybersécurité
Il est donc préférable qu’un algorithme soit public plutôt que propriétaire, car cela permet d’avoir une meilleure sécurité. Par exemple, les algorithmes de chiffrement propriétaires comme celui du GSM (chiffrement A5/0 et A5/1) ou celui de protection contre la copie des des DVD (CSS, Content Scrambling System) ont été cassés quelques semaines après leur mise en service. En 1883, Auguste Kerckhoffs a publié un article qui a jeté les bases de la cryptographie moderne lorsque celle-ci est utilisée à grande échelle (armée, diplomates, etc.). Il proposait six principes que devait satisfaire un système cryptographique. On peut les résumer comme suit : 1. 2. 3. 4. 5. 6.
Le système doit être matériellement ou mathématiquement indéchiffrable. Il ne doit pas exiger de secret et peut tomber entre les mains de l’ennemi. La clef doit pouvoir être retenue facilement. Il faut qu’il soit applicable à la correspondance télégraphique. Il doit être portatif et ne pas nécessiter plusieurs personnes pour le mettre en œuvre. Le système doit être facile à utiliser.
Ces principes sont dans leur ensemble toujours valables aujourd’hui, même s’ils doivent être adaptés aux technologies actuelles. L’ordinateur représente une rupture importante pour la cryptographie et les principes de Kerckhoffs peuvent aujourd’hui se traduire par les trois principes suivants : 1. La sécurité du système cryptographique doit reposer sur le secret de la clef et non sur celui de l’algorithme. 2. Le déchiffrement sans la clef doit être impossible avec les moyens du moment, car nécessitant des temps astronomiques. 3. Si l’on connaît le message en clair et le message crypté, il ne doit pas être possible d’en extraire la clef en un temps raisonnable.
10.4 Congruence La congruence d’entiers est une notion largement utilisée en cryptographie. Il s’agit d’une relation qui relie deux nombres entiers. Considérons deux nombres entiers relatifs a, b et un nombre entier n ≥ 2. On dit que a est congru à b modulo n, si n divise la différence b − a. On note cette propriété a ≡ b (mod n) Si par exemple n = 26 (le nombre de lettres de l’alphabet), on a 31 ≡ 5 (mod 26) , car 31 – 5 = 26 est divisible par 26. Si l’on prend le nombre 157, on a 157 ≡ 1 (mod 26). On a aussi −2 ≡ 24 (mod 26), car 24 + 2 est divisible par 26. Dans le premier cas, on pouvait écrire 31 = 26 + 5, dans le second 157 = 6 × 26 + 1 et dans le troisième −2 = 24 − 26.
150
10. Cryptologie
L’ensemble des entiers relatifs est Z. Celui des de tous les éléments de Z modulo 26 est noté Z/26Z. Il contient 26 éléments {0,1, 2,... 25}.
Dans le cas général, Z/nZ contient n éléments. On représente ainsi chaque nombre entier relatif par un nombre ∈ {0,1, 2,... n − 1}. Tout nombre a ∈ est donc représenté par un nombre r ∈ {0,1, 2,... n − 1} qui est le reste de la division euclidienne de a par n, c’est-à-dire : a = dn + r. On a donc a ≡ r (mod n) avec 0 ≤ r < n. Par exemple : 3127=18482713582824035358817658752815923791711≡21 mod 26. On peut définir les opérations d’addition et de multiplication dans Z/nZ. Voici quelques exemples dans Z/26Z. Addition 19 + 17 = 36 ≡ 10 (mod 26) . Pour l’addition : 75 + 27 = 102 ≡ 24 (mod 26). On peut aussi calculer le résultat d’une autre manière. On a 75 ≡ 23 (mod 26) et 27 ≡ 1 (mod 26) . Donc le résultat de l’addition peut aussi s’écrire 75 + 27 ≡ 23 + 1 = 24. Multiplication Par exemple : 27 × 31 = 837 = 32 × 26 + 5 ≡ 5 On aurait pu procéder autrement. 27 ≡ 1 et 31 ≡ 5 . Donc 27 × 31 ≡ 1 × 5 = 5 . Car : Si a ≡ b mod n et c ≡ d mod n Alors ac ≡ bd mod n Il y a donc compatibilité entre les opérations d’addition et de multiplication des entiers et celles des entiers modulaires. Soustraction 1226 − 773 = 450 ≡ 8 mod 26 Ou 1223 ≡ 1 mod 26 et 773 ≡ 19 mod 26 1223 − 773 = 1 − 19 = −18 ≡ 8 mod 26 Division 151 26 × 5 + 21 151 = . Donc ≡ 21 mod 26 27 26 + 1 27 Ou 151 ≡ 21 mod 26 et 27 ≡ 1 mod 26 151 21 ≡ = 21 mod 26 Donc 27 1 Les cas suivants sont plus difficiles. 1 Par exemple, ≡ 4 mod 7 . En effet, il faut comprendre comment trouver le 2 nombre a, tel que 2a = 1 mod 7. Dans ce cas, on trouve a = 4.
151
Énergie, entropie, information, cryptographie et cybersécurité
Mais le plus simple est d’utiliser la table de multiplication modulo 7. Elle est indiquée dans le tableau 10.1. Tableau 10.1 ×
0
1
2
3
4
5
6
0
0
0
0
0
0
0
0
1
0
1
2
3
4
5
6
2
0
2
4
6
1
3
5
3
0
3
6
2
5
1
4
4
0
4
1
5
2
6
3
5
0
5
3
1
6
4
2
6
0
6
5
4
3
2
1
1 En utilisant cette table, on voit que ≡ 2 mod 7 . 4 2 De même ≡ 3 mod 7 . Pour trouver cela, il faut chercher le nombre entier a, tel 3 que 3a ≡ 2 mod 7 . C’est le nombre entier compris entre 0 et 6 qui divise exactement l’un des nombres suivants : 9, 16, 23, etc. Le premier qui satisfait cette condition est a = 3. On a bien 9 ≡ 2 mod 7. On peut également directement lire le résultat grâce au tableau 10.1. En effet, sur la ligne 3 il n’y a que 3 qui donne la valeur 2. 1 On peut également montrer que ≡ 6 mod 7. Il faut chercher a tel que 6a ≡ 1 mod 7. 6 Pour cela, on cherche le nombre entier qui divise exactement par 6 les nombres sui36 a = 6. On vants : 8, 15, 22, 29, 36, etc. On voit que le nombre 36 fait l’affaire et= 6 peut aussi utiliser la table de multiplication du tableau 10.1. Il faut noter que l’inverse n’existe pas toujours. Ceci est illustré par la table de multiplication modulo 6 du tableau 10.2. Tableau 10.2
152
×
0
1
2
3
4
5
0
0
0
0
0
0
0
1
0
1
2
3
4
5
2
0
2
4
0
2
4
3
0
3
0
3
0
3
4
0
4
2
0
4
2
5
0
5
4
3
2
1
10. Cryptologie
On voit alors sur la table de multiplication que : 2−1 ; 3−1 et 4−1 n’ont pas d’inverse (mod 6) et que 5−1 ≡ 5 (mod 6). Puissance On peut montrer par récurrence que : Si a ≡ b alors a p ≡ b p pour tout p qui est un entier naturel non nul. Nous avons vu plus haut que 31 ≡ 5 mod 26. Si on veut calculer 3127 mod 26, il suffit de calculer 527 mod 26. On a : 527 = 7450580596923828125 ≡ 21 mod 26. Une autre manière de faire si l’on ne veut pas traiter des nombres comportant un grand nombre de chiffres est de procéder comme ci-dessous : 3127 ≡ 527 ≡ (53 ) ≡ 219 ≡ (213 ) ≡ 53 ≡ 21 mod 26 9
3
Si l’on veut calculer 53143 mod 26, ce qui correspond au nombre suivant : 372777209417618919610982765084513544028293043066884835589830684 971989387968343583202647562476655855402077155275015288270533854 013755250955387400134434823244360647248781473270827505487632952 2475670486744358701369860121613663339440234506350490688477 la tâche est plutôt difficile. Mais si on remarque que 53 ≡ 1 mod 26, alors il suffit de calculer 1143 = 1 ≡ 1 mod 26.
10.5 Le chiffre de César On dit que César (Cæsar) a utilisé un protocole de chiffrage pour transmettre des messages à ses armées. Le chiffrement de César est un décalage de trois lettres, comme il est indiqué dans la figure 10.2. Ainsi le A devient D, le B devient E, etc. Dans la figure 10.2, on donne un exemple de chiffrement de César avec la phrase « LE CHIFFRE DE CESAR EST TRES FACILE A DECODER ». La phrase cryptée est facilement décryptée si l’on connaît la valeur du décalage, ici trois dans le cas du chiffre de César.
Figure 10.2
153
Énergie, entropie, information, cryptographie et cybersécurité
On trouve sur internet plusieurs sites permettant de crypter et décrypter des messages en utilisant le principe du chiffrement de César. Il suffit de taper « codage de césar » dans Google. Le décalage peut être différent de trois. On peut choisir toutes les valeurs comprises entre 0 et 25. La valeur 0 n’a pas grand intérêt puisque le message crypté est identique au message original. On peut également ajouter des symboles à l’alphabet, comme l’espace, le point, la virgule ou le point d’interrogation. Il est alors commode d’avoir une représentation circulaire de l’alphabet, comme le montre la figure 10.3, car on peut réaliser deux roues concentriques pouvant tourner indépendamment. La roue extérieure contient l’alphabet et la roue intérieure le chiffrement correspondant. Dans l’exemple de la figure 10.3, il y a un décalage de trois symboles entre les deux roues. A donne D et Z donne la virgule, par exemple. En faisant tourner une des roues par rapport à l’autre, on peut générer l’ensemble des décalages possibles. Le chiffrement de César et ceux qui en dérivent sont des chiffrements mono-alphabétiques, c’est-à-dire qu’à une lettre correspond toujours la même lettre (ou symbole) chiffrée.
Figure 10.3
Il est plus commode d’associer à chaque lettre un nombre, comme il est indiqué dans le bas de la figure 10.2, car on peut utiliser un ordinateur pour calculer le message chiffré. Le chiffrement de type César avec un décalage k (le chiffrement de César correspond à k = 3) est une application, Ck, de Z/26Z dans Z/26Z qui fait correspondre
154
10. Cryptologie
à x x + k . Cette opération, faite dans Z/26Z, revient à calculer x + k (mod 26) . Pour k = 3 on a C 3 (0) = 3 et C 3 (24) = 1. La fonction de déchiffrement Dk vaut simplement : Dk = x − k .
On a ∀x , Dk (C k ( x )) = x . La fonction Dk est la fonction réciproque (ou inverse) de Ck. Pour se transmettre un message, les deux interlocuteurs doivent connaître la clef k. Il existe 26 valeurs possibles de k, mais seulement 25 sont intéressantes. La sécurité d’un tel chiffrement est très faible. Avec un ordinateur, il suffit par exemple d’essayer les 25 clefs possibles et de voir si le message décrypté avec cette clef est lisible.
10.6 Chiffrement par substitution Le chiffrement de César est très facile à casser, car le nombre de clefs est faible (26, dont une triviale) d’où l’idée d’augmenter le nombre de clefs. Pour cela, à chaque lettre on fait correspondre une autre lettre au hasard. C’est-à-dire que l’on se donne une permutation aléatoire des lettres de l’alphabet, comme le montre la figure 10.4 sur un exemple. Dans celui-ci, A donne J et B donne G, par exemple. Avec cette correspondance, on peut chiffrer un message et, en utilisant à nouveau cette correspondance en sens inverse, on peut le décrypter. L’intérêt d’utiliser une permutation aléatoire est d’avoir un espace immense de clefs. Il n’est donc plus possible de tester toutes les possibilités.
Figure 10.4
En effet, la clef est longue, ici les 26 lettres de l’alphabet. Il y a 26! permutations possibles de 26 lettres soit : 403291461126605635584000000 4 × 1026 . Avec un ordinateur rapide pouvant tester 1 million de clefs par seconde, il faudrait environ 12 700 milliards d’années pour tester toutes les clefs (le soleil aura épuisé
155
Énergie, entropie, information, cryptographie et cybersécurité
son combustible dans environ 5 milliards d’années). Il faudrait ensuite choisir, dans cet ensemble énorme, celle qui donne un texte compréhensible. Une attaque directe du message codé est donc sans espoir. Il faut donc procéder de manière indirecte. L’une d’entre elles est de connaître la clef en interceptant son envoi de l’émetteur vers le destinataire. L’autre est d’utiliser le fait que toutes les lettres n’ont pas la même probabilité d’apparaître dans un message. Pour cela, il faut pouvoir disposer d’un message assez long. Ce chiffrement est mono-alphabétique. À une lettre, on associe toujours la même lettre dans le message chiffré. Or leur fréquence d’apparition n’est pas la même. Elle dépend de la langue utilisée. Pour une langue donnée, et pour la plupart des textes, la probabilité d’apparition d’une lettre est à peu près constante. En français, les lettres apparaissent, par ordre de probabilité décroissante, selon l’ordre suivant : EASITNRULODCMPVFHGBQXJYZKW La lettre E est celle qui apparaît le plus souvent et la lettre W est la moins fréquente. Si l’on tient compte de l’espace qui sépare deux mots et qui apparaît très fréquemment dans le texte, on a la distribution de probabilité (exprimée en pourcentage) donnée dans le tableau 10.3 issu des données de l’ouvrage de P. Guillot, La Cryptologie (l’alphabet comprend 27 caractères). Lorsque la probabilité est 0,0, cela signifie que le pourcentage est inférieur à 0,05 %. Ces pourcentages peuvent être différents selon les textes pris en compte. Certains auteurs littéraires ont ainsi écrit des livres sans utiliser la lettre E, que ce soit en français ou en anglais. Tableau 10.3 Lettre
Espace
A
B
C
D
E
F
G
H
%
18,4
7,5
0,8
2,5
3,1
14,0
0,9
0,9
0,9
Lettre
I
J
K
L
M
N
O
P
Q
%
6,1
0,3
0,0
5,0
2,2
5,7
4,0
1,9
0,8
Lettre
R
S
T
U
V
W
X
Y
Z
%
5,4
6,4
6,0
5,2
1,3
0,0
0,3
0,2
0,1
Dans le cryptage par substitution, deux lettres différentes sont codées par deux lettres différentes, mais une même lettre est toujours codée de la même façon. On parle pour cela de substitution mono-alphabétique. C’est un des inconvénients de ce type de chiffrage qui peut être déchiffré en utilisant les fréquences d’apparition d’une lettre ou de deux lettres consécutives. Cette technique de déchiffrement a été proposée pour la première fois par Al-Kindi, au ixe siècle. Il faut toutefois que le message crypté soit assez long. La clef étant difficile à retenir, elle peut aussi être subtilisée, car le décrypteur devra la stocker quelque part pour pouvoir s’en servir.
156
10. Cryptologie
Dans ce type de cryptage, on cache souvent la longueur des mots, car cela rend plus difficile le décryptage par un tiers. Dans la pratique, on supprime donc les espaces entre les mots du texte crypté et on présente souvent le message sous forme de blocs de cinq lettres.
10.7 Chiffrement de Vigenère Ce chiffrement a pour but d’éviter qu’une lettre non codée soit toujours représentée par la même lettre codée. Dans le chiffrement de Vigenère, on ne considère plus les lettres individuellement, mais on les regroupe en blocs de lettres. Par exemple, si le message initial est : IL EST DIFFICILE DE DECRYPTER UN MESSAGE On va le réécrire en groupant les lettres, par exemple par cinq, en oubliant les espaces. Cela donne : ILEST DIFFI CILED EDECR YPTER UNMES SAGE Les nouvelles espaces séparent les blocs et non plus les mots. On choisit ensuite une clef constituée de cinq nombres entiers compris entre 0 et 25, dont la longueur est égale à celle du bloc, ici cinq pour l’exemple qui nous intéresse. Prenons par exemple la clef (CLEFS, soit 2, 11, 4, 5, 18). Le chiffrement de Vigenère consiste à appliquer à chaque lettre du bloc un chiffrement de César avec un décalage correspondant. On a donc un chiffrement poly-alphabétique, car une lettre non codée ne donne pas toujours la même lettre codée. Dans l’exemple choisi, la première lettre du bloc sera codée avec un décalage de 2, la deuxième avec un décalage de 11, etc. On procède de la même manière pour tous les blocs. Le message codé selon Vigenère sera donc le suivant : KWIXL FTJKA ETPJV GOIHJ AAXJJ WYQJK ULKJ (message codé) ILEST DIFFI CILED EDÉCR YPTER UNMES SAGE (message initial) On voit que le E est par exemple codé par I dans le premier bloc, par J dans le troisième, par G au début du quatrième. De même, la lettre K du message codé peut correspondre à I (premier bloc) ou à F (second bloc). Avec les ordinateurs, on traduit d’abord le message en chiffres, on code avec la clef en chiffres et l’on retraduit en lettres. Si, en chiffres, un bloc de longueur k correspond à {x1 , x 2 , ... x k } et la clef à {n1 , n2 , ... nk }, la fonction de chiffrement est :
{x1 , x 2 , ... x k } {x1 + n1 , x 2 + n2 , ... x k + nk } = { y1 , y 2 , ... y k } La fonction de déchiffrement sera alors :
{ y1 , y 2 , ... y k } { y1 − n1 , y 2 − n2 , ... y k − nk } = {x1 , x 2 , ... x k } 157
Énergie, entropie, information, cryptographie et cybersécurité
Pour un bloc de longueur k, il y a 26k clefs possibles, soit 11 881 376 pour une clef de cinq lettres. Bien que beaucoup plus robuste au décryptage que le chiffrement par substitution, il peut y avoir néanmoins des séquences où la même lettre apparaît codée de la même manière. Par exemple, le codage de « encore un prêt » donnera ENCORE UN PRET (phrase initiale) ENCOR EUNPR ET (phrase initiale découpée en blocs) GYGTJ GFRUJ GE (phrase codée) On voit, sur cet exemple, que le E apparaît au début de chacun des blocs initiaux et va donc donner la même lettre codée. Ceci peut constituer une faille pour décrypter. Le code du Vigenère a été mis en œuvre par Blaise de Vigenère au xvie siècle. Il a été cassé par le mathématicien Charles Babbage au xixe siècle avec une méthode qui n’a été retrouvée que plus tard par Kasiski.
10.8 Le chiffrement de Vernam Comme le chiffrement de Vigenère pouvait être décrypté par la méthode de Babbage, G. Vernam proposa d’utiliser une clef aussi longue que les messages. Cette clef doit être aléatoire et jetée après chaque usage. En effet, si l’on utilisait deux fois la même clef, en mettant les deux messages bout à bout, on aurait affaire à une clef plus petite que l’on pourrait décrypter. G. Vernam a proposé son chiffrement en 1917 et cette méthode a été brevetée par les Bell Labs en 1919. Shannon a démontré par la suite que, si la clef est générée de façon aléatoire et si elle a la longueur du message, le chiffrement est inviolable à condition qu’on n’utilise qu’une fois la clef. Ainsi, pour avoir un chiffrement parfait, il faut que la clef ait la même longueur que celle du message et qu’elle soit aléatoire. Illustrons cela sur un exemple. On veut coder AU SECOURS avec la clef ETWIPJKDH. Le tableau 2 donne quelques étapes. 1. On supprime les espaces du message. 2. On traduit ce message alphabétique en chiffre (A→0, B→1, etc.). 3. On traduit la clef alphanumérique. 4. Dans chaque colonne, on fait la somme modulo 26 de la valeur de la lettre non codée et de la clef. 5. On traduit le résultat codé en digital en alphanumérique.
158
10. Cryptologie
Tableau 10.4 Message initial
A
U
S
E
C
O
U
R
S
Message (décimal)
0
20
18
4
2
14
20
17
18
Clef (décimal)
4
19
22
8
4
9
10
3
7
Clef (lettres)
E
T
W
I
P
J
K
D
H
Message chiffré (décimal)
4
13
14
12
17
23
4
20
15
Message chiffré (lettres)
E
N
O
M
R
X
E
U
Z
L’inconvénient de cette méthode est que la clef est aussi longue que le message et que celle-ci doit être transmise de l’émetteur au destinataire. Comme elle doit être changée pour chaque message, cela devient vite très lourd à gérer. En général, émetteur et destinataire se mettent d’accord sur une longue liste de clefs secrètes qu’ils se sont échangée auparavant.
10.9 La machine Enigma C’est une machine électromécanique utilisée par l’armée allemande lors de la Deuxième Guerre mondiale. Elle servait à la fois au chiffrement et au déchiffrement. Elle est constituée de plusieurs anneaux (rotors) qui permettent de faire chacun un chiffrement de type Vigenère. On les utilise comme une machine à écrire pour chiffrer et déchiffrer. Les Polonais d’abord, puis les Britanniques, notamment grâce à Alan Turing, ont pu déchiffrer les messages de l’armée allemande cryptés par la machine Enigma. Cela a permis de sauver de nombreuses vies chez les alliés. À la fin de la guerre, les Britanniques ont été assez habiles pour faire croire que la machine Enigma produisait des messages indéchiffrables, ce qui leur a permis de la vendre à des gouvernements et des industriels. Ils pouvaient ainsi, si c’était nécessaire, avoir connaissance des messages cryptés échangés.
10.10 Le chiffre de Playfair Le chiffrement de Lyon Playfair (1854), utilisé notamment par les Britanniques lors de la guerre des Boers, a en fait été conçu par Charles Wheastone, son ami. On utilise un carré de 5 × 5 = 25 cases pour les 26 lettres de l’alphabet (le w étant remplacé par vv en français). Il s’agit d’un chiffrement de substitution polygrammique. Le tableau 10.5 donne un exemple de clef.
159
Énergie, entropie, information, cryptographie et cybersécurité
Tableau 10.5 c
g
p
b
l
q
u
h
r
x
f
m
a
o
k
t
j
n
v
e
z
d
y
i
s
On découpe le message en bigrammes avec un ajout éventuel de « x » si le nombre de lettres est impair. On applique alors les règles suivantes : • si deux lettres sont sur les sommets d’un rectangle, on chiffre par les sommets opposés ; • si deux lettres sont sur la même ligne, on prend les deux lettres situées à leur droite ; • si deux lettres sont sur la même colonne, on prend les deux lettres situées audessous d’elles. Ainsi NO⇒VA ; GO⇒BM ; FA⇒MO ; VE⇒ET ; CT⇒QZ et HA⇒AN
10.11 Chiffrement à clef jetable (One-Time Pad) Les ordinateurs traitent des nombres binaires. La seule méthode de chiffrement qui soit prouvée mathématiquement comme inviolable est celle qui utilise une clef jetable aléatoire unique de même longueur que le message (chiffrement par clef jetable ou one-time pad en anglais). Comme les ordinateurs traitent des informations binaires, c’est-à-dire une suite de 0 et de 1, nous allons expliciter ce type de chiffrement sur un exemple simple dans le tableau 10.6. Tableau 10.6 M
0
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0
K
1
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
C = M⊕K
1
1
1
1
1
1
0
0
1
0
0
1
0
0
1
1
K
1
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
M = C⊕K
0
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0
On part d’un message M de 16 bits. On va utiliser une clef K de 16 bits générée de manière aléatoire. Le fait qu’elle soit aléatoire est un point important. On fait ensuite la somme XOR (⊕) bit à bit. Cela donne le message crypté C = M⊕K.
160
10. Cryptologie
Le destinataire décryptera le message reçu en appliquant à nouveau la clef K. Il obtiendra le message envoyé, car M = C⊕K. L’utilisation d’une clef aléatoire a pour but de transformer le message M en un message aléatoire qu’on ne pourra décrypter sans la clef.
10.12 Le chiffre de Hill Lester S. Hill a publié, en 1929, un chiffre polygraphique analogue à celui de Playfair dans lequel on ne déchiffre pas les lettres une par une, mais par paquets. On travaille modulo 26. Dans le cas général, on code un bloc de n lettres, , 1 , ... , n (sous forme d’une matrice colonne A) à l’aide d’une matrice M de dimension n × n convenablement choisie (les éléments de matrice doivent être des entiers inférieurs à 26 et elle doit avoir un inverse modulo 26) en effectuant la multiplication M.A modulo 26. On obtient ainsi le bloc codé L1, … Ln, c’est-à-dire un vecteur colonne B : L1 , 1 M11 ... M1n ; B = ... A = ... ; M = , M M nn n n1 Ln B = M.A Nous allons illustrer cette méthode dans le cas le plus simple où l’on regroupe les lettres par paquets de deux. Dans les cas réels, les blocs utilisés sont plus grands et les calculs plus compliqués, puisque si l’on considère des blocs de taille n, il faut utiliser des matrices n × n. Prenons pour matrice de codage : 3 2 M = 1 3 L’inverse d’une matrice 2 × 2 est donné par la formule suivante : a b 1 d M = ⇒ M −1 = c d ∆ −c Pour la matrice choisie, on a : M −1 =
−b avec ∆ = ab − bc a
1 3 −2 7 −1 3
1 ≡ 15 (mod 26) . Donc : 7 3 −2 45 −30 1 3 −2 ≡ 15 M −1 = (mod 26) ≡ (mood 26) 7 −1 3 −1 3 −15 45 19 22 ≡ (mod 26) 11 19
Il faut maintenant calculer M −1 (mod 26) . On a
161
Énergie, entropie, information, cryptographie et cybersécurité
Supposons que le message que l’on envoie soit « SECRET ». Les lettres de l’alphabet seront numérotées en partant de 0 (A = 0, B = 1, etc.). On va découper le message en groupes de deux lettres que l’on va successivement crypter. Les deux premières lettres sont S = 18 et E = 4. Les deux premières lettres du message crypté sont obtenues en multipliant le vecteur colonne A par M : 3 2 18 62 10 M.A = = ≡ (mod 26) 1 3 4 30 4 On obtient « KE » pour les lettres cryptées. On répète cette opération pour les deux groupes suivants. Finalement, le message crypté est « KEOBYJ ». Pour le décoder, on utilise la matrice inverse modulo 26. Pour les deux premiers caractères « KE », on a : 19 22 10 278 18 M −1 .B = = ≡ (mod 26) 11 19 4 186 4 On retrouve bien « SE ». On pourra trouver plus de détails sur le chiffre de Hill et un calculateur pour des matrices 2 × 2 sur le site http://www.nymphomath.ch/crypto/hill/index.html
10.13 Complexité Beaucoup des algorithmes de cryptographie moderne sont basés sur la multiplication de nombres premiers et la factorisation. Voyons cela de plus près avec deux nombres premiers 127 et 457. La complexité est une estimation du nombre d’opérations élémentaires nécessaire pour faire une opération, comme l’addition ou la multiplication de deux nombres. Plus le nombre d’opérations élémentaires est élevé, plus le temps de calcul l’est aussi. Faire l’addition des deux nombres est simple : 127 + 457 = 584 Cela demande, hors retenues, environ trois opérations. S’il y avait un maximum de retenues, cela ferait six opérations. Donc, typiquement, pour la somme de deux entiers de n chiffres, on pourrait dire que la complexité varie comme ~ n. La multiplication est plus complexe. Il faut faire, hors retenues, neuf multiplications et des additions. On peut dire que la complexité varie comme ~ n2. Pour l’exemple choisi, la multiplication donne : 127 × 457 = 58 039. Factoriser le nombre 58 039 est une opération beaucoup plus difficile. Pour la meil 1 leure méthode, la complexité varie comme exp 4n 3 .
162
10. Cryptologie
Pour des nombres premiers de 200 chiffres, par exemple, n2 = 40 000, alors que pour la factorisation cette complexité est de 14 423 748 777 soit 360 593 fois plus. Cela veut dire que plus la valeur des nombres premiers sera élevée, plus il sera difficile de factoriser le produit pq de deux nombres premiers p et q. Les temps pour calculer le produit pq et pour décomposer ce produit en facteurs premiers p et q sont donc très différents. C’est à la base de la cryptographie asymétrique. Si les nombres premiers sont bien choisis, il est pratiquement impossible, dans un temps raisonnable, de trouver p et q. L’information apportée par la connaissance de p et de q est plus riche que celle de la connaissance du produit pq seul.
10.14 Fonction à sens unique, fonction trappe Une fonction bijective f ( x ) est dite à sens unique si l’on peut facilement calculer f ( x ) à partir de x, mais le calcul inverse (obtenir x à partir de f ( x )) est extrêmement difficile. Il y a une asymétrie entre un sens et l’autre. Dans le principe, si l’application f permet le chiffrement, l’application inverse f −1 permet le déchiffrement. Avec une fonction à sens unique, le chiffrement est très rapide, mais le déchiffrement demande un temps extrêmement long. Or, si c’est un avantage pour protéger son message codé des pirates, une telle méthode ne peut être utilisée telle quelle pour le déchiffrage. Pour cela, on utilise une fonction trappe qui appartient à une famille de fonction à sens unique ft dépendant d’un index t qui permet de rapidement et facilement calculer ft si l’on connaît t. On peut illustrer cela avec l’exemple présenté par l’université de Lille dans ses vidéos sur la cryptographie. Soit la fonction f : x x 3 (mod 100) . Pour trouver x tel que x 3 = 11 (mod 100) , il faut tester tous les éléments de 0 à 99. Après une recherche fastidieuse, on trouve la valeur 71. En effet, 713 = 357 911 = 11 (mod 100). Il existe toutefois une fonction trappe qui permet d’obtenir facilement le résultat. Il s’agit de f : y y 7 (mod 100). Cela fonctionne de la manière suivante. Il suffit de prendre pour y le résultat congru que l’on cherche, c’est-à-dire 11 pour cet exemple. On peut vérifier que 117 = 19 487 171 ≡ 71 (mod 100). On trouve donc, pour l’ensemble des nombres compris entre 0 et 99, la solution 71. En effet, 713 = 11 (mod 100). Cela est bien entendu valable pour d’autres valeurs. En effet, supposons que l’on veuille résoudre x 3 = 23 (mod 100) La fonction trappe donnera : 237 = 3 404 825 447 ≡ 47 (mod 100) et l’on a 47 3 = 23 (mod 100) .
163
Énergie, entropie, information, cryptographie et cybersécurité
10.15 Fonction de hachage Une fonction de hachage transforme une donnée quelconque (message texte, image, musique, etc.) en une donnée numérique de taille fixée et de faible longueur. La donnée numérique obtenue est l’empreinte (ou signature) de la donnée initiale. La fonction de hachage générant l’empreinte (signature, haché) doit posséder les propriétés suivantes : • La longueur de l’empreinte (signature) est toujours la même, quelle que soit la longueur du message en entrée. • Cette empreinte doit être unique. Deux messages, même très proches, ont une empreinte différente. • La fonction de hachage doit être une fonction à sens unique afin qu’il ne soit pas possible, à partir de la signature, de remonter au message initial. En comparant les signatures de deux données, on peut savoir si elles sont identiques ou non. Il y a de multiples usages du hachage. L’empreinte peut servir à s’assurer qu’un téléchargement s’est fait correctement. En effet, il suffit de calculer l’empreinte du fichier téléchargé et de comparer celle-ci à l’empreinte jointe au fichier. Si les deux sont identiques, cela signifie que le téléchargement s’est effectué correctement. Une autre application concerne le hachage des mots de passe. Certaines sociétés gardent en clair sur leur serveur le mot de passe de leurs clients. Si leurs serveurs sont piratés, les mots de passe le sont aussi, ainsi que les coordonnées des clients. C’est la raison pour laquelle les sociétés sérieuses ne stockent plus le mot de passe de leurs clients, mais les empreintes de ces mots de passe. On procède alors de la manière suivante : • Lorsque le client s’inscrit, tape son identifiant et son mot de passe, ce dernier est haché et transformé en empreinte au niveau de son ordinateur. Le couple identifiant/empreinte est envoyé sur le serveur du commerçant qui le stocke sur ses serveurs. • Lorsque le client se connecte à nouveau, il s’identifie avec le couple identifiant/ mot de passe. Ce dernier est haché et l’ensemble identifiant/empreinte est envoyé de l’ordinateur du client au serveur du commerçant. Après vérification de l’identifiant et de l’empreinte, le serveur autorise l’accès si tout est correct. On dit qu’il y a collision si deux données différentes donnent la même empreinte. Cela peut arriver dans certains cas, comme celui du stockage de mots de passe et plus généralement lors du stockage de données. Il existe un grand nombre de fonctions de hachage cryptographiques. Citons l’algorithme MD5 (Message Digest 5) proposé par Ronald Rivest en 1991 ou les algorithmes SHA (Secure Hasch Algorithm). SHA1, conçus par la NSA, utilise une signature de 160 bits, mais n’est plus considéré comme sûr, de même que MD5 si les attaquants possèdent des moyens importants. SHA2 a aussi été conçue par la NSA. Il comporte les algorithmes SHA-224, SHA-256 et SHA-512 qui utilisent respectivement 224, 256 et 512 bits.
164
10. Cryptologie
Pour illustrer le hash d’un texte, prenons la phrase de Corneille dans Le Cid : « Nous partîmes cinq cents ; mais par un prompt renfort – Nous nous vîmes trois mille en arrivant au port. » Un hash 256 de cette phrase (http://www.convertstring.com/fr/Hash/SHA256) est : 2A9F932B44E7D2D5F60751948A35D9593D5257D0B6D62840 E117E32E2066A5D8 Prenons la même phrase, dans laquelle nous avons juste enlevé le point final. « Nous partîmes cinq cents ; mais par un prompt renfort – Nous nous vîmes trois mille en arrivant au port » Le même hash devient : 9FAE560ACDE202CDC3ECCEC86A93E3E974D23D0D29BC768ECAC389111DE8DF13 Les deux hash sont très différents, alors qu’un point seulement a été enlevé entre le texte initial et le texte modifié.
10.16 Cryptographie symétrique Dans une cryptographie symétrique, la clef utilisée lors du chiffrement est la même que celle utilisée lors du déchiffrement. Le chiffre de César, Vigenère ou la machine Enigma sont des systèmes de chiffrement symétriques. On qualifie souvent ce type de chiffrement de système de chiffrement à clef secrète. L’émetteur et le destinataire possèdent la même clef pour chiffrer et déchiffrer le message. Le problème majeur de ce système est la transmission de la clef qui doit être changée pour chaque message pour plus de sécurité. L’échange des clefs se fait souvent par des échanges de type « valise diplomatique », mais cela demande une logistique importante et donc des coûts importants. On peut comparer le chiffrement symétrique à un coffre-fort dans lequel on met le message. L’émetteur et le destinataire sont les seuls à en avoir la clef.
10.17 Un peu d’arithmétique Le chiffrement asymétrique est basé sur le fait qu’il est facile de calculer le produit n de deux grands nombres premiers p et q, mais qu’il est pratiquement impossible, avec les technologies actuelles, de décomposer n en p et q lorsque ces derniers sont inconnus. Nous allons présenter, dans cette section, quelques outils mathématiques permettant d’aborder la cryptographie asymétrique. Il ne s’agit que de notions
165
Énergie, entropie, information, cryptographie et cybersécurité
élémentaires, les problèmes réels étant d’une autre complexité. Cette introduction devrait toutefois permettre au lecteur de toucher du doigt la nature des problèmes posés.
Petit théorème de Fermat Le petit théorème de Fermat dit que si p est un nombre premier et a un entier appartenant à Z : a p ≡ a (mod 9) Si p ne divise pas a, on a alors, en divisant les deux membres par a : a p−1 ≡ 1 (mod p ) On peut déduire de cela la propriété suivante : Soient deux nombres premiers p et q ( p ≠ q ) et n = pq. Pour tout nombre a qui n’est pas divisible par p ou q (pgcd (a, n) = 1), on a : a ( p −1)(q −1) ≡ 1 (mod n) On peut vérifier cela sur des nombres simples. Prenons p = 3 et q = 5 ⇒ n = 15.
( p − 1) (q − 1) = 2 × 4 = 8. On a donc pour a : a = 1, 2, 4, 7, 8… On peut vérifier que : 88 ≡ 1 (mod 15), 7 8 ≡ 1 (mod 15) , 48 ≡ 1 (mod 15) et 28 ≡ 1 (mod 15)
PGCD Le PGCD est le plus grand commun diviseur de deux nombres (GCD en anglais pour Great Common Divisor). Par exemple pgcd(258,124) = 2, car 258 = 43 × 3 × 2 et 124 = 67 × 2. Le seul diviseur en commun est 2. L’algorithme d’Euclide permet de calculer le pgcd de deux nombres : pgcd (a, b ) = pgcd (b, a mod b ) Si l’on veut calculer le pgcd de 4 950 et 4 875, on peut soit faire la décomposition 4950 = 2 × 32 × 52 × 11 et 4875 = 3 × 53 × 13. Le pgcd est donc 3 × 52 = 75. Une autre manière de calculer le pgcd est d’utiliser l’algorithme d’Euclide : pgcd(4950,4875) = pgcd(4875,4950 mod(4875)) qui vaut 4950 – 4875 = 75
166
10. Cryptologie
Théorème de Bezout Le théorème de Bezout dit que si a et b sont deux nombres premiers, alors il existe deux nombres entiers relatifs u et v tels que : au + bv = 1 Les coefficients u et v sont les coefficients de Bezout. L’algorithme d’Euclide étendu permet d’obtenir les coefficients de Bezout de l’identité : au + bv = pgcd ( a, b ) Lorsque a et b sont premiers entre eux : pgcd ( a, b ) = 1. Prenons a = 13 et b = 23. Dans ce cas, on peut vérifier que u = − 99 et b = 56 sont des valeurs qui satisfont l’équation ci-dessus.
Exponentiation modulaire Nous allons voir maintenant comment on peut plus rapidement calculer a k (mod n) que par un calcul où l’on évalue directement ak avant de calculer la valeur (mod n). Pour cela, on commence par développer l’exposant k en puissance de 2 : m
k = ∑ c i 2i . Par exemple si k = 11, on a k = 23 + 21 + 20. i =0
On a alors : ak
m
( )
i i = a ∑ i =0 (ci 2 ) = ∏ a 2 m
i =0
ci
Supposons que a = 7 et que l’on veuille calculer a11 (mod 23) . On suit le schéma suivant : 711 = 7 8 × 7 2 × 7 7 ≡ 7 (mod 23) 7 2 = 49 = 46 + 3 ≡ 3 (mod 23) 7 4 = 7 2 × 7 2 ≡ 3 × 3 = 9 (mod 23) 7 8 = 7 4 × 7 4 ≡ 9 × 9 = 81 ≡ 12 (mod 23) Au total : 711 ≡ 12 × 3 × 7 = 252 ≡ 22 (mod 23) Prenons un cas un peu plus compliqué : 23198 (mod 128) On procède de la manière suivante 198 = 128 + 64 + 4 + 2 = 27 + 26 + 22 + 21 = 110001102 23 ≡ 23 mod (128)
167
Énergie, entropie, information, cryptographie et cybersécurité
232 ≡ 17 mod (128) 23 4 ≡ 33 mod (128) 238 ≡ 65 mod (128) 2332 ≡ 1 mod (128) 2364 ≡ 1 mod (128) 23128 ≡ 1 mod (128) Finalement 23198 ≡ 1 × 1 × 33 × 17 ≡ 49 mod (128)
10.18 Cryptographie asymétrique Dans la cryptographie asymétrique, la clef pour chiffrer le message est différente de celle utilisée pour le déchiffrer. Ce type de chiffrement est aussi appelé système de chiffrement à clef publique. Le principe du chiffrement par clef asymétrique a été imaginé en 1976 par Diffie et Hellman. Le premier algorithme basé sur ce principe a été mis en œuvre en 1977 par Rivest, Shamir et Adleman. Il est connu sous le nom de chiffrement RSA. Ce protocole, breveté par le MIT en 1983, est tombé dans le domaine public en 2000. Dans le chiffrement asymétrique, le chiffrement du message se fait au moyen d’une clef connue de tous, la clef publique. Cependant, chaque destinataire a une clef qu’il garde secrète et qui lui permet de déchiffrer le message. C’est un peu l’analogue d’une boîte aux lettres : tout le monde peut y glisser une lettre, mais il n’y a que le destinataire qui en a la clef. Le concept de fonction à sens unique et de fonction trappe dont nous avons parlé plus haut permet de comprendre le principe de la cryptographie asymétrique. Le chiffrement se ferait avec fonction x x K (mod 100) où K est la clef publique. Celle-ci est K = 3 pour l’exemple choisi plus haut. Donc, pour envoyer le message x, on utilise la clef publique. La clef privée permet de déchiffrer les messages codés. Pour l’exemple considéré, elle vaut K ′ = 7.
10.19 Le code RSA Le chiffrement RSA est basé sur une clef publique, accessible à tous, et une clef privée accessible seulement à celui qui doit décoder le message. Dans le domaine de la cryptographie, plutôt que de désigner les interlocuteurs qui s’échangent des messages par « A » ou « B », on utilise des prénoms : Alice, Bob, etc.
168
10. Cryptologie
Supposons que Bob veuille envoyer un message secret à Alice en utilisant une cryptographie asymétrique. Pour cela, il faudra réaliser trois étapes. 1. Alice va générer deux clefs : une clef publique que tout le monde pourra utiliser, notamment Bob, et une clef privée qui sera à son usage propre et que personne ne doit connaître. 2. Bob crypte son message avec la clef publique d’Alice et lui envoie son message crypté. 3. Alice se sert de sa clef privée pour décrypter le message. Nous allons présenter ici de manière simplifiée le principe du protocole RSA. Nous allons prendre l’exemple présenté dans la vidéo réalisée par l’université de Lille. La raison de ce choix est que nous recommandons fortement au lecteur cette série de vidéos qui présentent de manière très claire et compréhensive la cryptographie, tout en développant les outils mathématiques à un niveau supérieur à ce qui est donné ici. La vidéo relative au système RSA complète donc ce qui va être dit, notamment en explicitant les démonstrations mathématiques.
Génération des clefs On prend deux nombres premiers distincts p et q avec lesquels on calcule les deux quantités suivantes : n = p × q (module de chiffrement) et
ϕ (n) = ( p − 1) × (q − 1) (indicatrice d’Euler) On choisit ensuite un exposant e qui soit premier avec ϕ (n) , ce qui veut dire que pgcd (e , ϕ (n)) = 1. On calcule ensuite l’inverse d de e modulo ϕ (n) : d × e ≡ 1 (mod ϕ (n)) Pour trouver l’inverse, on utilise l’algorithme d’Euclide étendu qui permettra d’obtenir les coefficients de l’identité de Bezout. On peut aussi les calculer en utilisant le site internet https://calculis.net/bezout. Avec ces opérations, on crée une clef publique qui est constituée du couple (n, e ) et une clef privée qui est d.
Chiffrement Bob veut envoyer un message secret à Alice. Il va le convertir en un ensemble de chiffres. C’est ce qu’il fera par exemple en codant ses caractères alphanumériques en ASCII, mais d’autres codages sont possibles. Le message va générer un ou plusieurs entiers m. Il est nécessaire que 0 ≤ m < n.
169
Énergie, entropie, information, cryptographie et cybersécurité
On calcule le message chiffré par la formule : x = m e (mod n) en utilisant la clef publique (n, e ) et la méthode d’exponentiation rapide décrite plus haut. Une fois le message codé, Bob pourra l’envoyer à Alice.
Déchiffrement Alice a reçu le message chiffré x. Pour le déchiffrer, elle va utiliser sa clef privée d et calculer : m = x d (mod n) Le schéma du codage RSA est indiqué dans la figure 10.5.
Figure 10.5
En fait, le cryptage décryptage RSA est basé sur le lemme suivant : Soit n = pq (p et q sont deux nombres premiers distincts) et d l’inverse de e modulo ϕ (n) . Si x ≡ m e (mod n) alors m ≡ x d (mod n).
Application Nous allons prendre l’exemple de l’université de Lille sur lequel le lecteur pourra avoir plus de détails en regardant la vidéo correspondante. Dans la pratique, les nombres premiers mis en œuvre comportent des centaines de chiffres pour rendre le déchiffrement impossible. Ici, les nombres premiers choisis sont très petits afin de rendre les calculs faciles. Génération des clefs On choisit p = 5 et q = 17 n = p × q = 5 × 17 = 85
ϕ (n) = ϕ (85) = ( p − 1) × (q − 1) = 4 × 16 = 64
170
10. Cryptologie
On prend e = 5 pour lequel on a bien pgcd (e , ϕ (n )) = pgcd (5, 64) = 1 la clef publique est donc (n = 85, e = 5) Les coefficients de Bezout peuvent être calculés à partir du site internet cité plus haut. 5 × 13 + 64 × (−1) ≡ 1 (mod 64) Donc 5 × 13 ≡ 1 (mod 64) La clef privée est d = 13. Cryptage On va chiffrer le mot m = 10. Le message chiffré sera égal à x = 105 (mod 85) = 40 (mod 85) Donc x = 40 Décryptage Pour déchiffrer le message crypté x, on utilise la clef privée d. m = x d (mod n) = 4013 (mod 85) = 10 (mod 85)
10.20 Comparaison Le problème majeur de la cryptographie symétrique est l’échange des clefs. En revanche, elle est facile à mettre en œuvre, demande peu de ressources et les chiffrement et déchiffrement sont assez rapides. La cryptographie asymétrique n’a pas le problème d’échange de clef, mais elle est plus complexe à mettre œuvre. Elle nécessite des ressources matérielles coûteuses et s’avère plus lente que la cryptographie symétrique. Le logiciel de messagerie PGP (Pretty Good Privacy) est une application grand public intéressante d’un système de chiffrement hybride alliant les cryptographies symétriques et asymétriques. Une clef secrète à usage unique est générée pour chaque message. Cette clef est utilisée avec un algorithme de chiffrement symétrique pour chiffrer le message. La clef est ensuite chiffrée par un algorithme de type RSA. Le message et la clef chiffrés sont envoyés simultanément au destinataire. Comme il n’y a que la clef secrète qui est chiffrée de façon asymétrique, le traitement est très rapide. Philip Zimmermann a mis à la disposition du public, en 1991, le premier logiciel de chiffrement basé sur cette idée. Cela conduit les douanes américaines à ouvrir une enquête criminelle à son égard pour violation des restrictions sur l’exportation de logiciels cryptographiques. Toutefois, les banques trouvèrent ce système si pratique pour protéger les données communiquées à leurs clients que cela se solda par une procédure sans suite début 1996.
171
Énergie, entropie, information, cryptographie et cybersécurité
10.21 L’intrication L’intrication quantique est un phénomène étonnant. Considérons un système de deux électrons (spin ½) et formons un système quantique qui est une superposition d’un électron dans l’état + (projection du spin +1/2) et d’un électron dans l’état − (projection du spin -1/2). On va construire l’état intriqué suivant : +− + −+ dans lequel l’un des électrons est dans l’état de spin +1/2 et l’autre dans l’état de spin -1/2 pour le premier état, et l’inverse pour le second. Un tel état ne veut pas dire que la moitié des électrons est dans l’état + et l’autre moitié dans l’état − . Ils sont dans l’état quantique + − + − + . Supposons maintenant que les deux électrons soient séparés par une grande distance tout en restant dans cet état quantique intriqué (ce qui n’est pas techniquement facile à cause des perturbations extérieures). Si l’on mesure la projection du spin d’un des deux électrons, on ne sait pas quel résultat on va trouver. Il y a 50 % de chance de mesurer +1/2 et 50 % de chance de mesurer -1/2. Cependant, une fois la mesure faite, on a un résultat. Supposons que l’on ait mesuré +1/2. Dans ce cas, une mesure de la projection du spin de l’autre électron donnera nécessairement -1/2, quelle que soit la distance à laquelle il se trouve. Si on fait les mesures presque simultanément, tout se passe comme si la connaissance du résultat de la mesure sur l’un des électrons informait l’autre à une vitesse supérieure à celle de la lumière. Dans la pratique, on utilise des photons (deux états de polarisation) pour effectuer des expériences d’intrication (entanglement en anglais). En 2017, des scientifiques chinois ont fait une expérience d’intrication sur photons séparés de 1 400 km. En 2013, l’intrication avait été démontrée sur des électrons séparés de 1,3 km. Même si le résultat de la mesure sur un électron se propage instantanément à l’autre particule, cela ne veut pas dire que l’on puisse transmettre de l’information à une vitesse supérieure à celle de la lumière, car le résultat d’une mesure est probabiliste et on ne peut pas transmettre par cette méthode un message déterministe. Les expériences d’intrication montrent seulement que des mesures peuvent s’influencer à une vitesse supérieure à la vitesse de la lumière. Toutefois, pour transmettre le résultat d’un point en un autre, il faut utiliser des moyens classiques qui bien sûr ne peuvent pas transmettre de l’information à une vitesse supérieure à celle de la lumière.
10.22 Cryptographie quantique La cryptographie quantique n’est pas une méthode dans laquelle on utilise un protocole de cryptage quantique pour transmettre des données, mais une méthode de distribution des clefs. Elle permet de s’assurer qu’une clef transmise d’un émetteur vers un destinataire n’a pas été interceptée et lue lors de sa transmission. L’intérêt
172
10. Cryptologie
d’utiliser la mécanique quantique pour cette transmission est que toute mesure perturbe profondément un système et ne peut pas passer inaperçue. Toute interception lors de la transmission de la clef sera obligatoirement détectée par le destinataire qui ne l’utilisera pas et demandera la transmission d’une autre clef. Plusieurs protocoles quantiques pour transmettre les clefs sont utilisés. Celui de Bennett et Brassard proposé en 1994 (BB84) est basé sur la polarisation des photons. Le protocole E91, développé par Artur Ekert en 1991, utilise des photons intriqués.
10.23 L’ordinateur quantique Un ordinateur classique travaille avec des bits (bit = binary digit). Le bit est la quantité d’information élémentaire et sa valeur peut être de 0 ou 1. Un ordinateur quantique travaille avec des qubits ou Qbits (quantum bit). Le qubit élémentaire est une superposition entre deux états 0 et 1 :
α 0 +β 1 Où α et β sont des constantes. On peut former une infinité d’états formés par superposition (figure 10.6). Lors d’une mesure d’un qubit, on ne peut trouver que les états 0 ou 1 , mais on ne peut pas savoir, avant la mesure, dans quel état on le trouvera. La probabilité d’être dans l’un ou l’autre des états dépendra des coefficients α et β.
Figure 10.6
Dans un ordinateur classique, on utilise des registres composés d’un certain nombre de bits. Par exemple, avec un registre de 2 bits on pourra avoir les quatre possibilités suivantes : 00 , 01 , 10 , et 11 . Un qubit sera une combinaison linéaire de ces quatre valeurs du registre. Un ordinateur classique fonctionne avec des portes logiques. Un ordinateur quantique fonctionne avec des portes quantiques qui se comportent de manière différente. Un ordinateur quantique n’est intéressant que pour résoudre certains
173
Énergie, entropie, information, cryptographie et cybersécurité
problèmes spécifiques. Par exemple, si on se donne un tableau où pour chaque valeur de x on associe un nombre donné par une fonction f ( x ) et si l’on cherche la valeur de x correspondant à une valeur de f ( x ), il faudra, avec un ordinateur classique parcourir l’ensemble du tableau jusqu’à ce que l’on trouve la bonne réponse. Typiquement, si on a un tableau de N lignes, il faudra au maximum N tests. Avec un ordinateur quantique et l’algorithme de Grover, il faudra au maximum N essais. Si le tableau fait par exemple 100 millions de lignes (108), il faudra faire en moyenne 50 millions d’essais avec un ordinateur classique et 5 000 avec un ordinateur quantique. Un intérêt de l’ordinateur quantique, lorsqu’il sera constitué d’un nombre de qubits assez important, est qu’il pourra factoriser beaucoup plus vite un grand nombre en facteurs premiers. Il sera exponentiellement meilleur qu’un ordinateur classique sur ce type de problème grâce à l’algorithme de Schor (1994). Il sera donc possible de casser un code RSA en un temps raisonnable, ce qui n’est pas possible actuellement avec les calculateurs classiques. Avec une clef RSA sur 1 024 bits, il faudrait environ 1 million d’années de temps CPU pour cracker le code. Avec l’algorithme de Shor et un calculateur quantique, cela pourrait être fait en 1 heure. Pour le moment, les ordinateurs quantiques n’ont qu’un petit nombre de qubits. IBM a lancé fin 2017 un ordinateur de 50 qubits, mais il en faudrait plusieurs centaines pour avoir la puissance nécessaire pour casser rapidement un code RSA. Lorsque des ordinateurs quantiques assez puissants seront disponibles, le code RSA pourra être cassé en un temps raisonnable. Si l’économie du net (banques, achats en ligne, etc.) n’a pas anticipé cela, la situation risque d’être catastrophique pour tous les échanges mettant en jeu un cryptage asymétrique.
10.24 Pour en savoir plus Cryptographie & codes secrets, Bibliothèque Tangente, Hors-série no 26, 2013 P. Guillot, La Cryptologie : L’art des codes secrets, EDP Sciences, 2013 B. Martin, Codage, cryptologie et applications, Presses polytechniques et universitaires romandes, 2004 F. Recher, A. Bodin et G. Vantomme, séries de vidéos sur la cryptographie (YouTube), Université de Lille P. Vigoureux, Comprendre les codes secrets, Ellipses, 2010
174
11 Cybersécurité
Malgré les immenses avantages que procure l’utilisation d’un système d’information, que ce soit au niveau professionnel ou privé, celui-ci présente des vulnérabilités qui peuvent être exploitées par des personnes mal intentionnées. Si les grosses entreprises sont attaquées, il faut néanmoins noter que près de 80 % des attaques concernent les petites entreprises. Les particuliers ne sont pas non plus épargnés. Les cybercriminels opèrent jour et nuit, la plupart du temps en utilisant des procédures automatisées. Ils sont localisés un peu partout dans le monde et difficiles à neutraliser. La cybersécurité est actuellement un domaine en plein développement. L’objet de ce chapitre est d’en donner quelques éléments, mais il faut toutefois garder à l’esprit qu’aucun système n’est sûr à 100 %.
Le fonctionnement des civilisations modernes repose en grande partie sur des systèmes informatiques (ordinateurs, réseaux informatiques, circuits intégrés, smartphones, etc.). La non-disponibilité d’un système d’information peut paralyser une société et même l’économie si elle est de grande ampleur. Ainsi, une panne informatique sérieuse dans un supermarché le samedi, jour où il a la plus grande affluence, conduit à une perte de chiffre d’affaires importante, car elle contraint celui-ci à fermer pour la journée si la panne ne peut être réparée rapidement. Le dysfonctionnement d’un système informatique peut être involontaire, dû à une panne ou défaillance d’un des composants matériel ou logiciel, mais peut aussi avoir pour origine une malveillance. De même qu’une voiture peut être en panne par suite d’une défaillance imprévisible, elle peut aussi être immobilisée à la suite d’un sabotage.
175
Énergie, entropie, information, cryptographie et cybersécurité
Ainsi, malgré tous les avantages que présente un système d’information, il est vulnérable et peut être utilisé à des fins peu recommandables. Nous allons introduire quelques aspects de cybersécurité dans ce chapitre et voir que quelques bonnes pratiques, que l’on peut qualifier d’hygiène informatique, peuvent réduire l’impact, voire éliminer, un grand nombre des menaces.
11.1 Menaces Les menaces qui pèsent sur un système d’information peuvent être de différentes natures. Elles peuvent concerner la disponibilité de ce système ou l’accessibilité et l’intégrité des bases de données d’une entreprise. Une attaque des bases de données peut aller jusqu’à leur destruction définitive, mais elles peuvent également être falsifiées, volées ou utilisées de manière frauduleuse. Le réseau ou les ordinateurs qui y sont connectés peuvent aussi être utilisés de manière illicite pour effectuer des attaques sur d’autres systèmes informatiques. Une attaque partiellement ou complètement réussie a des conséquences humaines et financières pour une entreprise, qui peuvent aller jusqu’à la disparition de celle-ci. Pour être réussie, une attaque a besoin de trouver une vulnérabilité dans le système informatique. Cette vulnérabilité peut être matérielle, logicielle, mais aussi humaine. Selon les protections mises en œuvre et la formation du personnel vis-àvis des menaces informatiques, le risque peut être plus ou moins important. Il ne faut pas confondre danger et risque. Faire de l’alpinisme est dangereux. Toutefois, si on n’en fait pas, le risque d’avoir un accident d’alpinisme est nul. De même, l’électricité est dangereuse et il y a un risque d’électrocution lorsqu’on l’utilise. Le danger est une source potentielle de dommage humain ou matériel. Le danger est donc tout phénomène pouvant conduire à des dommages. Le risque combine la probabilité qu’un dommage advienne lorsque l’on est exposé à un danger et est lié à la gravité de celui-ci. Ainsi les attaques informatiques peuvent être plus ou moins dangereuses et on accroît le risque d’être attaqué si l’on navigue sur des sites douteux. Alors qu’à la naissance d’internet, le but des pirates (ou hackers) était de réaliser une prouesse et d’être reconnus, leur objectif est maintenant le plus souvent crapuleux puisqu’ils utilisent cette activité pour gagner malhonnêtement de l’argent de manière directe ou indirecte. Initialement, le hacker était souvent un solitaire, mais on a aujourd’hui affaire à des groupes organisés qui opèrent pour leur propre compte ou pour le compte d’autrui, moyennant finance. Ils se comportent comme des mercenaires vendus au plus offrant. Une attaque se gère maintenant de manière rigoureuse sous forme d’un projet réunissant différents experts ayant chacun une spécialité bien précise. Il n’est pas rare qu’une centaine de personnes travaillent sur un même projet. Cela donne à ces groupes une force de frappe impressionnante, que l’on ne peut contrer qu’avec un temps de retard plus ou moins important. Beaucoup d’États disposent aussi d’agents menant une cyberguerre secrète vis-à-vis d’opposants ou de pays dont ils n’approuvent pas la politique.
176
11. Cybersécurité
Dans une entreprise, il y a un réseau local qui permet aux collaborateurs d’être connectés entre eux de la même manière que sur internet (réseau intranet). Ce réseau local est connecté à internet, ce qui permet à l’entreprise d’échanger des informations avec l’extérieur. La connexion entre le réseau internet, qui est le monde extérieur (extranet), et l’intranet, qui est le monde de l’entreprise ou de l’organisme, est susceptible de présenter des failles que les pirates vont utiliser pour s’introduire dans l’intranet. Mais il y a bien sûr d’autres méthodes – comme l’ingénierie sociale qui utilise des manipulations psychologiques sur les employés, leurs proches et autres personnes en contact avec l’entreprise – qui sont utilisées conjointement lors des attaques d’envergure. Les attaques peuvent venir d’individus isolés, mais elles sont maintenant de plus en plus l’œuvre de groupes privés ainsi que d’États. Internet est devenu un champ de bataille mondial où des adversaires s’affrontent de manière de plus en plus dure. À la différence des guerres classiques, il est très difficile d’identifier l’agresseur et donc de riposter par d’autres méthodes. Dans ces conflits, l’attaquant a toujours un coup d’avance sur le défenseur, qui soit s’adapter en temps réel.
11.2 Hackers En informatique, un hacker 11 (ou pirate) est une personne qui s’introduit de manière frauduleuse dans un système d’information dans le but d’en modifier ou d’observer le fonctionnement. Cela peut être par jeu, par défi, par souci de reconnaissance et de notoriété, pour tester les vulnérabilités du système ou plus bassement dans un but lucratif. Ce dernier objectif est maintenant de plus en plus répandu. On distingue les black hats (pirates) et les white hats (hackers éthiques). Les black hats sont les « méchants ». Ils utilisent leurs compétences pour réaliser des actes frauduleux. Les white hats sont les gentils. Ils utilisent l’attaque pour mieux défendre un système informatique en trouvant ses vulnérabilités, en contrant les attaques de black hats ou en réparant un système infecté par des malwares. Les grey hats se situent entre les white hats et les black hats. Ils se comportent selon l’une ou l’autre des ces catégories selon les circonstances. Les grey hats peuvent par exemple s’introduire de manière illégale dans un système d’information sans rien endommager avant de signaler à la société concernée les failles trouvées et éventuellement lui proposer des solutions. Les greys hats sont parfois condamnés pénalement pour intrusion illégale alors qu’ils ont rendu service à la société concernée. En effet, cette dernière n’est parfois pas reconnaissante et attaque le hacker qui lui a signalé 11. En anglais, to hack signifie découper quelque chose à l’aide d’un outil. Ce terme est maintenant aussi utilisé pour désigner un pirate informatique qui décortique un logiciel ou un système d’information pour comprendre comment il fonctionne et le modifier afin de lui faire faire autre chose que ce pour quoi il a été conçu.
177
Énergie, entropie, information, cryptographie et cybersécurité
la faille. Ils se comportent aussi parfois comme des black hats. Certains grey hats agissent par idéologie ou pour défendre une cause (justicier masqué). À ceux-ci s’ajoutent les anonymous ou hacktivistes (contraction de hacker+activiste) qui ont un but politique. Ils attaquent un site pour dénoncer quelque chose. Le spy-hacker est une personne payée par le concurrent d’une entreprise pour espionner celle-ci par des moyens informatiques. Il peut d’ailleurs s’agir d’un employé de l’entreprise elle-même. Les script kiddies sont de jeunes adolescents (ou même plus jeunes) qui vont télécharger des programmes dangereux pour les utiliser par jeu contre d’autres personnes ou contre des systèmes d’information sans bien connaître l’étendue du mal qu’ils vont faire à leur cible ni les risques qu’ils encourent.
11.3 Le piratage et la loi La loi est devenue de plus en plus dure pour les hackers qui sont identifiés par les services de police. Voyons quelques-unes des peines encourues pour illustrer ce que risque, en France, un pirate. Accéder ou se maintenir frauduleusement dans un système d’information est puni de 2 ans d’emprisonnement et de 60 000 € d’amende (article 323-1). S’il en résulte une modification des données ou une altération du fonctionnement du système d’information, les peines sont plus lourdes : 3 ans d’emprisonnement et 100 000 € d’amende (article 323-1). Si les infractions commises ci-dessus concernent des bases de données d’individus mises en œuvre par l’État, les sanctions sont très lourdes : 5 ans d’emprisonnement et 150 000 € d’amendes (article 323-1). Entraver ou fausser le fonctionnement d’un système de traitement automatisé de données est puni de 5 ans de prison et de 150 000 € d’amende (article 323-2). S’il s’agit d’une base de données mise en œuvre par l’État et qui concerne des données personnelles, la peine est plus lourde : 7 ans de prison et 300 000 € d’amende. Il faut néanmoins noter que beaucoup de pirates opèrent depuis l’étranger. Ils sont difficiles à tracer et à arrêter. Certaines attaques sont menées par des États ou des officines étrangères situées dans des pays pas très regardants.
11.4 Bases de la sécurité informatique La sécurité informatique d’un système repose principalement sur les quatre choses importantes indiquées dans la figure 11.1.
178
11. Cybersécurité
Figure 11.1
La confidentialité signifie que seuls l’émetteur et le destinataire ont accès au contenu d’un message ou d’une information. Lorsque, lors d’un achat sur internet, vous entrez votre numéro de carte bleue et les précisions associées, vous ne souhaitez pas que d’autres personnes aient accès à ces informations. L’authenticité assure que le message reçu par le destinataire provient bien de l’émetteur et que ce dernier l’a envoyé au bon destinataire. On reçoit parfois des mails qui sont émis par une personne se faisant passer pour une autre ou pour un organisme. Ces mails ne sont pas authentiques et sont la plupart du temps des scams (cyberarnaques). On peut recevoir par exemple un mail prétendument envoyé par le Trésor public disant que l’on a trop payé d’impôts et qui vous propose de vous rembourser le trop-perçu. Il s’agit bien sûr d’une arnaque et le mail ne provient pas du tout du Trésor public. Un destinataire crédule donnera son numéro de compte en banque pour le remboursement et ce dernier a de fortes chances d’être vidé par l’escroc. L’intégrité assure que le message envoyé par l’émetteur est bien celui qui sera reçu par le destinataire. S’il est modifié lors de son acheminement sur le réseau, il peut fournir au destinataire une information erronée. Imaginez que vous ayez commandé des marchandises pour votre entreprise, par exemple une dizaine d’ordinateurs, et que vous ayez donné l’adresse de livraison dans les locaux de votre siège social. En interceptant ce mail lors de son acheminement, le hacker peut faire livrer la marchandise à une autre adresse où une personne engagée pour ce qu’elle croit être un travail honnête la renverra vers une autre destination. Il sera alors difficile ou plus possible de récupérer la marchandise. La disponibilité d’un système informatique est une condition nécessaire pour pouvoir échanger de l’information. Si ce système ne fonctionne pas, il ne peut pas
179
Énergie, entropie, information, cryptographie et cybersécurité
remplir ses missions. Supposons que vous alliez voir un client à l’étranger. Toutes les informations sur le contrat à signer ainsi que votre présentation sont sur votre ordinateur. Vous n’avez aucun autre moyen de les récupérer par internet, car il s’agit de données confidentielles qui ne peuvent pas être mises sur le cloud. À l’arrivée dans le pays, on distribue des clefs USB comme cadeau aux voyageurs à la sortie de l’aéroport. Dès votre arrivée à l’hôtel, vous branchez cette clef USB sur votre ordinateur. Erreur fatale. Si cette clef USB est malveillante, elle pourra contenir des malwares (spywares, keyloggers, virus, etc.) qui vont infecter votre ordinateur. Ce peut aussi être une USB kill qui est une clef USB qui va mettre définitivement hors d’usage votre ordinateur. Il s’agit d’un condensateur qui se charge sur le port USB et, lorsqu’il est chargé, se décharge brusquement dans le port USB grillant ainsi la carte mère et d’autres composants. Le cycle de charge-décharge peut se répéter plusieurs fois par seconde jusqu’à ce que l’ordinateur soit hors d’usage. En novembre 2017, sur deux campus de l’université de Grenoble, une centaine d’ordinateurs ont été détruits par cette méthode. En Australie, les habitants ont reçu par courrier une clef USB malveillante qui installait des malwares (logiciels malveillants) lorsqu’elle était utilisée sur un ordinateur. Il ne faut donc jamais insérer une clef USB inconnue dans son ordinateur. Un exemple d’échange sécurisé est le protocole https utilisé sur internet lorsque l’on se connecte par exemple à un site bancaire. Il s’agit du protocole http utilisé dans la communication client-serveur sur le web, associé à un protocole cryptographique (SSL ou TSL) permettant d’authentifier, de chiffrer les données et de vérifier l’intégrité de celles-ci. Le protocole https n’assure toutefois pas la disponibilité de la liaison client-serveur. Si le boîtier ADSL de l’utilisateur est par exemple en panne, on ne pourra pas se connecter au site distant.
11.5 Vulnérabilités informatiques Une vulnérabilité est une faille dans un système informatique qui induit des faiblesses pouvant être exploitées par des personnes mal intentionnées. L’origine de cette faille peut être accidentelle (bug, séquence de programme mal codée, etc.) ou intentionnelle lorsque c’est un hacker qui la crée. La vulnérabilité d’un système informatique peut être logicielle, matérielle, liée au réseau, etc. Une vulnérabilité peut être utilisée par celui qui l’a trouvée ou elle peut être divulguée. La divulgation totale sur la place publique, c’est-à-dire avec tous les détails pour l’utiliser (full disclosure) est illégale. Cependant, une divulgation responsable aux seules personnes concernées (responsible disclosure), comme l’administrateur du système par exemple, est légale, car cela va permettre de corriger cette vulnérabilité. Les vulnérabilités sont aussi vendues de manière illégale sur le dark web. Certaines grandes entreprises comme Google, Microsoft ou Facebook proposent à toute personne de trouver des vulnérabilités et de le leur signaler : elles peuvent être rétribuées selon l’importance de la faille trouvée. Cela fait partie d’un programme dénommé bug bounty de recherche des vulnérabilités.
180
11. Cybersécurité
Il existe un dictionnaire des vulnérabilités (CVE ou Common Vulnerability Exposures) que l’on peut trouver sur le site http://cve.mitre.org. Microsoft a fait une classification de l’utilisation des vulnérabilités qui est indiquée sur la figure 11.2
Figure 11.2
Le déni de service (DOS et DDOS) sature l’accès d’un site web avec des demandes afin qu’on ne puisse y accéder. Pour ce qui concerne la répudiation de données, il est important de définir ce qu’est la non-répudiation. La non-répudiation s’assure que l’envoyeur a bien envoyé son message et que le destinataire l’a bien reçu. Dans la vie courante, lorsque vous envoyez une lettre en recommandé, c’est pour vous assurer que le destinataire l’a bien reçu (accusé de réception). Cela correspond à la nonrépudiation du destinataire. Cependant, rien n’indique au destinataire que c’est vous qui avez envoyé la lettre. Cela pourrait être quelqu’un d’autre. Si, en revanche, on a vérifié votre identité lors de l’envoi de la lettre, il y a aussi non-répudiation de l’émetteur. En informatique, on utilise le certificat numérique ou certificat électronique pour assurer cette non-répudiation.
11.6 Les armes du hacker Tout système informatique est vulnérable et ne peut pas être protégé à 100 %. Le premier virus apparu en 1970 sur le réseau Arpanet était expérimental et s’est propagé au travers d’un modem. Il se dénommait « Creeper ». Il se contentait d’afficher le message : I’m a creeper: catch me if you can. Si au début de l’informatique, le pirate était un expert, ceci a évolué avec le temps et il est maintenant possible d’acheter des malwares sur étagères ou de louer les services de groupes pour réaliser des attaques.
181
Énergie, entropie, information, cryptographie et cybersécurité
Celles-ci deviennent par ailleurs de plus en plus automatisées et on observe une professionnalisation du domaine. Les armes de base des hackers sont variées et nous allons brièvement en citer quelques-unes.
Virus Les virus sont des logiciels malveillants qui s’installent sur un ordinateur à l’insu de leur propriétaire. Certains programmes s’installent aussi à l’insu du propriétaire lors de mises à jour de logiciels, par exemple. Mais, à la différence des virus, ils n’ont pas pour but de nuire à l’utilisateur, mais plutôt d’améliorer le service qu’ils procurent. Un virus est en principe un programme binaire très court qui se greffe sur un programme utilisé par l’utilisateur. Il peut éventuellement amorcer le téléchargement d’un autre programme beaucoup plus virulent que lui. Le virus effectue une tâche (payload) qui a un effet négatif et inattendu sur le système. C’est l’analogue de la charge virale d’un virus biologique. Un virus a la propriété d’infecter plusieurs programmes et de pouvoir ainsi se disséminer dans tout le système. Ce mode de fonctionnement s’apparente à celui des virus biologiques, d’où leur dénomination. Pour échapper aux antivirus, et contaminer au maximum le système informatique, les virus ont une période d’incubation au cours de laquelle ils infectent le système sans produire d’effets nuisibles apparents. Ils procèdent ainsi comme les virus biologiques qui, pour résister le plus longtemps possible au système immunitaire de l’hôte, ont une période d’incubation silencieuse.
Ver Le ver (worm) est un virus qui a la propriété de se propager au travers du réseau informatique. Initialement, les vers et les virus appartenaient à deux catégories distinctes. Le virus ne se propageait pas sur le réseau et le ver ne se dupliquait pas. Ce n’est plus le cas aujourd’hui et cette distinction est tombée dans la majorité des cas. Le ver se propage et se réplique, le plus souvent automatiquement, dans les réseaux locaux.
Cheval de Troie (trojan) Le cheval de Troie (Trojan horse) est un logiciel qui s’installe sur un ordinateur à l’insu de son propriétaire pour y effectuer des actions malveillantes, par exemple ouvrir une porte dérobée (backdoor) au hacker.
182
11. Cybersécurité
Virus mutant Les virus mutants ont pour origine un virus connu, dont la signature ou le comportement ont été modifiés par un hacker, ce qui lui donne une nouvelle signature. Un virus peut être programmé pour muter régulièrement au cours du temps et déjouer les antivirus.
Virus polymorphe Les virus sont détectés par les antivirus grâce à leur signature, qui leur est spécifique. Les virus polymorphes essaient de contrer ce mode de détection grâce à une fonction de chiffrement et de déchiffrement qui permet d’automatiquement modifier leur apparence.
Retrovirus Les rétrovirus ont la capacité de désactiver les antivirus et les pare-feu. Pour cela, ils attaquent les signatures des antivirus.
Octopus L’octopus est un ver sophistiqué distribué sur plusieurs ordinateurs d’un même réseau. Cela le rend plus difficile à détecter et à éradiquer.
Exploit Un exploit est un programme exploitant une faille de sécurité informatique dans un système permettant de s’introduire dans celui-ci à l’insu de son propriétaire. Cela permet par exemple d’introduire un malware dans celui-ci. EternalBlue est un exemple d’exploit développé par la NSA (National Security Agency) dans le but de pouvoir espionner le contenu d’ordinateurs fonctionnant sous Windows. Cet exploit a été piraté et publié par un groupe de cybercriminels, « The Shadow Brockers » en 2017. Le ransomware « WannaCry » dont nous parlerons plus loin a utilisé cette faille pour infecter plus de 300 000 ordinateurs en 2017. Notons que les web exploits sont très utilisés par les pirates pour infecter les ordinateurs en utilisant leur navigateur. Il suffit parfois d’une simple visite à un site pour être contaminé.
183
Énergie, entropie, information, cryptographie et cybersécurité
Porte dérobée (backdoor) Une porte dérobée (backdoor) fournit au hacker un accès au système d’information au travers du réseau. Il s’agit d’un logiciel de communication installé secrètement par un virus ou un cheval de Troie. La porte dérobée peut aussi se situer au niveau hardware lorsque le pirate a un accès physique au système d’information.
Bombe logique Une bombe logique est un programme, qu’un pirate a réussi à installer sur l’ordinateur cible, qui a la possibilité d’effectuer une action malveillante à une certaine date ou quand un événement particulier se produit. La bombe logique peut par exemple se déclencher à une date anniversaire, lors du passage à la nouvelle année ou lorsque l’utilisateur effectue une action particulière sur son ordinateur (ouverture du millième fichier Word, par exemple).
Le logiciel espion (spyware) Un logiciel espion (spyware) permet de collecter des informations sur l’utilisateur de l’ordinateur comme des identifiants, des mots de passe, des numéros de carte bleue lors d’achats en ligne, etc. Les spywares ne sont pas toujours utilisés à des fins criminelles. Ils sont souvent utilisés par les sociétés commerciales pour espionner la navigation de l’internaute et lui proposer par la suite des publicités ciblées.
Keylogger Un keylogger est un spyware particulièrement dangereux, car il permet d’enregistrer et de transmettre tout ce que l’utilisateur tape sur son clavier.
Rootkit Le rootkit est une autre forme de spyware permettant d’espionner un utilisateur en ouvrant par exemple une porte dérobée dans le système. Il permet de prendre le contrôle de la machine infectée, en mode administrateur, tout en restant invisible à l’utilisateur. En 2005, on a découvert que Sony avait implanté un rootkit développé par une société tierce dans les CD de musique qu’il vendait. Le but était de surveiller un piratage éventuel. Une fois le CD joué dans un ordinateur, le rootkit s’installait à insu de l’utilisateur dans le système de ce dernier et pouvait transmettre à Sony l’identité du CD, celle de l’ordinateur et son adresse IP. Malheureusement, la présence de ce rootkit ouvrait des brèches de sécurité permettant des attaques par les hackers.
184
11. Cybersécurité
Attaque zero day Une attaque zero-day ou ZETA (Zero Day Exploit Attack) utilise une faille que le pirate vient de découvrir et que l’utilisateur, le développeur du logiciel utilisé ou l’éditeur d’antivirus n’ont pas encore identifiée. Il n’existe donc pas de moyen pour contrer cette attaque. Des développements sont nécessaires pour rapidement identifier cette menace et prendre des contre-mesures.
Botnet Un botnet (contraction de robot et network) est un ordinateur ou objet connecté dont on a pris le contrôle à l’aide d’un cheval de Troie. L’association de plusieurs botnets permet d’avoir un parc d’ordinateurs esclaves aux ordres d’un hacker qui les gère à distance. Ces réseaux de botnets sont souvent utilisés pour envoyer des spams ou faire des attaques de type DDOS (Distributed Deni of Service).
Ransomware (rançongiciel) Un ransomware est un malware qui empêche l’utilisateur d’utiliser son système d’information. Il chiffre par exemple les données du disque dur et demande une rançon pour pouvoir le débloquer. Il peut aussi rendre le système d’exploitation inopérant. La clef de cryptage des données ou le logiciel de déblocage peut être fourni contre rançon. Le paiement de celle-ci doit s’effectuer en cryptomonnaie, la plupart du temps en bitcoins. Il est préférable de ne pas payer, car cela ne sert souvent à rien, car le pirate ne tient pas parole. De plus, ceux qui rançonnent peuvent considérer que c’est le début d’un paiement périodique en indiquant par exemple que dans 1 an le système sera à nouveau bloqué par le ransomware qui reste caché dans l’ordinateur. Le développement des ransomwares est en pleine expansion. Entre 2016 et 2017, selon Wikipedia, cette augmentation a été de 36 %. La propagation d’un ransomware est analogue à celle d’un cheval de Troie. Il pénètre le système d’information grâce à des mails malicieux ou en utilisant un web exploit (programme permettant d’utiliser une faille informatique du système, comme EternalBlue) et va exécuter une charge virale qui permettra soit de chiffrer les données de l’utilisateur, soit de fortement perturber le système d’exploitation. Dans ce dernier cas, cela peut même aller jusqu’à complètement dérégler le fonctionnement du MBR (Master Boot Record), ce qui empêche le système de démarrer. En mai 2017, le ransomware WannaCry a été utilisé contre de grosses entreprises comme Saint-Gobain, Vodafone ou la Deutsche Bahn. Plus de 300 000 ordinateurs ont été infectés dans le monde, dans plus de 150 pays. Il utilisait l’exploit EternalBlue développé par la NSA et qui n’avait pas été corrigé par Microsoft. En 27 juin 2017, une nouvelle attaque avec le ransomware NotPetya a eu lieu. L’entreprise Saint-Gobain a été particulièrement touchée, avec une perte d’environ 250 millions d’euros sur les ventes et de 80 millions d’euros sur le résultat d’exploitation.
185
Énergie, entropie, information, cryptographie et cybersécurité
Les APT (Advanced Persistent Threat) Une APT, ou menace persistante avancée, est une attaque visant une cible bien précise contrairement aux attaques massives qui essaient de toucher le plus grand nombre d’ordinateurs. Son but est de pénétrer de manière furtive et invisible dans une entreprise et de peu à peu pouvoir accéder à tout le réseau local pour siphonner des données et des informations le plus discrètement possible avant de se retirer sans être détectée. Une APT peut durer plusieurs mois et même une année. Elle est réussie si l’attaquant a pu commettre son forfait sans avoir été détecté et sans que l’utilisateur se soit aperçu de quelque chose. L’objectif principal est en général l’espionnage industriel. Si un concurrent arrive par exemple à connaître la proposition de prix et les détails d’un gros contrat avant sa soumission, il est clair qu’il pourra proposer un prix légèrement inférieur et remporter le marché. De plus, le siphonnage d’informations techniques peut aussi être important pour lui. L’ingénierie sociale est une des méthodes utilisées dans ces attaques associées à plusieurs des armes décrites ci-dessus. Ainsi, au lieu de diriger une attaque sur un employé de l’entreprise, il peut par exemple être plus efficace et moins voyant de le faire sur un membre de sa famille.
Hoax (canular ou Fake news) Un hoax est une information fausse diffusée sur le net, le plus souvent par mail. Elle peut concerner la disparition d’enfant, une alerte virus, etc. On demande souvent de faire suivre cette information. Ce type de malware encombre inutilement le réseau et génère un trafic inutile. On peut vérifier qu’une information reçue n’est pas un hoax sur le site http://www.hoaxbuster.com par exemple.
11.7 Cybersécurité des installations industrielles Jusqu’ici, nous avons parlé de cybersécurité des systèmes informatiques. Ils pilotent parfois des installations industrielles et peuvent être la porte d’entrée à des attaques visant la partie matérielle de ces dispositifs. On parle dans ce cas de malveillance cybernétique. Les attaques peuvent concerner aussi bien les composants électroniques du système industriel (microcontrôleurs, processeurs, capteurs, actionneurs, etc.) que les logiciels qui pilotent ces composants. Le but de ces attaques est de mettre en panne le dispositif industriel ou de lui faire faire des actions interdites ou dangereuses. Les systèmes industriels sont devenus aujourd’hui des cibles intéressantes pour les pirates qui appartiennent le plus souvent à une organisation mafieuse ou à une agence étatique. Leur but est de soutirer de l’argent à l’entreprise attaquée, de
186
11. Cybersécurité
déstabiliser celle-ci pour de multiples raisons (politique, financière, pour le compte d’un tiers, etc.) ou de l’espionner. La cyberattaque d’un système industriel la plus médiatisée est celle des centrifugeuses iraniennes par le ver STUXNET, qui a été détectée en 2010. Le but de cette attaque était de saboter le programme d’enrichissement en uranium de l’Iran. Ce ver très sophistiqué a existé sous plusieurs versions. Il a été conçu pour ne s’attaquer qu’à une configuration industrielle particulière reposant sur des automates Siemens. Il se propageait par l’intermédiaire d’une clef USB et par le réseau local. Il était discret la plupart du temps pour ne pas éveiller les soupçons de la victime et modifiait furtivement la configuration des automates à des moments pouvant échapper à la surveillance. Il a pu ainsi endommager des centrifugeuses de l’usine en accélérant et freinant celles-ci pendant des temps très courts à des moments où cette opération ne pouvait être détectée. À la suite de la découverte de STUXNET et en partant de celui-ci, d’autres malwares sont apparus avec des finalités différentes. DuQu, en 2011, a pour but de récolter des informations et des données techniques sur des équipements industriels. C’est un RAT (Remote Access Trojan) qui ne se réplique pas, mais peut se propager. Il est très similaire à STUXNET, mais sa charge virale (payload) n’est pas conçue pour saboter un équipement. Son but est d’accéder de manière distante et de recueillir des informations. Il est configuré pour infecter le système pendant 30 jours avant de s’autodétruire pour ne pas laisser de traces. En 2012, FLAME (FLAMER ou sKyWIper) est un malware très sophistiqué détecté en 2012 en Iran dont le but est le cyberespionnage (fichiers, conversations, écrans, etc.). C’est un malware très complexe qui sait être furtif et se cacher. Des groupes de pirates se sont constitués pour espionner ou saboter des installations industrielles. C’est le cas du groupe Dragon Fly, connu auparavant sous les noms d’Energetic Bear et Crouching Yeti. Ils opèrent depuis 2010 dans le secteur industriel et plus particulièrement celui de l’énergie depuis 2013. Ils s’intéressent aussi au secteur de la construction, de l’industrie pharmaceutique, des éditeurs de logiciels, etc. Ils utilisent l’ingénierie sociale, l’infection d’un site légitime ou d’un logiciel légitime pour introduire une backdoor.
11.8 Ingénierie sociale (social engineering) L’ingénierie sociale est l’art de manipuler psychologiquement des personnes dans le but d’obtenir des informations confidentielles, des services ou de les escroquer. Elle est souvent utilisée lors de l’attaque d’une entreprise pour obtenir des informations permettant de plus facilement pénétrer le système informatique. Elle utilise le fait que la plupart des gens ont une tendance naturelle à faire confiance à l’autre. C’est donc une approche psychologique basée sur le facteur humain. L’ingénierie sociale peut se faire par mail, téléphone ou par contact direct.
187
Énergie, entropie, information, cryptographie et cybersécurité
L’ingénierie sociale peut aussi être utilisée seule pour escroquer une entreprise ou un particulier. Dans l’arnaque du président, l’escroc se fait passer pour le PDG de la société et demande à une personne de la comptabilité d’effectuer un virement. L’escroc connaît parfaitement le fonctionnement et les usages de la société grâce à des recherches préalables sur internet et de l’ingénierie sociale auprès d’employés. La société Michelin s’est ainsi fait escroquer de 1,6 million d’euros. Entre 2013 et 2016, le préjudice de ce type d’arnaque a été estimé par le FBI à 2,3 milliards de dollars. L’arnaque du président s’est étendue et touche maintenant les PME. Le principe de l’arnaque au président est le suivant : L’escroc se fait passer pour un haut dirigeant de l’entreprise (PDG ou directeur). Son but est d’obtenir d’une personne de la comptabilité qui en a le pouvoir un ou plusieurs virements bancaires sur un compte à l’étranger. Pour cela, il prétexte l’urgence et la confidentialité pour une opération particulière, par exemple une acquisition d’entreprise à l’étranger. L’escroquerie se fait en général par téléphone avec souvent un échange par mail. L’adresse mail étant « personnelle » par souci de confidentialité. L’arnaque du président a pour objectif d’obtenir directement de l’argent. Toutefois, l’ingénierie sociale est appliquée lors de nombreuses phases d’attaque d’un système informatique. Elle sert à obtenir des renseignements sur l’entreprise et sur son système d’information pour pouvoir mieux la pénétrer. Tous les collaborateurs d’une entreprise sont concernés. Le simple fait d’avoir accès au contenu des poubelles permet déjà d’obtenir un grand nombre d’informations. Nous conseillons au lecteur de regarder des vidéos de présentation sur YouTube où différents cas d’ingénierie sociale sont présentés. La série réalisée par Conscio Technologies donne en particulier une excellente vue d’ensemble de ce sujet.
11.9 Contre-mesures Il est important de retenir qu’il n’y a pas de protection absolue. Toute protection peut être contournée et les attaques parmi les plus dangereuses sont les attaques zero-day. Ce sont celles qui sont utilisées la première fois et pour lesquelles il n’y a pas de parade prévue. Il y a un temps de latence entre la détection et la mise en place de contre-mesures pendant lequel de gros dégâts peuvent être faits. La figure 11.3 indique quelques étapes à suivre lors d’une attaque. Il faut d’abord la détecter, identifier sa nature pour essayer de s’en protéger quand les outils de protection n’existent pas (attaque zero-day, par exemple). Dans ce dernier cas, il faut trouver le plus rapidement possible une réponse à ce type d’attaque et réparer les dégâts causés.
188
11. Cybersécurité
Figure 11.3
Approches de la protection Les trois principales philosophies possibles pour se protéger sont indiquées dans la figure 11.4. Elles ne sont bien entendu pas exclusives, mais peuvent être prédominantes dans une stratégie de protection d’un système d’information. Elles tiennent compte du fait que souvent l’ennemi peut venir de l’intérieur. Il peut s’agir d’une personne manipulée à son insu par ingénierie sociale, d’une personne qui souhaite monnayer des informations (espionnage) ou d’une personne mécontente de la société pour diverses raisons (promotion manquée, licenciement, etc.).
Figure 11.4
189
Énergie, entropie, information, cryptographie et cybersécurité
La première approche est une protection basée sur les risques. On ne va pas protéger de la même manière des données ultra confidentielles sur des méthodes de fabrication et des notes de service. Avec cette approche, le personnel d’une entreprise n’aura pas accès à toutes les informations et celles-ci seront protégées selon leur importance. Ainsi, un ordinateur complètement isolé de l’extérieur situé dans une pièce faisant office de cage de Faraday sera bien mieux protégé contre des attaques qu’un ordinateur relié à internet, quelles que soient les précautions que l’on puisse prendre pour ce dernier. Comme on est sûr de ne pas pouvoir contrer toutes les attaques, il est préférable de mettre en place un système de défense en profondeur. Ce dernier consiste en des barrières de protection successives qui arrêtent ou ralentissent les tentatives d’infiltration d’un hacker. C’est un peu comme les différents remparts que l’on peut disposer autour d’un château pour ralentir l’attaque d’un ennemi. La défense en profondeur est la base de la protection d’un système informatique vis-à-vis d’attaques extérieures, mais n’exclut pas des malveillances internes. La troisième approche est la surveillance et la protection totale du système d’information. Chaque personne doit être identifiée dans tous ses accès au système d’information et ne peut accéder qu’à certaines ressources selon un système d’accréditation dépendant des privilèges qui lui sont accordés. On doit savoir, pour tout fichier ouvert et consulté, qui l’a fait et à quelle heure, etc. Cette approche ne peut s’appliquer que dans des domaines particuliers, comme ceux liés à la défense nationale, par exemple, car elle est lourde et coûteuse.
Le pare-feu Le pare-feu (firewall) est un filtre pour le trafic entrant ou sortant d’un ordinateur ou d’un réseau local. C’est la première ligne de défense du système d’information. Dans une entreprise, il est souvent placé en périphérie du réseau local pour contrôler l’accès aux ressources informatiques de celle-ci. Le pare-feu filtre les trames qui arrivent ou qui veulent sortir du système d’information. Il limite les risques d’accès non autorisés, détecte des intrusions et protège les serveurs accessibles depuis le réseau externe. Le pare-feu peut être plus ou moins sophistiqué, mais il ne dispense pas de protéger les ordinateurs individuels (mises à jour, antivirus).
Les mots de passe Un mot de passe est utilisé dans de multiples occasions dès que l’on utilise un ordinateur et que l’on se connecte aux serveurs d’une entreprise, à des sites internet, à des bases de données, etc. C’est souvent le seul rempart pour que d’autres personnes n’utilisent pas ces services en se faisant passer pour vous. Un mot de passe robuste doit fortement résister aux attaques des hackers qui essaient en général plusieurs méthodes pour le casser. La première est d’utiliser les
190
11. Cybersécurité
informations qu’ils connaissent sur la personne qui utilise ce mot de passe (date de naissance, prénom du conjoint, des enfants, etc.). La deuxième méthode consiste à faire une attaque avec des mots de passe enregistrés dans un dictionnaire. Si ces deux méthodes échouent, les pirates utilisent la force brute pour essayer de casser le mot de passe, mais cela demande beaucoup plus de temps. Un certain nombre de précautions doivent être prises au sujet des mots de passe et nous allons en examiner quelques-unes, même si ces précautions ne sont pas toujours suivies. • Lorsqu’on se connecte pour la première fois à un service sur internet, on nous attribue parfois un mot de passe provisoire. Il faut bien sûr le changer immédiatement pour les connexions ultérieures. • On doit avoir un mot de passe par service. En effet, si on utilise le même mot de passe pour tous les services, il suffit qu’un hacker le craque pour l’un des services pour qu’il puisse l’utiliser pour les autres. • Un mot de passe doit être assez compliqué pour ne pas être deviné facilement. Toutefois, cela le rend aussi plus difficile à retenir par l’utilisateur. Il ne faut pas l’écrire sur un document qui soit facilement accessible, par exemple un post-it collé sur l’ordinateur ou sur un carnet gardé dans le tiroir du bureau. Il existe des logiciels permettant de gérer un ensemble de mots de passe en n’en retenant qu’un seul. • Le mot de passe doit être suffisamment robuste pour ne pas être cassé facilement. Il doit être assez long et comporter des caractères spéciaux, des lettres majuscules et minuscules ainsi que des chiffres. En effet, comme nous l’avons dit plus haut, pour casser un mot de passe, le hacker va essayer des mots de passe en relation avec la personne, comme sa date de naissance, son numéro de téléphone, le prénom de ses proches ou le nom de son chien, etc. S’il ne trouve pas, il va essayer une attaque en utilisant un dictionnaire de mots de passe. Si le mot de passe choisi est très compliqué, il va devoir faire une attaque par force brute, ce qui demande beaucoup de temps. Voilà un exemple de mot de passe que l’on peut construire à partir d’une phrase qu’il sera facile de retenir en utilisant une règle que l’on gardera pour soi. Soit la phrase : Je vais prendre ma voiture pour aller à Paris On peut par exemple prendre comme règle de commencer le mot de passe par ? et le finir par # puis prendre la première lettre de chacun des mots alternativement en majuscule et minuscule. Avec cette règle, le mot de passe serait alors : ?JvPmVpAaP#
191
Énergie, entropie, information, cryptographie et cybersécurité
Antivirus Les antivirus permettent de réduire la probabilité qu’un ordinateur soit infecté par un virus. Ils ne sont néanmoins pas infaillibles et ne permettent pas de détecter 100 % des attaques. Un virus zero-day peut ainsi attaquer un ordinateur sans être détecté. Il faut un certain temps pour que la communauté des éditeurs d’antivirus puisse développer une protection contre ce nouveau virus et l’éradiquer s’il s’est déjà installé. La détection des virus peut se faire : • à l’entrée du réseau local pour le détecter aussi tôt en amont que possible ; • sur l’ordinateur de l’utilisateur. Dans ce cas, il inspecte les entrées, la mémoire centrale et le ou les disques durs. Les logiciels antivirus peuvent être activés à la demande de l’utilisateur (mode statique) ou effectuer la détection en temps réel (mode dynamique). Le second mode est plus efficace, mais ralentit le système. La détection d’un virus peut se faire grâce à sa signature, ce qui signifie que l’antivirus a accès à une base de données des signatures régulièrement mise à jour. L’antivirus peut également regarder s’il n’y a pas des instructions qui apparaissent avec une fréquence anormale. Cette méthode peut conduire à de faux positifs.
Le VPN (Virtual Private Network) Les locaux d’une entreprise sont souvent situés à des endroits différents. Certains peuvent être à Paris, d’autres à Bordeaux, par exemple. Le système d’information repose sur un réseau interne au travers duquel transitent des informations confidentielles. Il permet de relier les ordinateurs de l’entreprise entre eux. Le réseau interne est en général isolé de l’extérieur et doit être étanche pour assurer la confidentialité des échanges entre les ordinateurs de l’entreprise. Pour que des machines situées dans des lieux géographiquement différents puissent communiquer entre elles en toute confidentialité, deux solutions sont possibles. • On peut interconnecter les sites avec une ligne propriétaire, mais il faudra quand même crypter les données lors de leur transmission, car on ne peut exclure une écoute de celle-ci. Cette solution est chère et réservée à des cas particuliers. • L’autre solution est d’utiliser le réseau internet et un VPN (Virtual Private Network). Faisons une analogie pour comprendre la différence entre ces deux méthodes et supposons que l’on veuille envoyer un message de Paris à Bordeaux. La première consisterait à utiliser un messager qui irait en voiture de Paris à Bordeaux pour remettre le message. La seconde utiliserait la poste, mais le message contenu dans l’enveloppe serait crypté. Le VPN permet de protéger les données lors de leur transmission sur le réseau internet en créant un « tunnel » sécurisé entre les deux sites distants. Le VPN permet
192
11. Cybersécurité
aussi de communiquer en toute confidentialité avec les clients et le personnel de l’entreprise en déplacement. Le principe du VPN est donc d’encapsuler les données à transmettre de façon cryptée (tunneling). Ce système relie deux machines ou un ensemble de machines appartenant à un réseau interne, par un réseau virtuel utilisant les ressources d’internet pour transmettre des données de manière chiffrée. Un protocole de tunnellisation crypte les données à transmettre. Tout se passe donc comme si les données passaient dans un tunnel protégé du milieu extérieur. Cette méthode permet ainsi d’utiliser le réseau public. Lorsque deux machines distantes sont connectées par VPN, le client VPN permet de chiffrer et déchiffrer les données de l’utilisateur et le serveur VPN fait le même travail du côté du système informatique de l’organisation. Le VPN peut aussi être utilisé par les particuliers qui souhaitent naviguer sur internet de façon anonyme. Au lieu de se connecter sous son adresse IP, le VPN permet de se connecter sous l’adresse IP d’un serveur géré par le VPN. Ce serveur peut être en France ou à l’étranger. Le VPN est utile pour les gens qui voyagent à l’étranger et qui veulent échapper à la surveillance du pays en question, notamment quand il s’agit d’espionnage économique ou d’échanges qui pourraient être considérés comme subversifs. Le fait d’être connecté avec une adresse IP d’un autre pays permet aussi d’accéder à certains sites ou services inaccessibles en France. Le VPN permet de se connecter à des bornes WiFi publiques de façon anonyme et sécurisée. Dans les pays où la censure est forte, cela permet aux dissidents de communiquer entre eux ou d’envoyer des informations à l’extérieur. Les journalistes étrangers peuvent aussi envoyer des informations à leur rédaction, ce qui parfois est impossible par les voies normales. L’utilisation d’un VPN empêche (ou réduit fortement) l’espionnage des institutions ou des services secrets comme la NSA, les attaques des hackers ou la surveillance des téléchargements comme par Hadopi. Cela permet aussi d’éviter que votre fournisseur d’accès ait accès à vos activités sur internet. Si l’on utilise le réseau Tor, qui permet d’être pratiquement complètement anonyme, il est important d’avoir un VPN pour l’utiliser. Tor est un réseau mis en place initialement par la marine américaine pour permettre à des dissidents, journalistes, etc. de communiquer dans la plus grande discrétion dans des pays où la censure est importante. Il permet d’accéder au deep web et au dark web. Il a aussi été détourné de son but initial et permet d’accéder à des sites vendant des marchandises et services illicites (drogues, armes, fausse monnaie, cartes de crédit volées, etc.) qu’il faut bien sûr éviter.
Ingénierie sociale Le facteur humain est un des points faibles de la sécurité informatique. L’ingénierie sociale est un outil fréquemment utilisé par les pirates pour soutirer des informations.
193
Énergie, entropie, information, cryptographie et cybersécurité
À partir de renseignements partiels qu’ils obtiennent avec différentes sources, ils peuvent en faire une synthèse et identifier les points faibles pour pénétrer le système informatique. L’ingénierie sociale implique une ou plusieurs personnes qui vont essayer de soutirer des informations ou des privilèges à un ou une employée d’une société ou d’un organisme. Ceci peut se faire dans le lieu de travail ou à l’extérieur, dans la vie privée. Cette personne est en général très sympathique et on a tendance à lui faire confiance. Il faut néanmoins être méfiant, car elle peut en réalité être moins sympathique qu’il n’y paraît. Les principaux signaux dont il faut se méfier lorsque l’on travaille dans une entreprise sont les suivants : • l’attaquant se fait souvent passer pour quelqu’un d’important dans la société ou à l’extérieur de celle-ci. Il dit par exemple qu’il est le chef d’un service ou directeur dans une filiale, qu’il est un représentant d’un ministère ou d’un organisme de contrôle, etc. Son but est de prendre un ascendant sur la personne qu’il interpelle qui peut être à l’accueil ou travailler dans un secrétariat ; • l’attaquant met souvent en avant un sentiment d’urgence. Par exemple, s’il n’a pas le renseignement demandé, la société risque de perdre un contrat important. Souvent, il va demander une personne dont il sait qu’elle est absente ou en vacances et qui lui a prétendument promis quelque chose. Le but est que la victime décide vite, sans pouvoir approfondir et vérifier la nature de la demande ; • la demande peut être étrange ou inhabituelle, comme c’est le cas dans l’arnaque au président. Au téléphone, l’attaquant peut par exemple dire qu’il appartient au service informatique de l’entreprise et demander de prendre le contrôle à distance du poste de la victime en prétextant qu’un virus a contaminé son ordinateur ; • l’attaquant se comporte souvent avec une grande gentillesse. Cette gentillesse peut bien sûr être réelle s’il s’agit d’une personne honnête, mais si on ne la connaît pas, il faut quand même se méfier, car comme dit le proverbe : « Trop poli pour être honnête » ; • avant de commencer son attaque par ingénierie sociale, l’attaquant s’est très bien renseigné sur l’entreprise et en a une bonne connaissance. Il va profiter de celleci pour assommer son interlocuteur de noms de gens importants dans l’entreprise afin de montrer à sa victime qu’il connaît bien l’entreprise et qu’il connaît des gens importants. Cette dernière aura alors tendance à baisser sa garde ; • le dernier signal concerne l’intuition que peut avoir la victime qui se dit que tout cela lui semble bizarre ou louche. Dans ce cas, il lui faut éviter la précipitation vis-à-vis de son interlocuteur. Chacun de ces signaux ne veut pas dire que la personne que vous avez en face de vous souhaite obtenir des informations en vue d’une attaque, mais il faut néanmoins rester sur ses gardes, car souvent les escrocs sont des gens très sympathiques avant que l’on sache ce qu’ils sont.
194
11. Cybersécurité
11.10 Pour en savoir plus J.-F. Pillou, Tout sur la sécurité informatique, Dunod, 2016 L. Bloch, C. Wolfhugel et al., Sécurité informatique, principes et méthode à l’usage des DSI, RSSI et administrateurs, Eyrolles, 2016 S. Ghernaouti, Cybersécurité : Sécurité informatique et réseaux, Dunod, 2016 P. Rascagnères, Sécurité informatique et Malwares : Analyse des menaces et mise en œuvre des contre-mesures, Dunod, 2016 J.-F. Carpentier, La Sécurité informatique dans la petite entreprise : État de l’art et bonnes pratiques, Éditions ENI, 2016 Ouvrage collectif, Guide d’autodéfense numérique, tomes 1 et 2, Tahin Party, 2014 C. Cohle, Je sais qui vous êtes : Le manuel d’espionnage sur internet, Institut Pandore, 2014 D. Maniez, Tout pour bien protéger son PC : Spywares, virus, etc., Dunod, 2012 O. Terrien, Les 36 stratagèmes de la guerre électronique, OTY productions SAS, 2012 A. Gomez Urbina, Hacking interdit, Micro Application, 2010 X. Tannier, Se protéger sur internet : Conseils pour la vie en ligne, Eyrolles, 2010 C. Hadnagy, Social engineering: the art of human hacking, John Wiley & Sons, 2010 A. Gomez Urbina, Se protéger du piratage, Micro Application, 2008 Y. Fourastier et L. Piètre-Cambacédès, Cybersécurité des installations industrielles : Défendre ses systèmes numériques, Cépaduès éditions, 2015 J.-P. Ney, Souriez, on vous espionne, Cherche Midi, 2005
195
12 Exercices
12.1 Énergie Exercice 1 Un camion de 10 t roule à 100 km/h. 1. Quelle est son énergie cinétique en kWh ? 2. Même question pour 3,6 t d’eau tombant d’une hauteur de 100 m. L’accélération de la pesanteur vaut g = 9,8 m/s2. 3. À quelle vitesse doit rouler une voiture de 1,5 t pour que son énergie cinétique soit de 1 kWh ? Exercice 2 On considère une voiture de 1,2 t. Elle passe de 0 à 100 km en 10 s sur une route horizontale. En négligeant la résistance de l’air, les forces de frottement sur le sol ainsi que toutes les forces de friction présentes dans la voiture, calculer l’énergie qu’il a fallu dépenser, ainsi que la puissance moyenne utilisée. Exercice 3 1. En 2016, la France a produit 419 TWh d’électricité à partir de l’énergie nucléaire. Quelle quantité de masse a été transformée en énergie ? 2. L’unité de masse atomique est définie comme 1/12 de la masse du 12C. Calculer, en MeV, l’énergie libérée lors de la transformation d’une unité de masse atomique (uma).
197
Énergie, entropie, information, cryptographie et cybersécurité
3. La puissance rayonnée par le Soleil dans tout l’espace est de 3,9 × 1026 W. Calculer la masse perdue par seconde. Sachant que le système solaire s’est formé il y a 4,6 milliards d’années et en supposant que la luminosité du soleil n’a pas varié (ce qui n’est pas vrai, car son rayonnement était environ 30 % plus faible au début de sa formation), calculer la masse totale perdue depuis sa formation. Sachant que la masse du soleil est de 1,99 × 1030 kg, quelle est la proportion de la masse du soleil transformée en énergie ? La vitesse de la lumière vaut c = 300 000 km/s. La charge de l’électron vaut e = −1,6 × 10−19 C. Nombre d’Avogadro N = 6,022 × 10 23 mole −1. Exercice 4 On considère deux noyaux de numéro atomique Z1 et Z2 situés à une distance de quelques fm R. 1. Donner l’expression de l’énergie coulombienne Ec de ces deux noyaux situés à la distance R. 2. Calculer c en MeV.fm. 3. Donner la formule donnant Ec en MeV lorsque R est en fermis. On donne : Charge élémentaire : e = 1,6 × 10−19 C. =
h = 1,054 × 10 −34 J.s (h = constante de Planck) 2π
Constante de structure fine de l’interaction électromagnétique : α = Vitesse de la lumière : 3 × 108 m/s.
e2 1 1 . = = c 4πε0 137
Exercice 5 Une balle dont la masse est 100 g est violemment frappée avec une batte de baseball. Elle atteint une vitesse de 100 km/h en 1/5 de seconde. 1. Calculer la vitesse de la balle en m/s. 2. À quelle accélération la balle a-t-elle été soumise ? 3. Quelle est la force exercée sur la balle ? 4. Quelle est l’énergie cinétique de la balle ? 5. Quelle puissance a été fournie pour amener la balle à cette vitesse ?
198
12. Exercices
12.2 Thermodynamique Exercice 6 On considère une mole de gaz parfait enfermée dans un cylindre en métal dont une des bases est un piston mobile. L’état initial est A0. On se propose de décrire le cycle indiqué sur la figure (cycle de Lenoir) dans le sens A0 → A1 → A2.
1. Dans l’état initial A0, la pression est P0 = 105 pascals et le volume V0 = 22,4 litres. Calculer la température du gaz. 2. On effectue une détente isobare pour que le volume du gaz devienne 2V0 (état A1). Calculer la température T1 du gaz. 3. On passe de l’état A1 à A2, où le volume du gaz est V0 par une compression isotherme. Calculer la pression P2. 4. On ferme le cycle en revenant à l’état A0 par une détente isochore (volume constant). Calculer le travail W échangé dans chacune de ces étapes. 5. Quelle est la quantité de chaleur Q échangée au cours du cycle. 6. Expliquer comment, expérimentalement, on peut décrire ce cycle. La constante des gaz parfaits vaut R = 8,32 J/K. Exercice 7 L’énergie interne d’un gaz dépend de son entropie S, de son volume V, et du nombre de particules N : E = E (S , V , N ) 1. E est une variable extensive, c’est-à-dire une fonction homogène de degré 1. Écrire ce que cela signifie mathématiquement. 2. Sachant que : T =
∂E ∂E ∂E P = − et µ = ∂S ∂V ∂N
Calculer E.
199
Énergie, entropie, information, cryptographie et cybersécurité
3. Calculer la différentielle dE. 4. Montrer que l’on peut obtenir la relation de Gibbs-Duhem : SdT − VdP + Ndμ qui est une relation différentielle entre les variables intensives. ∂E ∂E , cela veut dire en fait Remarque : quand on écrit par exemple ∂S ∂S
( )
V,N
.
Exercice 8 Sachant que la température, la pression et le potentiel chimique sont définis par : T =
( ∂∂US )
V,N
P = −
( ∂∂UV )
S, N
et µ =
( ∂∂NU )
S,V
Où U = U (S , V , N ) est l’énergie interne d’un système contenant N particules d’entropie S et de volume V. 1. Calculer la différentielle totale dU. 2. Calculer la différentielle totale de l’énergie libre dF. 3. Calculer la différentielle totale de l’enthalpie dH. 4. Calculer la différentielle totale de l’enthalpie libre dG. Exercice 9 On considère un récipient de volume V2, en équilibre thermique avec un thermostat à la température T = 27 °C, divisé en deux parties V1 et V0. Le volume V1 contient une mole de gaz parfait à la pression P1. Le volume V0 est vide, c’est-à-dire qu’on en a retiré l’air avec une pompe à vide. V1 et V0 sont séparés par une paroi en verre. On casse la vitre en verre, ce qui met en communication les deux parties du récipient. À l’équilibre, après la détente, la température est T (le système est en contact avec le P thermostat à la température T) et la pression mesurée dans V2 est P2 = 1 . 10 3 L’équation d’état du gaz parfait est : PV = RT pour la pression et U = RT pour 2 l’énergie. 1. Quelle est la valeur de V2 et V0 en fonction de V1 ? 2. Calculer ΔU, ΔF, ΔH, ΔG et ΔS. Exercice 10 On fait une détente isotherme quasi statique de 1 m3 de gaz parfait de la pression P1 = 10 atm à la pression P2 = 1 atm. Calculer la quantité de travail et de chaleur échangée avec le milieu extérieur au cours de ce processus. On prendra 1 atm = 105 Pa. R = 8,314 S.I.
200
12. Exercices
Exercice 11 On considère la fonction f ( x , y ) = 7 x 2 + 3 xy + 5 y 2 . 1. Calculer les dérivées partielles ∂f ( x , y ) ∂f ( x , y ) ∂f 2 ( x , y ) ∂f 2 ( x , y ) ∂f 2 ( x , y ) ∂f 2 ( x , y ) , , et . , , ∂x ∂y ∂y ∂x ∂x ∂y ∂x 2 ∂y 2 2. Calculer ∇f ( x , y ). Exercice 12 Si trois variables x, y, z sont liées entre elles par la relation f ( x , y , z ) = 0, elles ne sont pas indépendantes et chacune des variables peut être considérée comme une fonction des deux autres : x = x ( y , z ), y = y ( x , z ) et z = z ( x , y ) . Montrer que : ∂y ∂x 1. = 1 ∂ y ∂ z x z ∂y ∂x ∂z 2. ∂y z ∂z x ∂x
( )
y
= −1
Exercice 13 Soient deux blocs métalliques 1 et 2 constitués respectivement de N1 et N2 moles de métal. Le bloc 1 est à la température T1 et le bloc 2 à la température T2. On peut considérer l’ensemble des deux blocs comme un système isolé. L’énergie interne d’un bloc de métal de N moles à la température T est supposée égale à U = KNT, où K est une constante. On met les deux blocs en contact et ils échangent de la chaleur. Le plus chaud se refroidit et le plus froid se réchauffe. Soit Tf la température à l’équilibre. 1. Calculer la température d’équilibre Tf . 2. Calculer la variation d’entropie au cours de cette transformation.
12.3 Physique quantique Exercice 14 Considérons le mouvement quantique à une dimension d’une particule. L’opérateur ∂ px = −i . Calculer le commutateur [xˆ, pˆ x ]. Conclusion ? asso ∂x
201
Énergie, entropie, information, cryptographie et cybersécurité
Exercice 15 Quelles doivent être les dimensions d’une boîte quantique cubique pour qu’un électron, situé sur le niveau fondamental ne soit pas excité à la température ordinaire de 300 K ? Exercice 16 On considère un grain de poussière de dimension 1 µm qui a une masse de 1 pg. Il se déplace dans l’air à la vitesse de 1 mm/s. On mesure la position de la poussière avec une précision de 10 nm. Calculer l’incertitude quantique sur l’impulsion associée. Doit-on s’en préoccuper ? Exercice 17 On considère un grain de poussière de dimension 1 µm dont la masse est de 1 pg et qui se déplace à la vitesse de 1 mm/s. Calculer la longueur d’onde de de Broglie. Ce grain de poussière se comporte-t-il comme une particule classique ou comme une particule quantique ? Exercice 18 On considère un gaz de neutrons thermiques comme ceux que l’on peut trouver dans et près du cœur d’un réacteur nucléaire. Leur énergie cinétique moyenne est 3 k T . On suppose que la température est de 300 K. Calculer leur longueur d’onde 2 B de de Broglie. Ce gaz de neutrons arrive sur un cristal dont les atomes sont séparés les uns des autres d’environ 1 Å. Que va-t-il se passer ? On donne pour la masse du neutron m = 1,67 × 10 −27 kg et kB = 1,38 × 10 −23 J/K . Exercice 19 Les niveaux d’énergie d’une particule de masse m dans une boîte cubique de côté L sont donnés par la formule suivante : E (nx , n y , nz ) = ε 0 (nx2 + n 2y + nz2 ) où nx, ny, nz sont des entiers > 0 et ε 0 =
π 2 2 2mL2
1. Combien y a-t-il de niveaux où l’énergie E ≤ 30ε 0 ? 2. Quelle est la dégénérescence des niveaux d’énergie : E = 12ε0, E = 18ε0, E = 21ε0 et E = 27ε0 ? 3. Quel est le nombre de micro-états d’énergie E ≤ 30ε 0 ?
202
12. Exercices
Exercice 20 On considère un photon ultraviolet dont la longueur d’onde est de 350 nm. 1. Calculer l’énergie de ce photon. 2. On considère une réaction photochimique impliquant l’absorption de ce photon. Calculer l’énergie d’une mole de photons, c’est-à-dire l’énergie impliquée dans la réaction photochimique. Le nombre d’Avogadro vaut N = 6,02 × 10 23 et la vitesse de la lumière vaut c = 300 000 km/s.
12.4 Physique statistique Exercice 21 On considère des étagères régulièrement espacées, numérotées 0, 1, 2, 3, etc. On dispose de trois boules de couleurs différentes : R (rouge), B (bleu) et J (jaune). Si une boule est sur l’étagère n, on lui affecte la valeur n. Par exemple, si la boule bleue est sur l’étagère 2, on lui affectera la valeur 2. Ainsi, si la boule R est sur l’étagère 0, la boule bleue sur l’étagère 3 et la boule jaune sur l’étagère 4, on aura R = 0, B = 3 et J = 4. Dans ce cas, R + B + J = 7. Placer les trois boules sur les étagères avec la contrainte que la somme associée à chacune des boules soit égale à 3. Quel est le nombre de configurations différentes possibles et représenter chacune d’entre elles. Montrer cela sur un diagramme. Exercice 22 On considère des niveaux d’énergie régulièrement espacés numérotés de 0 à n. Le niveau d’énergie n a l’énergie ε n = (n + 1) ε 0 comme indiqué dans la figure cidessous. On veut mettre trois particules indiscernables sur ces niveaux, de telle manière que l’énergie totale du système soit de 6ε0.
1. Combien y a-t-il de micro-états si ces particules sont des bosons de spin zéro ? 2. Combien y a-t-il de micro-états dans le cas où ces particules sont des fermions de spin ½ ? Dans les deux cas, donner le diagramme des micro-états.
203
Énergie, entropie, information, cryptographie et cybersécurité
Exercice 23 1. En utilisant le théorème d’équipartition de l’énergie, calculer l’énergie interne d’une mole de gaz parfait monoatomique. Comment la constante de Boltzmann kB est-elle reliée à celle des gaz parfaits R ? Calculer l’énergie interne d’une mole de gaz parfait à 20 °C. De quelle hauteur faudrait-il faire tomber une masse de 1 kg pour avoir la même énergie sous forme cinétique ? 2. Évaluer ν* (vitesse quadratique moyenne). ν* est la racine carrée de la moyenne du carré de la vitesse des molécules d’un gaz parfait :
(ν * )2 = ν 2 Calculer cette vitesse quadratique moyenne pour de l’hélium (masse moléculaire égale à 4 g) à la température de 20 °C. Si c’était de l’argon (masse moléculaire égale à 40 g), quelle serait la vitesse quadratique moyenne des molécules ? 3. L’équation d’état des gaz parfaits est, pour n moles : PV = nRT Calculer le volume occupé par une mole de gaz dans les conditions normales de température (0 °C = 273,15 K) et de pression (1 atm = 1,013 × 105 Pa). 4. Calculer l’enthalpie H de n moles de gaz parfait. On donne : Nombre d’Avogadro N = 6,02 × 10 23 . La constante des gaz parfaits vaut R = 8,31 JK−1 mol−1. Exercice 24 On considère un gaz parfait constitué de molécules de masse m dans un volume V. On suppose qu’il y a N molécules dans ce volume. On notera les vecteurs par des symboles en gras (r ≡ r ) . Soit f (r, v ) drdv le nombre de molécules situées entres r et r + dr ayant une vitesse comprise entre v et v + dv. En d’autres termes, il s’agit des molécules situées dans le −
E
volume élémentaire drdv centré en (r, v ). Ce nombre est proportionnel à e kBT où E, kB et T sont, respectivement, l’énergie, la constante de Boltzmann et la température. 1. Quelle est l’énergie d’une molécule ? 2. Exprimer f (r, v ) drdv en fonction de la vitesse des molécules. 3. À quelle condition doit satisfaire f (r, v ) ? 4. À partir de cette condition, calculer la fonction de distribution f (r, v ). C’est la distribution de Maxwell. On introduira le nombre de molécules par unité de N volume ρ = . V 5. Y a-t-il une direction de l’espace privilégiée pour les molécules du gaz ? 6. Calculer la distribution de Maxwell selon une direction de l’espace. Quelle est la normalisation de cette distribution ?
204
12. Exercices
7. Calculer la vitesse moyenne des molécules et la moyenne du carré de la vitesse selon une direction. 8. Calculer l’énergie moyenne d’une molécule. En déduire, pour une mole, l’énergie moyenne du gaz. Connaissant l’équation d’état d’une molécule de gaz parfait ( PV = RT ) , donner la relation entre PV et l’énergie moyenne U du gaz. Exercice 25 On a : 100! = 9332621544394415268169923885626670049071596826438162146859 296389521759999322991560894146397615651828625369792082722375825 1185210916864000000000000000000000000 n! e n = 1, donner une valeur 1. Connaissant la formule de Stirling lim n →+∞ 2π n n approchée de n! (que l’on appelle aussi dans la littérature formule de Stirling).
()
2. Calculer la valeur approchée de 100! 3. Quelle est l’erreur commise ? 4. On utilise aussi souvent une formule plus approchée, connue aussi sous le nom de formule de Stirling : ln n ! = n ln n − n , qui est une très bonne approximation lorsque n est très grand. Démontrer cette formule et évaluer 100!. 5. Montrer que l’on peut obtenir la formule de Stirling en partant de la distribution de Poisson : λ n e −λ P (n) = n! Pour cela, on passera dans l’espace des réels (n varie continument et n’est plus un entier). Pour ce faire, utiliser la propriété selon laquelle, lorsque λ 1, la distribution de Poisson tend, au voisinage de n, vers la distribution de Gauss suivante : − 1 λ n e −λ e n! 2πλ
(n − λ )2 2λ
pour λ 1 et n λ
Exercice 26
∞
On se propose de calculer les intégrales de la forme I n = ∫ x n e −α x dx et 2
∞
Jn =
∫
0
x n e −α x dx où α est une constante et n un entier positif. Ces intégrales 2
−∞
interviennent souvent en physique statistique. 1. Calculer J0. Pour cela, on calculera J 02 et on utilisera les coordonnées polaires afin d’évaluer l’intégrale analytiquement. 2. Que valent J2n et J2n+1 en fonction de I2n et I2n+1 ? 3. Évaluer In+2 en fonction de In. 4. Calculer explicitement In pour n = 0, 1, 2, 3, 4 et 5.
205
Énergie, entropie, information, cryptographie et cybersécurité
Exercice 27 On considère la marche au hasard dans un espace à une dimension d’une particule faisant des sauts de longueur , à droite ou à gauche le long de l’axe x. Après N sauts, la particule est à la distance x = m,, où m est un entier. 1. Quel est l’intervalle de définition de m ? 2. On notera n1 le nombre de sauts à droite et n2 celui vers la gauche. Quelle relation doivent satisfaire n1 et n2 ? 3. Quelle est la valeur de m ? 4. Comparer la parité des nombres m et N. 5. Soit p la probabilité de faire un saut à droite et q celle de faire un saut à gauche. Comment sont reliés p et q ? 6. Quelle est la probabilité d’avoir une séquence dans laquelle la particule fait n1 sauts à droite et n2 sauts à gauche ? 7. Combien y a-t-il de possibilités de faire n1 sauts à droite et n2 sauts à gauche ? 8. Quelle est la probabilité pour PN (n1 ) que, pour un total de N sauts, la particule fasse n1 saut à droite ? 9. PN (n1 ) est la distribution binomiale. Montrer comment elle est reliée au déveN loppement du binôme ( p + q ) . 10. Calculer PN (m) . 11. Calculer les valeurs moyennes n1 , n2 et m . 12. Calculer n12 et σ n21 = n12 − n1 2 . 13. Calculer
σ . Cas où p = q. Conclusion ? n1
14. Calculer σ m2 = m 2 − m 2 . Exercice 28 On considère N particules de masse m dans un récipient maintenu à la température T placées dans le champ de potentiel suivant : 1 ( x, y, z ) = C ( x 2 + y 2 ) 2 1. Calculer l’énergie moyenne de ce système. 2. Calculer l’énergie moyenne d’une particule selon les trois directions x, y et z. Exercice 29 Calculer l’énergie moyenne d’un électron libre à 300 K confiné dans un parallélépipède dont les côtés sont a, b et c dans les cas suivants : 1. a = b = c = 1 μm.
206
12. Exercices
2. a = b = 1 μm et c = 1 nm. 3. a = 1 μm et b = c = 1 nm On donne kB = 1,38 × 10−23 J/K et = 1,054 × 10 −34 Js. Exercice 30 Calculer, à 300 K, la vitesse quadratique moyenne de molécules d’azote (N2, masse molaire 28 g).
v 2 d’un gaz parfait constitué
Exercice 31 On considère un gaz parfait monoatomique. 1. En utilisant le théorème d’équipartition de l’énergie, calculer l’énergie interne U d’une mole de gaz parfait. 2. Calculer l’enthalpie H d’une mole de gaz parfait. 3. Calculer la valeur de U et H à 298 K (à peu près 25 °C). On donne R = 8,31 JK−1 mol−1.
12.5 Probabilités Exercice 32 On considère un couple où l’homme et la femme sont tous les deux âgés de 70 ans. On suppose que la probabilité pour qu’au bout de 10 ans l’homme soit toujours en 1 1 vie est de , alors qu’elle est de pour la femme. 2 3 1 Quelle est la probabilité pour que le couple soit toujours vivant à 80 ans ? 2. Quelle est la probabilité pour qu’au moins l’un d’entre eux atteigne 80 ans ? 3. Quelle est la probabilité pour que le couple ait disparu dans 10 ans ? Faire le calcul en utilisant deux méthodes différentes. 4. Quelle est la probabilité pour que l’homme soit le seul survivant dans 10 ans ? Même question pour la femme. Exercice 33 On lance deux dés non truqués, l’un rouge et l’autre bleu. On s’intéresse à la somme des nombres obtenus sur chacune des faces. 1. Quel est l’ensemble des valeurs obtenues et combien y a-t-il de possibilités lorsqu’on lance les deux dés ? 2. Quelle est distribution de probabilité ? 3. Si l’on devait parier sur une somme. Quelle est celle que l’on aurait intérêt à choisir ?
207
Énergie, entropie, information, cryptographie et cybersécurité
Exercice 34 On tire successivement deux cartes dans un jeu de 52 cartes. Quelle est la probabilité de tirer un cœur à chaque tirage. Exercice 35 Pour se connecter la première fois à un site web, on demande de définir un code de quatre chiffres qui doivent tous être différents. Les chiffres possibles vont de 0 à 9. 1. Combien peut-on former de codes à quatre chiffres ? 2. Combien de codes correspondent à un nombre inférieur à 5 000 ? 3. Combien y a-t-il de codes pairs et impairs ? 4. Combien de codes sont divisibles par 5 ? 5. Combien y a-t-il de codes si on lève la contrainte de chiffres différents et que l’on peut utiliser tous les chiffres plusieurs fois ? Exercice 36 On considère une boîte contenant six boules blanches identiques et sept boules noires identiques. On se propose de tirer cinq boules au hasard. 1. De combien de manières peut-on tirer cinq boules de cette boîte, quelle que soit la couleur ? 2. De combien de manières peut-on tirer trois blanches et deux noires ? 3. De combien de manières peut-on tirer cinq boules de la même couleur ? Exercice 37 On considère deux fabricants de batteries Li-ion A et B. Le premier, A, possède 30 % du marché. Au bout de 1 an, 10 % des batteries en provenance de A ne fonctionnent plus. C’est aussi le cas pour 30 % de celles provenant de B. 1. On considère une batterie dont on ne connaît pas l’origine qui ne fonctionne plus au bout de 1 an. Quelle est la probabilité pour qu’elle provienne de B ? 2. Exprimer cela sous forme d’une probabilité conditionnelle. Exercice 38 Monsieur Durand passe un test de dépistage d’une maladie rare qui touche 0,1 % de la population. Son médecin lui dit qu’il est positif et que ce test est fiable à 95 %. Toutefois, ce test donne parfois un résultat positif alors que le patient n’a rien (faux positif ). Le laboratoire indique que le nombre de cas négatifs obtenus avec ce test sur une personne saine est de 98 %. Donc il y peut y avoir à la fois des faux positifs et des faux négatifs. Quelle est la probabilité pour que Monsieur Durand soit atteint de cette pathologie rare ?
208
12. Exercices
Exercice 39 Vous allez à une soirée où vous avez des chances de rencontrer deux de vos amis : Jean et Pierre. Plus précisément, vous avez 60 % de chance de rencontrer Jean et 40 % Pierre. De plus, la chance de rencontrer Pierre quand Jean est aussi à la soirée est de 50 %. 1. Quelle est la probabilité de rencontrer au moins un de vos deux amis ? 2. Quelle est la probabilité de rencontrer les deux au cours de cette soirée ? 3. Quelle est la probabilité de rencontrer Jean alors que Pierre est aussi là ? Exercice 40 Un couple a deux enfants. L’un d’entre eux est une fille. 1. Quelle est la probabilité pour que le second enfant soit un garçon ? 2. Pour un couple qui a deux enfants, quelle est la probabilité d’avoir 1 fille et 1 garçon ? Exercice 41 Démontrer la formule de Pascal
n n − 1 n − 1 C np = C np−−11 + C np−1 que l’on peut aussi écrire sous la forme = + p p − 1 p Exercice 42 Montrer les égalités suivantes : n
C n0 + C n1 + ... + C nn = 2n ou ∑ C nk = 2 n k =0
C n0
− C n1
+ ... + (−1)
n
C nn
n
= 0 ou ∑ (−1)k C nk = 0 k =0
n
1C n0 + 2C n1 + ... + nC nn = n2 n −1 ou ∑ kC nk = n2 n −1 k =0
Exercice 43 On considère une urne contenant douze boules identiques à la couleur près. Cinq d’entre elles sont rouges (R), quatre sont bleues (B) et trois sont jaunes (J). On tire au hasard une boule, on note sa couleur, et on la remet dans l’urne. On répète ce tirage six fois. Quelle est la probabilité pour que, parmi les six boules que l’on a tirées, il y en ait trois de couleur rouge, deux de couleur bleue et une de couleur jaune (3R,2B,1J) ?
209
Énergie, entropie, information, cryptographie et cybersécurité
Exercice 44 On considère une famille ayant trois enfants. Sachant que la probabilité d’avoir un garçon est égale à celle d’avoir une fille, calculer la probabilité pour que cette famille n’ait pas de garçon, un garçon, deux garçons et trois garçons. Exercice 45 500 étudiants sont inscrits à la fac pour les matières mathématiques (M), physique (P) et chimie (C). On a les données suivantes : Nombre d’étudiants qui font des mathématiques : 300. Nombre d’étudiants qui font de la physique : 250. Nombre d’étudiants qui font de la chimie : 200. Nombre d’étudiants qui font des mathématiques et de la physique : 110. Nombre d’étudiants qui font de la physique et de la chimie : 130. Nombre d’étudiants qui font des mathématiques et de la chimie : 30. 1. Calculer le nombre d’étudiants qui font les trois matières MPC ? 2. Calculer le nombre d’étudiants qui ne font que deux matières MP, MC et PC à l’exclusion de la troisième. Il y a trois valeurs à calculer. Exercice 46 Vous passez un QCM de cinq questions. Pour chaque question, trois réponses sont possibles, mais une seule est juste. Si vous répondez au hasard à ce QCM : 1. Quel est le nombre de réponses possibles ? 2. Quelle est la probabilité pour que toutes les réponses soient fausses ? 3. Quelle est la probabilité pour qu’au moins une réponse soit juste ? que tout le QCM soit juste ? Exercice 47 On considère une urne contenant trois boules noires et deux boules blanches. On tire successivement trois boules. À chaque tirage, on note la couleur de la boule obtenue et on la remet dans l’urne pour le prochain tirage. 1. Quelle est la probabilité de ne tirer aucune boule noire ? 2. Quelle est la probabilité de tirer une boule noire ? 3. Quelle est la probabilité de tirer deux boules noires ? 4. Quelle est la probabilité de tirer trois boules noires ? Exercice 48 Des voitures sont fabriquées dans trois usines différentes : A1, A2 et A3. La production selon l’usine est la suivante : A1 = 35 %, A2 = 46 % et A3 = 19 %.
210
12. Exercices
La probabilité pour qu’une voiture soit défectueuse n’est pas la même pour toutes les usines. Elle est de 0,004 pour l’usine A1, de 0,02 pour l’usine A2 et de 0,01 pour l’usine A3. 1. Calculer la probabilité pour qu’une voiture défectueuse sorte des usines A1, A2 et A3. 2. Quelle est la probabilité pour qu’une voiture défectueuse ne sorte pas de l’usine A1 ? Exercice 49 1 000 étudiants passent un concours. 600 sont considérés comme de bons étudiants par les professeurs et 400 comme de mauvais étudiants, car ils n’ont pas beaucoup travaillé et ont de grosses lacunes. Les statistiques des années précédentes indiquent que la probabilité qu’un bon étudiant réussisse est de 20 %, alors qu’un mauvais étudiant n’a que 1 % de chance de réussir. 1. Quelle est la probabilité pour un étudiant pris au hasard de réussir le concours ? 2. Pour un étudiant ayant été reçu au concours, quelle est la probabilité pour qu’il ait été classé initialement comme un bon étudiant et celle qu’il ait été considéré comme un mauvais étudiant ? Exercice 50 On considère deux urnes I et II. On peut tirer dans chaque urne avec la même probabilité. Dans l’urne I, il y a sept boules blanches et trois boules noires. Dans l’urne II, il y a deux boules blanches et quatre boules noires. Une fois l’urne choisie, on tire une boule au hasard et on obtient une boule blanche. Quelle est la probabilité pour que cette boule vienne de l’urne I ? Exercice 51 On dispose de douze livres : cinq en mathématiques, quatre en physique et trois en chimie. On veut les disposer sur une étagère de la bibliothèque en les regroupant par familles (mathématiques, physique et chimie). Combien y a-t-il de manières possibles de le faire ? Exercice 52 On tire dix cartes d’un jeu de 52 cartes. Quatre sont des cœurs, trois sont des piques, deux sont des carreaux et une est un trèfle. Combien y a-t-il de configurations différentes possibles ? Exercice 53 On considère un groupe de sept hommes et de cinq femmes. On souhaite faire un comité contenant trois hommes et deux femmes. Combien y a-t-il de possibilités ?
211
Énergie, entropie, information, cryptographie et cybersécurité
Exercice 54 On considère vingt-deux jeunes avec lesquels on va constituer deux équipes de football de onze joueurs. Combien y a-t-il de manières de les répartir s’ils sont tous équivalents pour ce jeu ? Exercice 55 On considère le jeu de poker dans lequel chaque joueur a cinq cartes. On considère le jeu suivant, dans lequel on a trois cartes de même rang et deux cartes de même valeur, mais différentes (full). Quelle est la probabilité d’obtenir un full lors de la distribution des cartes ?
12.6 Information Exercice 56 Si deux événements A et B ne sont pas indépendants, p ( A, B ) ≠ P ( A) p (B ), calculer l’information I ( A, B ). Exercice 57 On considère le jeu de 421, dans lequel on lance trois dés. On gagne si l’on tire un 4, un 2 et un 1 dans n’importe quel ordre. 1. Calculer la probabilité de faire 421. 2. Calculer l’entropie de la source. Exercice 58 On a une urne avec des boules identiques marquées avec des chiffres différents allant de 1 à 8. La probabilité de tirer une boule avec un chiffre donné dépend de celui-ci. On a la distribution de probabilité suivante selon la valeur tirée : Numéro
1
2
3
4
5
6
7
8
Probabilité
1/2
1/64
1/8
1/64
1/4
1/64
1/16
1/64
Calculer l’entropie associée à ces événements. Exercice 59 1. Exprimer, en binaire, les nombres décimaux suivants : 25 ; 109 ; 25,625 et 10,6. 2. Calculer la valeur décimale des nombres binaires suivants : 101011 et 101,11.
212
12. Exercices
Exercice 60 Convertir en octal et hexadécimal le nombre binaire suivant : 110010110001. Exercice 61 1. Effectuer l’addition suivante : 1101 + 101. 2. Effectuer la soustraction suivante : 1101 − 101. 3. Effectuer la multiplication suivante : 1101 × 101. Exercice 62 Soit n un nombre décimal. Le complément à 9 de n est obtenu en soustrayant 9 (ou en complétant à 9) chacun des chiffres de n. Le complément à 10 du nombre n est obtenu en ajoutant 1 au complément à 9. 1. Calculer le complément à 9 et à 10 des nombres 5403 et 2724. 2. Effectuer la soustraction 5403 − 2724 à la main. Combien de retenues a-t-il fallu faire au cours de cette opération ? 3. Vérifier que l’on peut effectuer cette soustraction en ajoutant 5403 au complément à 9 de 2724 avec une petite manipulation supplémentaire que l’on précisera. Quelle procédure faudrait-il adopter si l’on utilisait le complément à 10 ? 4. Appliquer la méthode du complément à 9 pour la soustraction 4021 – 123. 5. Pour les nombres binaires, on parle de complément à 1 et à 2. Quels sont les compléments à 1 et 2 de 101101 ? Quelle est la table d’addition et de soustraction ? Calculer, selon le schéma indiqué plus haut (soustraction normale, complément à 9 et à 10 dans le cas de nombres décimaux), la soustraction 111000 − 101101. Exercice 63 On considère une source d’information qui veut émettre quatre signaux, A, B, C et D avec la distribution de probabilité suivante :
Probabilité
A
B
C
D
0,5
0,25
0,125
0,125
1. On code ces symboles en binaire selon la table indiquée ci-dessous.
Codage binaire
A
B
C
D
0
10
110
111
Ce code est-il non ambigu ? 2. Quelle est l’entropie de la source ? 3. Coder le message : ACDBAB.
213
Énergie, entropie, information, cryptographie et cybersécurité
4. Décoder la séquence 10001101110100. 5. Quel est le graphe représentant le codage utilisé ? Exercice 64 1. Quelle est la valeur en octal et en hexadécimal des nombres suivants : 8, 16, 250 ? 2. Quelle est la valeur en décimal du nombre octal 77 et de 7777, parfois utilisé comme eof (end-of-file) ? 3. Quelle est la valeur en décimal des nombres hexadécimaux 10 et FFFF (utilisé parfois comme eof ) ? Exercice 65 La table d’addition binaire s’écrit dans un tableau à double entrée : +
0
0
0
1
1
1
10
1
Écrire, dans un tableau à double entrée, la table d’addition en hexadécimal. Exercice 66 On se propose de coder des nombres décimaux avec un code DCB (décimal codé binaire) dans lequel on code chaque chiffre décimal par 4 bits. La correspondance entre un chiffre décimal et le code DCB est indiquée dans le tableau ci-dessous. On utilisera le code DCB 8-4-2-1 et le code XS-3. 1. Quelle est la relation entre le code DCB 8-4-2-1 et le code XS-3 ? 2. Coder le nombre 531 en DCB 8-4-2-1 et DCB XS-3. 3. Coder le nombre 531 en binaire direct. Chiffre décimal
214
Code DCB 8-4-2-1
Code DCB XS-3
0
0000
0011
1
0001
0100
2
0010
0101
3
0011
0110
4
0100
0111
5
0101
1000
6
0110
1001
7
0111
1010
8
1000
1011
9
1001
1100
12. Exercices
Exercice 67 Quel pourrait être le codage de Huffmann de l’ensemble suivant : Symbole
A
B
C
D
E
F
Probabilité
0,1
0,1
0,25
0,15
0,35
0,05
Exemple tiré de http://cermics.enpc.fr/polys/info1/main/node76.html Exercice 68 On donne les trois codes suivants : (a) {000,101,011} (b) {0,10,11} (c) {1,01,11} Dire quels sont les codes qui sont : • préfixe à longueur variable ; • non préfixe à longueur variable ; • à longueur fixe. Exercice 69 Une variable aléatoire X peut prendre quatre valeurs {1, 2, 3, 4}. Les différentes 1 1 1 1 valeurs apparaissent avec la probabilité p ( X ) = , , , . 2 4 8 8 1. Calculer l’entropie d’information H ( X ).
{
}
2. On s’intéresse à l’événement E = {1, 3}. Calculer la probabilité d’obtenir cet événement. 3. Pour l’événement E, calculer les probabilités d’obtenir X = 1 et X = 3. 4. Calculer l’entropie conditionnelle H ( X ∈ E ) . Exercice 70 On veut coder quatre symboles a1, a2, a3 et a4 par deux méthodes différentes. Méthode 1
Méthode 2
a1
00
a1
0
a2
01
a2
10
a3
10
a3
110
a4
11
a4
111
1. Tracer le graphe associé à chacun des codages. Sont-ils sans préfixe ? 2. En supposant que tous les symboles sont équiprobables, calculer la longueur moyenne de chacune des méthodes. Quelle est la plus efficace ?
215
Énergie, entropie, information, cryptographie et cybersécurité
3. En fait, la probabilité d’occurrence pour chacun des symboles est : 1 1 1 P (a1 ) = ; P (a2 ) = ; P (a3 ) = P (a 4 ) = 2 4 8 Calculer la longueur moyenne de l’ensemble des symboles. Quelle est la méthode la plus efficace maintenant ? 4. Calculer l’entropie d’information pour les deux méthodes lorsque les symboles ne sont pas tous équiprobables et lorsqu’ils sont équiprobables. Exercice 71 On considère un canal binaire symétrique avec les variables aléatoires X en entrée et Y en sortie. Soit ε la probabilité d’erreur de transmission sur un canal. La matrice de transmission est donnée par :
ε P (Y x )(0, 0) P (Y x )(1, 0) 1 − ε = P = 1 − ε P (Y x )(0, 1) P (Y x )(1, 1) ε Soit PX (0) = p et PX (1) = 1 − p = q 1. Calculer H ( X ). 2. Calculer PY (0) et PY (1) .
3. Calculer H (Y 0) et H (Y 1) . 4. Calculer H (Y X ) . 5. Calculer H ( X , Y ) . Exercice 72 On considère un système à deux variables, X et Y pouvant prendre chacune quatre valeurs numérotées de 1 à 4 et la probabilité p ( xi , y j ) pour i = 1…4 et j = 1…4. La matrice de probabilité est supposée la suivante : X\Y
1
2
3
4
1
1 8
1 16
1 16
1 4
2
1 16
1 8
1 16
0
3
1 32
1 32
1 16
0
4
1 32
1 32
1 16
0
1. Calculer les probabilités marginales p ( x ) et p ( y ). 2. Calculer H ( X ) et H (Y ) . 3. Calculer H ( X , Y ) . 4. Calculer H ( X Y ) et H (Y X ) .
216
12. Exercices
5. Calculer H ( X ; Y ). 6. Vérifier les calculs avec le diagramme de Venn. Exercice 73 Effectuer les opérations binaires suivantes : 1. 1011 + 10 + 110011 2. 1110111 − 1010000 et 1110001 – 101011 Exercice 74 Effectuer les opérations binaires suivantes : 1. Multiplication 1010 × 110. 1110111 (quotient et reste). 2. Division euclidienne 1001 Exercice 75 1. Quel est le polynôme associé au message 1101101. 2. Calculer le code CRC avec le polynôme générateur G ( x ) = x 4 + x 2 + 1 et la méthode XOR. 3. Refaire le calcul en utilisant la division des polynômes modulo 2. Exercice 76 1. Quel est polynôme associé au message 1111111 ? 2. Calculer le code CRC avec le polynôme générateur G ( x ) = x 3 + 1 et la méthode XOR. 3. Refaire le calcul en utilisant la division des polynômes modulo 2. Exercice 77 On considère un alphabet binaire en entrée et en sortie d’un canal. La matrice de transition est : X\Y
0
1
0
1/3
1/3
1
0
1/3
Calculer 1. H ( X ) et H (Y ) . 2. H ( X Y ) et H (Y X ) . 3. H ( X , Y ) . 4. I ( X ; Y ).
217
Énergie, entropie, information, cryptographie et cybersécurité
12.7 Cryptographie Exercice 78 On reçoit le message suivant codé avec le code de César : VL YRXV WUDYDLOOHC ELHQ YRXV DXUHC YRWUH HADPHQ D O HIUHL Pouvez-vous décoder ce message ? On donne la fréquence d’apparition des lettres en français évaluée dans www.nymphomath.ch/crypto/stat/francais.html.
218
Lettre
Fréquence
A
8,40 %
B
1,06 %
C
3,03 %
D
4,18 %
E
17,26 %
F
1,12 %
G
1,27 %
H
0,92 %
I
7,34 %
J
0,31 %
K
0,05 %
L
6,01 %
M
2,96 %
N
7,13 %
O
5,26 %
P
3,01 %
Q
0,99 %
R
6,55 %
S
8,08 %
T
7,07 %
U
5,74 %
V
1,32 %
W
0,04 %
X
0,45 %
Y
0,30 %
Z
0,12 %
12. Exercices
Exercice 79 Soit n personnes et N = 365, le nombre de jours de l’année. 1. Quelle est la probabilité pour que les n personnes n’aient pas leur anniversaire le même jour ? 2. Quelle est la probabilité pour qu’au moins deux personnes parmi les n aient leur anniversaire le même jour ? 3. Essayer de calculer numériquement cette probabilité pour n = 23. Utiliser si vous n’y arrivez pas le logiciel MAPLE. 4. Il existe un théorème utilisé dans les attaques cryptographiques qui est le suivant : , N éléments choisis aléatoireDans un ensemble comprenant la partie entière de 118 ment parmi N possibilités, la probabilité de collision est supérieure à 50 %. On dit qu’il y a collisions si deux variables donnent la même fonction de hachage. Évaluer, avec ce théorème, le nombre de personnes minimum pour que deux d’entre elles au moins aient leur anniversaire le même jour. Exercice 80 Coder, en utilisant le code de Vigenère, le message « LE COURS EST FACILE » avec les clefs suivantes : 1. « D ». 2. « TEST ». 3. « FACILELECOURS ». Exercice 81 On considère un codage décimal dans lequel on définit l’opération d’addition ⊕ où l’on ne garde pas le chiffre des dizaines et la soustraction dans laquelle on ajoute 10 si le résultat est négatif. Voici quelques exemples : 2 ⊕ 4 = 6 ; 7 ⊕ 9 = 6 7 4 = 3 ; 3 9 = 4 Alice veut envoyer le message suivant à Bob : 432791, qui est la combinaison du coffre qu’ils ont en commun. Elle va le coder en faisant la somme ⊕ avec la clef 793923. 1. Quel message codé va-t-elle envoyer à Bob ? 2. Malheureusement pour elle, Ève a subtilisé la clef à Alice qui ne l’avait pas mise en lieu sûr. Montrer comment elle va décoder le message reçu par Bob ? 3. Maintenant, Alice est plus prudente. Elle va changer de clef et la mettre en lieu sûr. Sa nouvelle clef est 832453. Elle envoie à Bob le message 432791. Bob reçoit le message 264144. Ève arrive à intercepter le message reçu et elle a réussi à subtiliser le message envoyé par Alice. Montrer qu’elle va pouvoir obtenir la clef. Comme Alice
219
Énergie, entropie, information, cryptographie et cybersécurité
est paresseuse, elle va utiliser plusieurs fois la même clef et Ève pourra déchiffrer tous ses messages. Exercice 82 Soient p et q deux nombres premiers et n = pq leur produit. Montrer pour tout a ∈ qui ne soit pas divisible par p et q que : a ( p −1)(q −1) ≡ 1 (mod n) Exercice 83 1. Calculer 5313275 (mod 26) . 2. Calculer 144718 mod 273. Exercice 84 Calculer 255255 (mod 256). Exercice 85 Calculer par la méthode d’exponentiation rapide 4013 (mod 85) . Exercice 86 On veut évaluer 1015999 mod 257 par la méthode de l’exponentiation rapide. Pour cela, on partira de 107 et on utilisera les décompositions suivantes : 15999 = 7999 + 7999 + 1 7999 = 3999 + 3999 + 1 3999 = 1999 + 1999 + 1 1999 = 999 + 999 + 1 999 = 499 + 499 + 1 499 = 249 + 249 + 1 249 = 124 + 124 + 1 124 = 62 + 62 62 = 31 + 31 31 = 15 + 15 + 1 15 = 7 + 7 + 1 Exercice 87 1. Calculer 4325 (mod 10). 2. Calculer 4327 (mod 10).
220
12. Exercices
Exercice 88 Calculer les inverses suivants modulo 7 : 2−1, 3−1, 4−1, 5−1 et 6 −1 (mod 7 ) Exercice 89 Calculer les inverses suivants modulo 6 : 2−1, 3−1, 4−1 et 5−1 (mod 6) Exercice 90
5 2 . On veut coder « AS » avec un chiffre de Hill basé sur la matrice 2 × 2. M = 7 3 On travaillera modulo 26. 1. Donner le mot chiffré. 2. Calculer la matrice inverse modulo 26 et vérifier qu’en partant du mot chiffré on retrouve le message initial « AS ». Exercice 91 Calculer les coefficients de Bezout des nombres premiers 43 et 17. Donner un autre couple une fois le premier trouvé. Exercice 92 Calculer les coefficients de Bezout des nombres suivants : 368 et 117. Exercice 93 On considère deux nombres premiers p = 7 et q = 13 et on se propose de faire un codage RSA. 1. Calculer n = pq et ϕ (n) = ( p − 1) (q − 1) . 2. On choisit une clef publique (n, e = 31) . Calculer la clef privée d. 3. Quel est le message codé x. Coder le message m = 21. Vérifier en le décodant que l’on retrouve m. Exercice 94 On veut tester un algorithme RSA avec les données suivantes : p = 1171 et q = 751 pour les nombres premiers et e = 127. Calculer les clefs publiques et privées. Tester ce codage sur le message m = 100.
221
Énergie, entropie, information, cryptographie et cybersécurité
12.8 Cybersécurité Les exercices dans ce domaine seront des recherches sur internet sur des cas réels. La solution donnera quelques sites internet permettant d’avoir des précisions sur ces cyberattaques, mais le lecteur trouvera très probablement d’autres sources en complément. Il pourra vérifier, par croisement des informations, la véracité de ce qui est affirmé dans chacun des sites. Exercice 95 Je reçois le mail suivant d’un ami. Que dois-je en penser ? Bonjour, Puis-je t’expliquer un petit souci ? si oui, réponds-moi rapidement. Car mon téléphone est hors service. Cordialement,
Exercice 96 Trouver des informations sur STUXNET ? Exercice 97 Qu’est-ce que l’arnaque nigériane, appelée aussi fraude ou scam 419 ? Exercice 98 Qu’est-ce qu’un brouteur ? Exercice 99 Qu’est-ce qu’un exploit ? Exercice 100 Qu’est-ce qu’une vulnérabilité zero-day ? Exercice 101 Que sont Harvex et Karagany ? Exercice 102 Trouver des informations sur le piratage de tramway en Pologne en 2008.
222
12. Exercices
Exercice 103 Rechercher de l’information sur les vers DuQu, Flame et Gauss. Exercice 104 Rechercher des informations sur WannaCry, Petya et NotPetya. Exercice 105 Que signifie scam et con. Exercice 106 Citer quelques escroqueries du net.
12.9 Révisions mathématiques Exercice 107 Calculer les dérivées premières des fonctions suivantes : 1 y= x x 1 y= 4 x x y = cos ( x ) y = sin ( x ) y = ln (3 x ) y = ln ( x 2 ) Exercice 108 Calculer les dérivées premières des fonctions suivantes : y = e x sin ( x ) y=
3x 2 − 1 4 x 3 − 5x
y = cos ( x ) sin ( x ) y = tan
( 1x )
223
Énergie, entropie, information, cryptographie et cybersécurité
Exercice 109 On donne : f ( x, y ) = x 2 y − Calculer
sin x =0 y
dy . dx
Exercice 110 Calculer les intégrales suivantes : 1. I = ∫ (3 x 2 + 5) xdx 3
2. I = ∫
2x + 1 dx 2x − 1
3. I = ∫ xe 2 x dx 4. I = ∫
x 3 dx
( x 2 − 1)2
Exercice 111 Calculer les limites suivantes : sin x quand x → 0 1. lim x 2. lim x ln x quand x → 0 + x 4 − x 3 − x 2 − 2x 3. lim quand x → 2 x2 − x − 2 Exercice 112 1. Calculer la somme des n premiers nombres entiers. 2. Quelle est la somme de la progression arithmétique de raison r : a + (a + r ) + (a + 2r ) + ... (a + nr ) 3. Quelle est la somme de la progression géométrique de raison r : a + ar + ar2 + … arn 4. Quelle est la limite lorsque n → ∞ et que r