Discussion Utilisateur:Proz/brouillon

Un article de Wikipédia, l'encyclopédie libre.

Icône de détail Article détaillé : Cryptographie.
Le hameçonnage est une technique visant à obtenir des informations confidentielles sur internet en vue d'une escroquerie. La nécessité de communication d'informations confidentielles représente un danger en cryptographie.
Le hameçonnage est une technique visant à obtenir des informations confidentielles sur internet en vue d'une escroquerie. La nécessité de communication d'informations confidentielles représente un danger en cryptographie.

L'objet de la cryptographie est d'assurer la confidentialité dans la transmission des messages et l'authentification de ceux-ci. On peut citer deux exemples : la protection des messages qu'utilise une armée pour empêcher une anticipation de l'ennemi, ou la carte bleue proposée par le système bancaire, offrant à un usager une bonne sécurité.

En termes plus mathématiques, l'opération de chiffrement se traduit par un algorithme, c'est-à-dire une fonction f qui, à un message en clair m et une clé k, associe un message chiffré f(k, m). La connaissance du message chiffré et de l'algorithme doit être insuffisante pour reconstituer le message en clair sans une clé de déchiffrement. Dans le cas de la cryptographie traditionnelle, dite cryptographie symétrique, la clé de déchiffrement est identique à la clé de chiffrement ou s'en déduit aisément. Cette clé doit alors rester secrète.

La cryptographie asymétrique s'appuie sur le constat que seule la clé de déchiffrement doit rester secrète, et connue du seul récepteur du message. Elle n'a pas besoin d'être communiquée à ses correspondants. Alice utilise la clé de chiffrement de Bob, que celui-ci a rendu publique, pour lui envoyer un message. Seul Bob peut le déchiffrer, même Alice, si jamais elle avait perdu le message en clair, en serait incapable. Bob doit répondre en utilisant la clé de chiffrement d'Alice.

L'objectif est donc de définir une fonction simple à évaluer mais difficile à inverser sans la connaissance d'un secret. L'arithmétique modulaire a été la première à offrir des solutions, et elle est toujours à la base de beaucoup de solutions commerciales. Par exemple l'échange de clés Diffie-Hellman, premier exemple historique, exploite la difficulté pratique à inverser l'exponentiation modulaire. Cette dernière, ou ses généralisations à d'autres groupes, reste fondamentale dans le domaine.

La cryptographie asymétrique résout en particulier le délicat problème de la distribution des clefs en cryptographie symétrique. Si plusieurs correspondants communiquent, en crypotographe asymétrique, une clé différente s'avère nécessaire pour chaque couple d'intervenants, alors qu'en cryptographie symétrique chaque correspondant dispose d'une clef qu'il garde secrète, et d'une clef qu'il rend publique. Cependant elle n'a pas fait disparaître les codes symétriques, qui offrent des algorithmes beaucoup plus efficaces. Pour une sécurité équivalente, les codes symétriques présentent l'avantage de nécessiter des clés nettement plus petites, 128 bits pour la version courante de AES, contre plus d'un millier pour le RSA, mais surtout le chiffrement comme le déchiffrement sont de cent à mille fois plus rapide[1]. Les systèmes cryptographiques modernes, comme ceux utilisés par les cartes bancaires, ou le protocole de communication cryptée SSL/TLS très utilisé sur Internet, n'utilisent qu'en début de communication la cryptographie asymétrique, pour échanger les clés d'un chiffrement symétrique qui prendra ensuite le relai.

[modifier] Cryptographie asymétrique

Icône de détail Article détaillé : Cryptographie asymétrique.
Une Carte à puce utilisant un algorithme RSA
Une Carte à puce utilisant un algorithme RSA

Le code RSA est un exemple largement répandu de cryptographie asymétrique. Il se décrit de la manière suivante :

Alice (le choix des prénoms est traditionnel) souhaite pouvoir recevoir des messages de Bob sans qu'Eve puisse les déchiffrer. Alice choisit deux grands nombres premiers p et q et un entier e, premier avec l'ordre g du groupe des unités de Z/pqZ. Ici g est égal à (p - 1)( q - 1), soit la valeur de la fonction indicatrice d'Euler en n=pq. Les messages sont supposés être des éléments de cet anneau. Si Bob souhaite transmettre le message m à Alice, il transmet la valeur de me modulo n. Alice a rendu au préalable publiques les valeurs de n = p.q, e et donc la fonction f de chiffrement, qui est ici égale à :

 f(m) \ \equiv\ m^e \quad \pmod n

