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 :

Aide pour crypto RSA


Sujet :

C++

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Aide pour crypto RSA
    Salut à tous,

    J'aimerais avoir des conseils sur le type (long,double...) à utiliser lorsque l'on veut coder une trame en RSA.
    pour crypter, on se sert de la formule Cn=Kn^(e)mod(n).
    quand n est petit ya pas de probleme car e est assez petit et on obtient pas une grosse valeur.
    J'utilise la fonction pow(a,b) pour Kn^(e) qui me genere un double.La fonction % qui represente le module par contre ne calcule qu'avec des int. Donc j'ai fait moi meme une fonction mod(), je ne sais pas si il y a ue autre methode.
    Bon mon cryptage marche mais avec une petite clef n.
    Par contre, la ou ca a coincé c pour le decryptage meme avec une petite valeur de n genre n=10573 on obtient un d=6221.
    avec la formule : Kn=Cn^(d)mod(n), la puissance Cn^(d) est enorme et je n'arrive plus à calculer.Je ne sais pas comment travailler avec des grands nombres pour ce genre de chose.
    J'ai vu sur un site qu'on pouvait utiliser un tableau avec une base 100 c'est à dire decomposer notre clé sur la base 100 mais bon il disait rien de plus et j'avoue que ca ne m'a pas beaucoup avancé.
    J'ai aussi entendu parler d'une bibliothèque de grands nombres crée par Henry cohen mais je n'ai pas eu plus d'info que ca sur cette bibliothèque.

    Voilà j'espère que je suis assez clair

    Merci d'avance à ceux qui peuvent m'aider

  2. #2
    Membre habitué
    Avatar de superspag
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    153
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 153
    Points : 186
    Points
    186
    Par défaut
    Je pense que c'est une lib genre GMP qu'il te faut

    http://www.swox.com/gmp/

    Je m'en suis déjà servie sur Linux mais je ne sais pas ce que ça donne sur windows...

    regarde ici : http://www.cs.nyu.edu/exact/core/gmp/

    Apparemment il faut passer par cygwin pour la compiler... Bon courrage

  3. #3
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Effectivement je crois qu'il vaut mieux que tu utilises une bibliothèque de grands entiers (par exemple chez boost), même si je crois me souvenir qu'il existe des algorithmes pour réduire la taille de ceux-ci.

  4. #4
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par Loulou24
    Effectivement je crois qu'il vaut mieux que tu utilises une bibliothèque de grands entiers (par exemple chez boost), même si je crois me souvenir qu'il existe des algorithmes pour réduire la taille de ceux-ci.
    Il y en a une chez boost? Je ne la vois pas.

  5. #5
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet
    Il y en a une chez boost? Je ne la vois pas.
    J'ai dû rêver
    J'étais pourtant sûr d'avoir un jour vu une bibliothèque du genre big_integer chez boost.

  6. #6
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par Loulou24
    Citation Envoyé par Jean-Marc.Bourguet
    Il y en a une chez boost? Je ne la vois pas.
    J'ai dû rêver
    J'étais pourtant sûr d'avoir un jour vu une bibliothèque du genre big_integer chez boost.
    Il y a une classe de rationnel et les autres classes de rationnels que j'ai vu etaient toutes basees sur des "big integer", mais pas celle de boost. C'est peut-etre ce qui t'a induit en erreur.

  7. #7
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Google fait référence à un boost::big_integer, mais seulement dans la mailing list de Boost. Serait-elle en préparation (ou abandonnée) ?

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Août 2003
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 247
    Points : 276
    Points
    276
    Par défaut
    Avec le principe de l'exponentiation rapide (cf Google) tu peux calculer les puissances sans débordement.
    Mais pour un implémentation réelle de RSA (càd avec des clefs de ~1024 bits), tu devras obligatoirement passer par une gestion avancée des grands nombre. GMP te fournit les fonctions nécessaires.

  9. #9
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Il y en a dans les sandbox de boost, comme par exemple http://groups.yahoo.com/group/boost/files/big_integer/

    Je n'ai pas vu de discussions sérieuses pour les mettre dans les formal reviews.

    Il y a eu aussi à une époque une proposition pour le standard C++, mais qui a été assez mal perçue, je crois. Je ne sais plus trop pourquoi.

  10. #10
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Citation Envoyé par JolyLoic
    Il y en a dans les sandbox de boost, comme par exemple http://groups.yahoo.com/group/boost/files/big_integer/

    Je n'ai pas vu de discussions sérieuses pour les mettre dans les formal reviews.

    Il y a eu aussi à une époque une proposition pour le standard C++, mais qui a été assez mal perçue, je crois. Je ne sais plus trop pourquoi.
    Merci pour les infos

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    merci à tous pour vos réponses.Je regarde tout ca et je vous tiens au courant

Discussions similaires

  1. Besoin d'aide pour RSA
    Par issam03 dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 14/01/2011, 11h49
  2. Besoin d'aide pour utiliser RSA
    Par AsmCode dans le forum Sécurité
    Réponses: 1
    Dernier message: 26/08/2007, 19h11
  3. Crypto RSA - besoin d'aide.
    Par Faiche dans le forum Langage
    Réponses: 6
    Dernier message: 19/10/2006, 19h56
  4. Besoin d'aide pour l'I.A. d'un puissance 4
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 17h05
  5. Une petite aide pour les API ?
    Par Yop dans le forum Windows
    Réponses: 2
    Dernier message: 04/04/2002, 21h45

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