IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Probléme de décryptage avec la clé publique


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 264
    Par défaut Probléme de décryptage avec la clé publique
    Bonjour,

    J'ai un problème !!

    J'utilise l'algorithme de cryptage asymétrique RSA fournit avec .NET avec lequel je génère une clé privée et une clé publique que je stocke en xml ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
    ClePublique = RSA.ToXmlString(false);
    ClePrivee = RSA.ToXmlString(true);
    Je crypte un message avec la clé privée ...

    Plus loin dans mon programme, je cherche à décrypter mon message avec la clé publique. pour cela, j'utilise le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
    RSA.FromXmlString(ClePublique);
    J'obtient l'erreur "Clé incorrecte"

    Quelqu'un aurait une idée du problème ???

    Merci !

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Je ne suis pas un spécialiste dans le domaine, mais bon pour moi, l'utilisation de clé publique et privée sert à l'authentification de l'utilisateur.
    Pour faire cette authentification, le logiciel qui possède une clé privé, génère la clé publqieu à partir de celle-ci.
    Il compare alors sa clé publique à celle envoyer par une autri application.
    Si elles sont identiques alors l'autre application a bien le droit de communiquer avec le soft qui fait office de serveur.
    Bref tout cela pour dire que je n'utiliserais la clé publique que pour vérifier l'autencité du document et je décrypterais avec le clé privé puisque tu as encrypté avec la clé privée.

    Bon je peu me tromper, mais certainement que quelqu'un ici confirmera mes dires ou au contraires les contesteras et t'apportera alors la solution

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 264
    Par défaut
    Citation Envoyé par ced600 Voir le message
    Je ne suis pas un spécialiste dans le domaine, mais bon pour moi, l'utilisation de clé publique et privée sert à l'authentification de l'utilisateur.
    Pour faire cette authentification, le logiciel qui possède une clé privé, génère la clé publqieu à partir de celle-ci.
    Il compare alors sa clé publique à celle envoyer par une autri application.
    Si elles sont identiques alors l'autre application a bien le droit de communiquer avec le soft qui fait office de serveur.
    Bref tout cela pour dire que je n'utiliserais la clé publique que pour vérifier l'autencité du document et je décrypterais avec le clé privé puisque tu as encrypté avec la clé privée.

    Bon je peu me tromper, mais certainement que quelqu'un ici confirmera mes dires ou au contraires les contesteras et t'apportera alors la solution

    Je crois que tu as raison : seule la clé privée peut décrypter. Donc je peux oublier la clé publique pour le décryptage ...

    Si quelqu'un pouvait confirmer ...

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Par défaut
    en fait c'est pas tout a fait ca...

    un algorithme assymétrique possède deux clés... jsque la c'est normal...

    une privée, une publique... laquelle est privée laquelle publique... c'est sans importance.

    en vérité... la seule contrainte c'est que pour chiffrer il faut une des deux, et pour dechiffrer il faut l'autre.
    mais rien ne dit qu'il faut l'une ou l'autre en particulier !

    en fait tout dépend de l'application, car on utilise les deux méthodes.

    Si tu chiffre à l'aide de ta clé privée... toute personne ayant ta clé publique peut déchiffrer le message... ceci assure sans conteste que c'est toi l'émetteur, en revanche ya pas de secret puisque "tout le monde" peut lire le message.
    Si tu chiffre avec la clé publique de ton destinataire... seul lui avec sa clé privée peut le lire... ca assure bien la confidentialité, mais pas l'autenticité. (que la source est bien celle qu'elle prétant être)

    en revanche on vient bien là, qu'on peut chiffrer avec n'"importe quelle clé... tout dépend de l'usage qu'ont fait... atenticité / secret.

    maintenant ton appli doit avoir les deux. une des raisons est que c'est générallement à ton appli de fournir la clé publique qu'il utilise...
    maintenant ca dépend de tes besoins...

    Si le client connait la clé public qu'elle ne change "jamais"... no problemo... ton appli a juste besoin de sa clé privée.

    A autre détail... ON MET JAMAIS UN TROUSSEAU DE CLE ASYMETRIQUE DANS UN FICHIER XML !!!
    vous etes tombés sur la tete ou quoi ?
    où est la sécurité ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 101
    Par défaut
    je suis d'accord avec cinemania sur toute la ligne.

    Juste pour préciser: la clef publique, c'est celle qu'on donne aux gens en disant "si vous voulez m'envoyer un message secret, utilisez cette clef pour le crypter. De mon côté, j'ai la clef privée pour décrypter. Signez le message avec votre clef privée, et j'utiliserai votre clef publique pour vérifier votre identité"

    Voilà comment RSA et les algos de cryptages asymétriques font pour assurer à la fois confidentialité et intégrité de l'émetteur (signature).

    Donc la clef publique, on peut la stocker en clair (et même il faut la stocker en clair) pour que des sujets (personnes ou programmes) puissent nous envoyer des messages cryptés. Un XML va très bien pour ça.

    MAIS si vous donnez votre clef privée, ou si elle est facilement accessible, n'importe qui pourra décrypter les messages secrets qui vous seront destinés, ou se faire passer par vous (spoofing).

    Bon c'est que j'ai un partiel de sécurité info demain moi! Grâce à vous j'aurais un peu révisé

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 264
    Par défaut
    Hello

    Donc on est bien d'accord sur ce point : la clé privée crypte et décrypte alors que la clé publique ne peut que crypter

    C'est évident dans le cas où seul le détenteur de la clé privée est en mesure de décrypter les messages cryptés par des tiers avec la clé publique.

    Dans le cas d'une authentification, les tiers controlant l'origine du message vont crypter ce dernier afin de retrouver la signature du détenteur de la clé privée.

    Dans un cas comme dans l'autre, la clé publique sert toujours à crypter (mais jamais à décrypter) ...

Discussions similaires

  1. [WD17] cryptage / décryptage avec clé publique
    Par droliprane dans le forum WinDev
    Réponses: 11
    Dernier message: 05/11/2014, 11h55
  2. Réponses: 0
    Dernier message: 09/10/2009, 12h19
  3. Problème de décryptage avec Rijndael
    Par kaderscream dans le forum C#
    Réponses: 4
    Dernier message: 02/06/2008, 19h56
  4. Problème dans requête avec count()
    Par BadFox dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/07/2003, 18h02
  5. Problèmes de versions avec Xalan, Xerces et Java
    Par honeyz dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 05/06/2003, 10h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo