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 :

Cryptage RSA d'un string


Sujet :

C++

  1. #21
    Membre averti
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 18
    Par défaut
    J'ai tester, quand je genere une cle dans rsa, ca fonctionne, ca venait du fait que rsa avec juste été initialiser avec RSA_new().

    Faut que je trouve comment faire en sorte que ma cle en unsigned char * deviennent la rsa en fait ^^

    En fait, le prototype c'est :

    RSA_public_encrypt(int taille_de_ce_que_je_dois_chiffrer, unsigned char *ce_que_je_dois_chiffrer, unsigned char *stockage_apres_chiffrement, rsa info_rsa, int define);

    En voyant ce qu'est la struct :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
            struct
                   {
                   BIGNUM *n;              // public modulus
                   BIGNUM *e;              // public exponent
                   BIGNUM *d;              // private exponent
                   BIGNUM *p;              // secret prime factor
                   BIGNUM *q;              // secret prime factor
                   BIGNUM *dmp1;           // d mod (p-1)
                   BIGNUM *dmq1;           // d mod (q-1)
                   BIGNUM *iqmp;           // q^-1 mod p
                   // ...
                   };
    Je pense qu'en rentrant *n et *e je devrais pouvoir intégrer la clé, je vois les fonctions que tu m'as envoyé, elles ont l'air pas mal x)

  2. #22
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut
    J'ai lu la doc (très mal faite et incomplète d'ailleurs... ) je n'ai pas trouvé une fonction qui te permettrais de faire ceci.

    J'ai vu une fonction dont je n'ai aucune idée de ce qu'elle fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int RSA_set_ex_data(RSA *r,int idx,char *arg);
    Elle fait peut être ce que tu veux faire, à tester^^

    En regardant les sources j'ai aussi trouvé cette fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int	RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb);

  3. #23
    Membre averti
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 18
    Par défaut
    En fait, en regardant la structure, on a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
            struct
                   {
                   BIGNUM *n;              // public modulus
                   BIGNUM *e;              // public exponent
                   BIGNUM *d;              // private exponent
                   BIGNUM *p;              // secret prime factor
                   BIGNUM *q;              // secret prime factor
                   BIGNUM *dmp1;           // d mod (p-1)
                   BIGNUM *dmq1;           // d mod (q-1)
                   BIGNUM *iqmp;           // q^-1 mod p
                   // ...
                   };
    RSA
    Et dans le man :
    In public keys, the private exponent and the related secret values are NULL.

    Donc en gros, faudrait trouver le *n et le *e, je sens que je vais devoir bouffer des maths x)
    Sinon, je vais voir du côté de tes fonction, parait pas mal de nom x)

  4. #24
    Membre averti
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 18
    Par défaut
    http://www.jeux-libres.com/tutoriaux...age-rsa-en.php

    Cette lib a telllement l'air de faire le café, pourquoi elle veut pas fonctionner x)

  5. #25
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut
    C'est un lien plutôt intéressant que tu nous donne là^^

    Qu'est-ce que ne marche pas exactement?

  6. #26
    Membre averti
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 18
    Par défaut
    Classe undefinied, le genre d'erreur que tu as quand la lib est mal inclu, mais sous unix, pas vraiment moyen de se tromper, je crois pas que la lib soit faite pour fedo64 du coup j'ai envoyer un mail au créateur pour avoir les sources et recompiler, apparemment, il les donne un peu alawanagaine x)

  7. #27
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut
    Problème résolu alors ?

    Sinon il faudrait leur conseiller de mettre les sources sur github ou autre pour pouvoir recevoir des remarques sur le code et permettre à chaque personne de télécharger les sources.

  8. #28
    Membre averti
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 18
    Par défaut
    J'attends sa réponse pis je posterai le lien vers les sources en fonction de si il veut bien ou non (du coup vers son site) =) Je mettrais à jour quand mon problème sera résolu (si ca se trouve ça ne fonctionnera pas x) )

  9. #29
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Par défaut
    Ah, tiens, j'ai un jour de retard...

    Citation Envoyé par Neckara Voir le message
    00 marque la fin d'une chaîne de caractère donc si tu fait un printf, tu ne verras pas la suite.


    De plus, ce n'est pas sûr qu'il copie bien ce qu'il y a derrière l'octet 0x00

    Je pense que le mieux est de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    std::string monString;
     
    int taille = monString.size();
    char * monChar = new char[taille];
     
    std::string::iterator p = monString.begin();
    std::string::const_iterator const fin = monString.end();
     
    char * tmp = monChar;
    while(p != fin)
                *tmp++ = *p++;
    Par contre tu ne pourras pas utiliser les fonctions de string.h sur ton char *.
    Pareil, mais en remplaçant les pointeurs nus par un std::vector<char> - c'est fait pour

    Le code équivalent est même un rien plus court :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    std::string monString;
    std::vector<char> monVec(monString.begin(), monString.end());
    De manière générale, les std::string sont utilisés pour stocker des chaines de caractères, et std::vector<char> des buffers de caractères. après cryptage, on a plus une chaîne, mais une suite de caractères qui ne sont pas tous affichables.
    [FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
    Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
    Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

Discussions similaires

  1. Cryptage rsa sous Delphi
    Par hocine77 dans le forum Langage
    Réponses: 5
    Dernier message: 27/12/2010, 18h30
  2. Algorithm de cryptage RSA
    Par aocaoc dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 29/12/2007, 18h26
  3. cryptage Rsa coté mobile et decryptage coté serveur
    Par Tunisia dans le forum Sécurité
    Réponses: 1
    Dernier message: 11/08/2007, 10h44
  4. Le cryptage RSA
    Par h_raf dans le forum C
    Réponses: 1
    Dernier message: 21/04/2007, 23h16
  5. [VB.NET2.0] cryptage RSA avec clef privée
    Par AP dans le forum Framework .NET
    Réponses: 4
    Dernier message: 17/04/2007, 15h35

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