Outils pour utilisateurs

Outils du site


issue94:q_r_securite

Table des matières

1

We know that the issue of securely sending information without it being read by others has been with us for a long time. Herodotus tells us about incidents in the 5th c. BC when Persia was at war with the Greeks. Two techniques were mentioned. One was writing the message on a writing tablet then adding a wax layer on top to hide it. Since writing tablets normally had a wax layer, that looked OK, and a message got through. This is really more of an example of steganography, which comes from the Greek steganos (covered) and graphei (writing). Steganography is hiding a message in such a way the observer does not know there is a message at all. Later examples include microdots (minute film hidden in the period of a sentence), and in the digital age, hiding a message in the code of a picture like a JPEG. The problem is that once the observer knows about it, it is easy to defeat the secrecy and grab the message. WWII intelligence agencies learned all about microdots and how to find them, and once you know where to look there is no secrecy at all.

Nous savons que le problème de l'envoi d'informations en toute sécurité sans qu'elles soient lues par d'autres est d'actualité depuis très longtemps. Hérodote nous parle d'incidents durant le Ve siècle av. J.C. quand la Perse était en guerre contre les Grecs. Deux techniques sont mentionnées. Une était d'écrire le message sur une tablette puis d'ajouter une couche de cire par dessus pour le cacher. Puisque les tablettes avaient normalement une couche de cire, celle-là avait l'air normal, et le message passa. C'est plus un exemple de stéganographie, qui vient du grec steganos (couvert) et graphein (écrire). La stéganographie est le fait de cacher un message de telle manière que l'observateur ne sache pas du tout qu'il y en a un. Les exemples ultérieurs comprennent les micropoints (petit film caché dans le point d'une phrase) et, à l'ère numérique, le masquage d'un message dans le code d'une image comme un JPEG.

Le problème est qu'une fois que l'observateur connaît le truc, il est facile de briser le secret et de saisir le message. Les agences de renseignement de la Seconde guerre mondiale ont tout appris sur les micropoints et comment les trouver, et une fois que vous savez où chercher il n'y a plus de secret du tout.

What you want is a way to stop someone from reading your message even if they physically have it in their possession, and that is known as encryption, from the greek kryptos (hidden). Encryption uses a cipher to turn your message from one that is read by anyone to a message that should, ideally, be unreadable to anyone who does not know how to decrypt the message. An early example was in Julius Caesar’s Gallic Wars, and is therefore known as a Caesar cipher. This cipher moved each letter of the alphabet a fixed number of spaces. So if you moved everything one letter, “HAL” becomes “IBM”. ROT13 is a common Caesar cipher. This is of course very easy to decrypt since you need to test only a handful of variations once you know the method. To make a more secure system of encryption, people next moved to a more random and less systematic method, creating the so-called substitution ciphers. Here, there is no pattern for how the letters are substituted for each other. In the U.S. we see these often in newspapers as “brain teaser” puzzles, and they are not too hard. The Arab scholar Al-Kindi showed the way in the 9th. century by showing that language is subject to statistical analysis. In English, for example, the most common letter is “e”, the second most common letter is “t”, and so on. The top of this list is “e,t,a,o,i,n,s,h,r,d,l,u”. And you take the enciphered text, look for the most common letter, assume it “e”, and you are off to the races. The next step was taken by the Italian Bellaso, and later rediscovered by the Frenchman Vigenerewho – who now gets all of the credit, so it is called the Vigenere square. (Sic transit gloria mundi, poor Bellaso). This uses a key word or phrase to essentially change the substitution cipher for each letter, which initially was very hard to break, but Charles Babbage (yes, the same Babbage of Difference Engine fame) showed that even this could be defeated by statistical analysis. But then Joseph Mauborgne showed that you could make a completely secure cipher using a one-time pad. This is a pad on which each sheet has a completely random key for creating your Vigenere square. You make two copies, one for encoding, and a duplicate for decoding. Done properly, there is no known way to defeat this type of encryption, but there are problems. First, you have to create all of these pads and ship them to all of the people who need to communicate with you. Second, if even one of these pads is ever intercepted in any way, you no longer have any security. Third, it is very laborious, particularly if you need to send a lot of messages. For these reasons, no nation has ever adopted one-time pads for the bulk of its security needs.

Ce que vous voulez, c'est un moyen d'empêcher quelqu'un de lire votre message même s'il l'a physiquement en sa possession, et c'est le chiffrement, [l'anglais, « encryption » est] du grec kryptos (caché). Le chiffrement utilise un algorithme pour transformer votre message de quelque chose de lisible par quiconque en un message qui devrait, idéalement, être illisible pour toute personne qui ne sait pas comment déchiffrer le message. L'un des premiers exemples vient de la Guerre des Gaules de Jules César et est donc connu comme le chiffre de César. Ce chiffrement déplaçait chaque lettre de l'alphabet d'un nombre fixe de places. Donc, si tout a été décalé d'une lettre, « HAL » devient « IBM ». ROT13 est un chiffre de César commun. Il est, bien sûr, très facile à décrypter car, une fois que vous connaissez la méthode, il ne faut essayer qu'une poignée de variations. Pour faire un système de chiffrement plus fiable, une méthode plus aléatoire et moins systématique fut ensuite utilisée, créant les chiffres dits de substitution. Ici, la façon dont des lettres sont substituées à d'autres ne suit aucune tendance pré-établie. Aux États-Unis, nous les voyons souvent dans les journaux comme des jeux de « casse-tête », et ils ne sont pas trop durs. Le savant arabe Al-Kindi a montré la voie au IXe siècle, en montrant que le langage est soumis à des règles statistiques. En anglais, par exemple, la lettre la plus fréquente est le « e », la deuxième lettre la plus fréquente est le « t », et ainsi de suite. Le début de cette liste est « e, t, a, o, i, n, s, h, r, d, l, u ». Vous prenez alors le texte chiffré, cherchez la lettre la plus fréquente, supposez qu'il s'agit du « e », et c'est parti !

L'étape suivante a été franchie par l'italien Bellaso et redécouverte plus tard par le Français Vigenère (qui bénéficie maintenant de la totalité de la reconnaissance) : il est appelé le carré de Vigenère. (Sic transit gloria mundi, pauvre Bellaso). Il utilise un mot clé ou une phrase pour changer essentiellement la clé de substitution de chaque lettre, ce qui était au départ très difficile à décrypter, mais Charles Babbage (oui, le même Babbage de la célèbre machine à différences) a montré que même celui-ci pouvait être défait par l'analyse statistique. Mais alors Joseph Mauborgne a montré que vous pouviez faire un chiffrement complètement sécurisé avec un masque jetable. C'est un carnet dans lequel chaque feuille a une clé complètement aléatoire pour créer votre carré de Vigenère. Vous en faites deux exemplaires, l'un pour l'encodage et un duplicata pour le décodage. Fait correctement, il n'y a aucun moyen connu pour vaincre ce type de cryptage, mais il y a des problèmes. Tout d'abord, vous devez créer tous les masques et les expédier à toutes les personnes qui ont besoin de communiquer avec vous. Deuxièmement, dans le cas où un seul de ces carnets est un jour intercepté de quelle manière que ce soit, vous n'avez plus aucune sécurité. Troisièmement, c'est très laborieux, en particulier si vous avez besoin d'envoyer beaucoup de messages. Pour ces raisons, aucune nation n'a jamais adopté de masques jetables pour l'ensemble de ses besoins de sécurité.

2

The next step involves mechanical systems of encryption. The first ones were just simple pairs of disks with different diameters. You could rotate one disk to align up the A with a different letter on the second disk, and then begin encrypting. An example known to old timers in the U.S. is the Captain Midnight Secret Decoder Ring. If you think about it, this is just a simple Caesar Cipher, although more efficient than doing it all with pencil and paper. But just after WWI, a German inventor named Arthur Scherbius took the basic idea and solved a lot of the problems to create the Enigma machine. This machine changed the settings after each letter was encrypted, making it all a lot more complicated and hence more secure. The German government adopted this, and believed it to be completely unbreakable. But in fact Polish cryptanalysts figured out how to crack the encryption, and passed their results on to Britain and France, and Britain created a mammoth operation at Bletchley Park that decrypted German messages all through the war. While there was sloppiness in the German implementation, even if this had been eliminated they still could have decrypted the messages (though with more difficulty) because a mechanical system like the Enigma machine has a built-in flaw: no mechanical system can be truly random, and if it isn’t random, there will be a crack in the wall that a skillful cryptanalyst can exploit. The Poles, and then the British, realized that the key lay in mathematics, and recruited a large number of mathematicians to work on the cryptanalysis of these messages. While the Enigma machine was the main one used by the Nazis, there was an even more secure encryption called the Lorenz Cipher, and, to decrypt these messages, the British created what was the first modern computer, beating Eniac by several years. Colossus could attempt to find the key by checking many possible combinations at once. This was the beginning of computerized decryption, and shortly thereafter computerized encryption was also attempted by several people. But this faced very active opposition by the NSA in the U.S., which, after WWII, was the dominant country in both computers and cryptanalysis. And this is an important point. If the NSA could simply throw computing power at any encryption and break it, they would never have behaved the way they did, and still do to this day. It is the very fact that they cannot do so that leads them to weaken the standards and oppose research.

L'étape suivante consiste en des systèmes mécaniques de chiffrement. Les premiers étaient seulement de simples paires de disques de diamètre différent. Vous pouvez tourner un disque pour aligner le A avec une lettre différente sur le second disque, puis commencer à chiffrer. Un exemple connu par les vieux de la vieille aux États-Unis est l'anneau secret de décodage du Captain Midnight. Si vous y réfléchissez,ce n'est qu'un simple chiffre de César, bien que plus efficace que de tout faire avec un crayon et du papier. Puis, juste après la Première guerre mondiale, un inventeur allemand nommé Arthur Scherbius a repris l'idée de base et a résolu beaucoup de problèmes pour créer la machine Enigma. Cette machine changeait de réglage après le chiffrement de chaque lettre, ce qui le rendait beaucoup plus compliqué et donc plus sûr. Le gouvernement allemand l'a adopté, et croyait qu'il était complètement indéchiffrable. Mais, en fait, des cryptanalystes polonais ont compris comment venir à bout du chiffrement et ont transmis leurs résultats à la Grande-Bretagne et à la France ; la Grande-Bretagne a créé une opération éléphantesque à Bletchley Park et les messages allemands furent décryptés pendant toute la guerre. Bien qu'il y ait eu des négligences dans la mise en œuvre allemande, même si elles avaient été éliminées, ils auraient toujours pu décrypter les messages (mais avec plus de difficulté), car un système mécanique comme la machine Enigma a un défaut intégré : aucun système mécanique ne peut être vraiment aléatoire, et si elle n'est pas aléatoire, il y a une faille qu'un cryptanalyste habile pourra exploiter. Les Polonais, puis les Britanniques, ont réalisé que la clé résidait dans les mathématiques et ont recruté un grand nombre de mathématiciens pour travailler sur la cryptanalyse de ces messages.

Alors que la machine Enigma était le moyen de chiffrement principal utilisé par les Nazis, il y en avait un encore plus sécurisé appelé le chiffre de Lorenz, et, pour décrypter ces messages, les Britanniques ont créé ce qui était le premier ordinateur moderne, battant l'Eniac de plusieurs années. Colossus pouvait tenter de trouver la clé en vérifiant de nombreuses combinaisons possibles en même temps. C'était le début du décryptage informatique et, peu après, le chiffrement informatisé a également été tenté par plusieurs personnes. Mais ceci reçut une opposition très active de la NSA aux Etats-Unis, qui, après la Seconde guerre mondiale, était le pays dominant à la fois en informatique et en cryptanalyse. Et c'est un point important. Si la NSA pouvait tout simplement jeter de la puissance de calcul sur tout chiffrement et le déchiffrer, les Américains ne se seraient jamais comporté ainsi, et ne continueraient pas d'agir de même encore aujourd'hui. C'est le fait même qu'ils ne peuvent pas tout déchiffrer qui les conduit à affaiblir les normes et s'opposer à la recherche.

By the 1960s, it was clear that computers could create encryption schemes that could not be broken so long as the users did not make a mistake. But the big problem was distributing the keys. The key used to create the cipher is essential, and getting it to the people who need to use it without anyone else getting it is a big problem. Whitfield Diffie and Martin Hellman, working with Ralph Merkle, created what Hellman has suggested should be called the Diffie-Hellman-Merkle key exchange algorithm which showed that it was possible to securely exchange keys even through a public medium, and Diffie later had the insight that the key could be asymmetric, meaning that the key used to encrypt the message could be different from the key used to decrypt the message. This would enable Alice to encrypt a message and send it to Bob (in discussion of crypto it is always Alice and Bob who are communicating; see Wikipedia) using Bob’s public encrypting key, and Bob could then decrypt it using his private decrypting key which only he knows. Diffie thought this was theoretically possible, and then a team at MIT actually found a mathematical function to do this. The team was Ronald Rivest, Adi Shamior, and Leonard Adleman, and by their initials this became known as RSA encryption, and it is still basically the standard in use today. The way it works, without going into extremely deep mathematics, is by using a one-way function, which is a mathematical function that can operate on a number, but, when you get the result, there is no way to go back and see what the initial number is. So using a public key with a one-way function, Alice can post this key on a public site, print it in a newspaper, put it on handbills, and tack it up all over town, or whatever. Anyone can use it to encrypt a message, but this key can never decrypt the message. Only her private key can decrypt. These two keys are generated together as a key pair, based on taking two very large prime numbers, a dash of randomness, and some interesting mathematics. If you really want to look at the math, start with the Wikipedia page for the RSA Algorithm.

Dans les années 1960, il était clair que les ordinateurs pouvaient créer des schémas de chiffrement qui ne pouvaient être brisés tant que les utilisateurs ne faisaient pas d'erreur. Mais le gros problème a été de distribuer les clés. La clé utilisée pour créer le chiffrement est essentielle et l'envoyer aux gens qui ont besoin de l'utiliser sans que personne d'autre ne l'obtienne est un gros problème. Whitfield Diffie et Martin Hellman, en collaboration avec Ralph Merkle, ont créé ce que Hellman a suggéré d'appeler l'algorithme d'échange de clés Diffie-Hellman-Merkle, qui a montré qu'il était possible d'échanger des clés en toute sécurité, même publiquement, et Diffie a eu plus tard l'intuition que la clé pouvait être asymétrique, ce qui signifie que la clé utilisée pour chiffrer le message pouvait être différente de la clé utilisée pour le déchiffrer. Cela permettrait à Alice de chiffrer un message et de l'envoyer à Bob (quand on parle de crypto c'est toujours Alice et Bob qui communiquent, voir Wikipedia) en utilisant la clé de chiffrement publique de Bob, et Bob pourrait alors le déchiffrer en utilisant sa clé de déchiffrage privée que lui seul connaît. Diffie pensait que c'était théoriquement possible, puis une équipe du MIT a effectivement trouvé une fonction mathématique pour le faire. L'équipe était composée de Ronald Rivest, Adi Shamior et Leonard Adleman, et c'est maintenant connu comme le chiffrement RSA (d'après leurs initiales). C'est encore essentiellement la norme en usage aujourd'hui. La façon dont cela fonctionne, sans entrer dans les mathématiques extrêmement profondes, est d'utiliser une fonction à sens unique, qui est une fonction mathématique qui peut fonctionner sur un certain nombre, mais, quand vous obtenez le résultat, il n'y a aucun moyen de revenir en arrière et connaître le nombre initial. Donc, en utilisant une clé publique avec une fonction à sens unique, Alice peut poster cette clé sur un site public, l'imprimer dans un journal, la mettre sur des prospectus, et l'afficher partout dans la ville, etc. N'importe qui peut l'utiliser pour chiffrer un message, mais cette clé ne peut jamais déchiffrer de message. Seule sa clé privée peut déchiffrer. Ces deux clés sont générées ensemble comme une paire de clés, basées sur le choix de deux très grands nombres premiers, une pincée de hasard, et un peu de mathématiques intéressantes. Si vous voulez vraiment regarder les maths, commencez par la page Wikipedia sur l'algorithme RSA.

3

So the key to modern encryption is that it is an example of applied mathematics. Every message you write can be encoded using ASCII or some similar encoding scheme into a series of binary digits (zeros and ones). So that means that any message is equivalent to a number, and any number can be operated on using mathematics. And using mathematics we can determine just how secure it is, and that is why we can have confidence that encryption can be made secure even from government decryption. They may threaten you with jail if you don’t reveal the key (in civilized countries), or even threaten you and your family with torture (in totalitarian dictatorships), but they cannot break the encryption if you don’t help them at some point. Again, the bottom line that everyone needs to understand is that if you use this properly, it cannot be decrypted using brute force in any reasonable time. It is not hard to encrypt data using a key strong enough that it would take every computer known in the entire world a billion years working day and night to crack the cipher and decrypt the message. And the NSA knows this, which is why they tried very hard to stop this technology getting out, and even indicted Phil Zimmerman, author of PGP, for “exporting munitions” when his code got out of the U.S. (BTW, he was never successfully prosecuted). And to this day, the NSA rarely tries to brute force any encrypted data, since it is hopeless. What they try to do is get the keys (often by legal compulsion), or find a way to weaken the keys, as they did with the Elliptical Curve Cipher.

Ainsi, la clé du chiffrement moderne est qu'il s'agit d'un exemple de mathématiques appliquées. Chaque message que vous écrivez peut être codé en utilisant ASCII ou une norme de codage similaire en une série de chiffres binaires (zéros et uns). Cela signifie donc que tout message est équivalent à un nombre et n'importe quel nombre peut être transformé par l'utilisation des mathématiques. Qui plus est, en utilisant les mathématiques nous pouvons déterminer à quel point le codage est sûr, et c'est pourquoi nous pouvons avoir confiance dans le fait que le chiffrement peut être sécurisé même contre le décryptage du gouvernement. Ils peuvent vous menacer de prison si vous ne révélez pas la clé (dans les pays civilisés), ou même de torture pour vous et votre famille (dans les dictatures totalitaires), mais ils ne peuvent pas le décrypter si vous ne les aidez pas un peu.

Encore une fois, l'idée de base que tout le monde doit comprendre, c'est que si vous l'utilisez correctement, il ne peut pas être décrypté avec la force brute en un temps raisonnable. Il n'est pas difficile de chiffrer des données en utilisant une clé assez forte pour qu'il faille à tous les ordinateurs connus dans le monde un milliard d'années, travaillant nuit et jour, pour découvrir la clé et déchiffrer le message. Et la NSA le sait. C'est pour cela qu'ils ont vraiment essayé d'empêcher que cette technologie voie le jour ; ils ont même accusé Phil Zimmerman, auteur de PGP, d'avoir « exporté des munitions » quand le code est sorti des USA. (A propos, il n'a jamais été poursuivi avec succès.) Et, jusqu'à ce jour, la NSA tente rarement la force brute sur des données chiffrées, puisque c'est sans espoir. Ce qu'ils essaient de faire est d'obtenir les clés (souvent par la contrainte juridique), ou trouver un moyen d'affaiblir les clés, comme ils l'ont fait avec la Cryptographie sur courbe elliptique.

issue94/q_r_securite.txt · Dernière modification : 2015/04/01 12:07 de auntiee