Eve a pu intercepter la connaissance de f, e et n, ces informations sont en effet publiques. En revanche, elle ne peut intercepter les valeurs de p et q qui n'ont jamais été communiquées.

Pour Bob, la fonction de codage est aisée une simple exponentiation modulaire. Pour Alice la lecture l'est aussi, il lui suffit de trouver une solution à l'identité de Bézout :

 x.e + y.(p-1)(q-1) \ = \ 1\;

Si (x0, y0) est une solution, alors le théorème d'Euler montre que :

m  \equiv \ f(m)^{x_0} \mod n

En revanche Eve ne connaît pas a priori la décomposition en produit de facteurs premiers de n. Elle doit calculer le logarithme discret de f(m), ce qui constitue un problème ardu. La méthode la moins lente connue correspond à déterminer les valeurs de p et de q. Si n est grand, il n'existe pas, en 2007, d'algorithme efficace pour résoudre cette question.

La clé permettant le chiffrement est la donnée de e et n. La force d'un tel système réside dans le fait que la connaissance de cette clé ne permet pas le décryptage, elle peut donc être publique. Les valeurs de p et q constituent la clé du décryptage.

[modifier] Cryptographie symétrique

Icône de détail Article détaillé : Cryptographie symétrique.

La cryptograpie asymétrique n'existerait pas sans les méthodes issues de l'arithmétique modulaire, ce qui, pour des raisons historiques évidentes, n'est pas le cas de la cryptographie symétrique. Elle se divise en deux grandes familles donnt l'une, les chiffrements par flot, utilise comme composant de base les suites récurrentes linéaires sur un corps fini (voir ci-dessous). L'autre, celle des chiffrements par bloc, comprend entre autres le DES et son successeur, le standard de chiffrement avancé appelée AES pour Advanced Encryption Standard. Ces derniers opèrent sur des blocs de données d'une taille fixe comptée en octets, seize pour l'AES par exemple. Une suite d'opérations primitives assez simples est appliquée de façon répétée pour coder un bloc. Un octet, ou plus généralement un bloc de n bits, peut être vu comme les coefficients d'un polynôme sur les entiers modulo deux, de degré maximal n-1. Cela a conduit les cryptologues à s'intéresser à certaines opérations sur les corps finis de caractéristique 2. Ainsi il s'avère que l'opération d'inversion sur le corps fini F2n, composée avec une translation affine, a de bonnes propriétés cryptographiques pour en faire l'une des primitives des chiffrements par bloc[2]. Ceci a été exploité par les auteurs de l'AES dont la publication officielle par le NIST (agence fédérale américaine) contient un rappel de mathématiques sur le sujet[3]. Il faut noter cependant qu'il n'est nul besoin d'algorithmique sur les corps finis pour l'implémentation : ces opérations sont représentées par des tables, comme les opérations analogues du DES obtenues elles de façon beaucoup plus heuristique. Certains cryptologues ont même vu une faiblesse potentielle dans la caractérisation trop algébrique de l'AES, qui le rendrait plus accessible à l'imagination des mathématiciens[4].


  1. Christine Bachoc Cours de cryptographie symétrique p 3, Université de Bordeaux I
  2. Kaisa Nyberg. Differentially uniform mappings for cryptography. In Advances in Cryptology - EUROCRYPT'93, volume 765 of Lecture Notes in Computer Science. Springer-Verlag, 1994, http://www.tcs.hut.fi/~knyberg/publications/diffuni.pdf
  3. lire http://www.csrc.nist.gov/publications/fips/fips197/fips-197.pdf pp 10-12
  4. Niels Ferguson, Richard Schroeppel, Doug Whiting, A simple algebraic representation of Rijndael, Proceedings of Selected Areas in Cryptography, 2001, Lecture Notes in Computer Science, pp 103–111, http://www.macfergus.com/pub/rdalgeq.html