Skip to content
Extraits de code Groupes Projets
Valider 8b559f5b rédigé par Yannick Chistel's avatar Yannick Chistel
Parcourir les fichiers

mise à jour des contenus

parent fccd762c
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Pipeline #89352 réussi
La cryptographie asymétrique
============================
==============================
Le chiffrement asymétrique a été créé dans les années 1970 pour communiquer de façon sécurisée sans avoir à échanger de clef de chiffrement.
.. _`Chiffrement RSA`: https://fr.wikipedia.org/wiki/Chiffrement_RSA
.. admonition:: Principe
:name: principe
:class: definition
Dans les années 1970, la cryptographie connaît un bouleversement avec l’apparition des systèmes à clé publique et privée, introduits par Whitfield Diffie et Martin Hellman. Ce modèle repose sur deux clés distinctes : une clé publique et une clé privée.
Le principe du chiffrement asymétrique repose sur une paire de clefs:
En 1977, l'algorithme RSA développé par Rivest, Shamir et Adleman, en est un exemple emblématique. La création des clés se fait avec des nombres premiers très grands dont l'explication est donnée sur la page wikipédia `Chiffrement RSA`_.
- une clef privée qui doit rester secrète,
- une clef publique qui est communiquée.
Cette avancée permet des applications essentielles comme les signatures numériques et les protocoles de sécurisation sur Internet.
.. admonition:: Chiffrement
:class: propriete
:name: chiffrement
Le principe du chiffrement asymétrique repose donc sur une paire de clés créée par un algorithme.
On peut chiffrer des messages de 2 façons différentes pour 2 usages distincts.
- une clé privée et secrète ``K_prv`` en possession d'un utilisateur unique à l'origine de sa création.
- une clé publique ``K_pub`` communiquée à tous les autres utilisateurs.
- On chiffre un message avec la clé privée. La clé publique permet de le déchiffrer. Cette méthode permet de **signer** le message.
- On chiffre un message avec la clé publique. La clé privé permet de le déchiffrer. Cette méthode permet une **communication cryptée**.
Le chiffrement avec ces clés assurent les propriétés suivantes:
#. On obtient le message initial ``M`` en le chiffrant successivement avec la clé publique ``K_pub`` et la clé privée ``K_prv``.
#. Il est impossible connaissant le message chiffré de deviner le message initial en clair.
#. Il est impossible connaissant la clé publique de deviner la clé privée associée.
Le système RSA
--------------
On peut chiffrer des messages de 2 façons différentes pour 2 usages distincts.
Dans les années 1970, la cryptographie connaît un bouleversement avec l’apparition des systèmes à clé publique et privée, introduits par Whitfield Diffie et Martin Hellman. Ce modèle repose sur deux clés distinctes : une publique pour chiffrer et une privée pour déchiffrer. L’algorithme RSA, développé en 1977 par Rivest, Shamir et Adleman, en est un exemple emblématique. Cette avancée permet des applications essentielles comme les signatures numériques et les protocoles de sécurisation sur Internet.
.. figure:: ../img/cryptographie_rsa.svg
:align: center
:width: 560
Le système RSA est un chiffrement asymétrique inventé par **Rivest**, **Shamir** et **Adleman** en 1977.
La paire de clefs est construite par un algorithme qui s'appuie sur les nombres premiers. On dispose d'une clef publique :math:`K^{pub}`, d'une clef privée :math:`K^{prv}` et une fonction de chiffrement par clef qui vérifie les propriétés suivantes:
- On obtient le message initial :math:`m` en le chiffrant successivement avec la clef publique et la clef privée : :math:`K^{pub}(K^{prv}(m)) = K^{prv}(K^{pub}(m)) = m`
- Il est impossible connaissant le message chiffré de deviner le message initial en clair;
- Il est impossible connaissant la clef publique de deviner la clef privée associée.
#. On chiffre un message avec la clé privée et la clé publique permet de le déchiffrer. Cette méthode permet de **signer** un message.
#. On chiffre un message avec la clé publique et la clé privé permet de le déchiffrer. Cette méthode permet de **chiffrer** une communication.
Signature d'un message
----------------------
......@@ -41,53 +35,51 @@ Signature d'un message
Lorsqu'on reçoit un message, rien ne garantit l'origine de celui-ci. Pour s'assurer qu'il a été envoyé par la bonne personne, on utilise sa signature électronique.
.. figure:: ../img/signature.svg
:alt: signature.svg
:align: center
:width: 280px
:alt: signature.svg
:align: center
:width: 280px
Signature electronique
Signature electronique
#. Alice chiffre un message avec sa **clé privée**. On dit qu'elle **signe** le message.
#. Alice envoie le message et sa signature (message chiffré) à Bob.
#. Bob utilise la clé publique d'Alice pour déchiffrer la signature. Il obtient un message qui est comparé avec le message envoyé par Alice. Si c'est le même, il a la garantie que c'est Alice qui lui a envoyé le message.
#. Alice chiffre un message avec sa **clé privée**. On dit qu'elle **signe** le message.
#. Alice envoie le message et le message signé à Bob.
#. Bob utilise la clé publique d'Alice pour déchiffrer le message signé. Il obtient un message qui est comparé avec le message envoyé par Alice. Si c'est le même, il est assuré que c'est Alice qui lui a envoyé le message.
.. note::
Cette méthode assure l'origine du message. Seule Alice possède la clé privée associée à la clé publique qui permet de déchiffrer la signature.
Toute personne qui reçoit le message signé est assuré qu'il est envoyé par Alice.
Cette méthode n'a pas pour but de cacher le message envoyé.
Cette méthode assure l'origine du message. Seule Alice possède la clé privée associée à la clé publique qui permet de déchiffrer la signature.
La signature est utilisée dans le téléchargement de fichiers, cela permet de contrôler l'authenticité du fichier.
Chiffrement d'un message
------------------------
La clef publique est utilisée pour chiffrer un message. Seule la clé privée peut déchiffrer ce message.
La clé publique est utilisée pour chiffrer un message. Seule la clé privée peut déchiffrer ce message.
.. figure:: ../img/chiffrement_rsa.svg
:align: center
:width: 500px
:align: center
:width: 500px
#. Bob veut envoyer un message chiffré à Alice. Il utilise la clé publique d'Alice pour chiffrer son message.
#. Alice reçoit le message chiffré avec sa clé publique. Elle le déchiffre en utilisant sa clé privée.
#. Si Carlo reçoit aussi le message, il ne pourra pas le déchiffrer.
#. Bob veut envoyer un message chiffré à Alice. Il utilise la clé publique d'Alice pour chiffrer son message.
#. Alice reçoit le message chiffré avec sa clé publique. Elle le déchiffre en utilisant sa clé privée.
#. Si Carlo reçoit aussi le message, il ne pourra pas le déchiffrer.
.. note::
Comme Alice est la seule à posséder la clé privée associée à la clé publique utilisée pour chiffrer le message, elle est la seule à pouvoir le déchiffrer.
Comme Alice est la seule à posséder la clé privée associée à la clé publique utilisée pour chiffrer le message, elle est la seule à pouvoir le déchiffrer.
La sécurité repose sur le fait qu'il est impossible de trouver la clé privée à partir d'une clé publique.
La sécurité repose sur le fait qu'il est impossible de trouver la clé privée à partir d'une clé publique.
Échanger une clef symétrique
Échanger une clé symétrique
----------------------------
La cryptographie RSA peut être utilisée pour échanger une clef de chiffrement symétrique. La clef de chiffrement symétrique choisie par un des participants sera chiffrée avec la paire de clés RSA.
La cryptographie RSA peut être utilisée pour échanger une clé de chiffrement symétrique. La clé de chiffrement symétrique choisie par un des participants sera chiffrée avec la paire de clés RSA.
- Alice fabrique une clef de chiffrement symétrique :math:`k`;
- Alice chiffre la clef de chiffrement symétrique :math:`k` avec la clef publique de Bob :math:`K_B^{pub}(k)`;
- Bob reçoit la clef chiffrée et la déchiffre avec sa clef privée : :math:`K_B^{prv}(K_B^{pub}(k))=k`;
- Alice et Bob disposent de la même clef de chiffrement symétrique :math:`k` et peuvent communiquer de manière sécurisée.
#. Alice fabrique une clé de chiffrement symétrique :math:`K`;
#. Alice chiffre la clé de chiffrement symétrique :math:`K` avec la clé publique de Bob :math:`K_B^{pub}(K)`;
#. Bob reçoit la clé chiffrée et la déchiffre avec sa clé privée : :math:`K_B^{prv}(K_B^{pub}(K))=K`;
#. Alice et Bob disposent de la même clé de chiffrement symétrique :math:`K` et peuvent communiquer de manière sécurisée.
.. image:: ../img/rsa.svg
:alt: rsa.svg
:align: center
:alt: rsa.svg
:align: center
Ce diff est replié.
Ce diff est replié.
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter