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 :

comment mettre le résultat de cryptage dans un paramètre spécifique de mon choix


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    etudiante
    Inscrit en
    Avril 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : Tunisie

    Informations professionnelles :
    Activité : etudiante
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2010
    Messages : 43
    Points : 0
    Points
    0
    Par défaut comment mettre le résultat de cryptage dans un paramètre spécifique de mon choix
    bonjour
    je suis debutante au programation en c
    je veux crypter un message avec RSA,mais je trouve que ce code a deux methode pour le crypter ,j'essaie de resoudre est mon resolution est vrai .je vous presente une partie du code RSAe tcomment je l'implemente
    crypto.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void comparer(void);
        unsigned long int crypt(unsigned char k,unsigned long int n,unsigned long int e);
        unsigned char decrypt( unsigned long int k,unsigned long int d,unsigned long int n);
        void crypter(void);
    crypto.cc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
     
      void crypter(void)
        {
        FILE *source_crypt;
        FILE *res_crypt;
        unsigned char c;
        unsigned long int i=0;
        unsigned long int k,n,e;
        char nom_fichier[20];
        printf("\n\n\t\t\t *********\n");
        printf("\t\t\t *CRYPTER*\n");
        printf("\t\t\t *********\n\n\n\n");
        fflush(stdin);
        printf("Donner le nom du fichier source avec son extension : ");
        gets(nom_fichier);
        printf("\n\n\n\tdonner votre cle publique n : ");
        scanf("%d",&n);
        printf("\n\n\n\tdonner votre cle publique e : ");
        scanf("%d",&e);
        source_crypt=fopen(nom_fichier,"rb");
        if(source_crypt==NULL)
        {
        printf("Impossible d'ouvrir le fichier source.\n");
        }
        res_crypt=fopen("result.cry" , "wb");
        if(res_crypt==NULL)
        {
        printf("Impossible d'ouvrir le fichier resultat.\n");
        }
        clrscr();
        printf("\n\n\t\tATTENDEZ SVP PENDANT LE CRYPTAGE.");
        while((feof(source_crypt)==0) && (fread(&c,sizeof(unsigned char),1,source_crypt)!=0))
        {
        fseek(source_crypt,sizeof(unsigned char)*i,SEEK_SET);
        fread(&c,sizeof(unsigned char),1,source_crypt);
        k=crypt(c,n,e);
        fwrite(&k,sizeof(unsigned long int),1,res_crypt);
        i=i+1;
        }
        fclose(source_crypt);
        fclose(res_crypt);
        printf("\n\n\n\n\n\n\n\n\n\nLe cryptage de votre fichier est termine.");
        printf("\n\nvotre fichier crypter se nomme result.cry");
        getch();
        }
    /******************************FONCTION CRYPTAGE*******************************/
        unsigned long int crypt(unsigned char k,unsigned long int n,unsigned long int e)// k:c'est le message qu'on va l'inserer
        {
        unsigned long int i,res=1,nbre;
        nbre=((unsigned long int)k);
        for(i=0;i<e;i++)
        {
        res = res * nbre;
        res=fmod(res,n);
        }
        return res;
        }
    controller.cc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    crypto cry;
    cdta=cry.crypt(ackwarning.Getchmp_data(),unsigned long int n,unsigned long int e);
    cry.crypter();(//crypter le donnée//
    aussie est ce que je peut mettre le resulat de cryptage qui est enregistre dans result.cry dans mon propre parametre commet je peut le faire

  2. #2
    Membre régulier
    Profil pro
    Ingénieur
    Inscrit en
    Avril 2013
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Avril 2013
    Messages : 77
    Points : 107
    Points
    107
    Par défaut
    Pas très clair tout ça...

    Qu'est ce que result.cry? result est une structure?
    Qu'est ce que la structure crypto?

    Tu appelles la fonction cry.cripter() dans le point h??

    aussie est ce que je peut mettre le resulat de cryptage qui est enregistre dans result.cry dans mon propre parametre commet je peut le faire
    De quel résultat de cryptage parles-tu?

    Si le résultat dont tu parles est celui renvoyé par la fonction crypt, tu l'as directement, où est le problème?
    tu peux directement faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    unsigned long int result = crypt(k,n,e);

  3. #3
    Membre régulier
    Profil pro
    Ingénieur
    Inscrit en
    Avril 2013
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Avril 2013
    Messages : 77
    Points : 107
    Points
    107
    Par défaut
    J'essaie de t'aider mais il faut aussi nous aider. J'ai du mal à comprendre ton problème.

    Dis moi si je me trompe.
    Tu veux crypter un message, pour cela tu disposes d'une fonction qui a le prototype suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    unsigned long int crypt(unsigned char k,unsigned long int n,unsigned long int e);
    avec k le message que tu veux crypter et n et e deux paramètres définis.
    Tu veux récupérer le résultat de cette fonction?

    Selon le prototype de ta fonction le résultat est de type unsigned long int.
    Du coup il faut que tu appelles la fonction de cette manière:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    unsigned long int msg_crypte = crypt(msg_a_crypter,n,e);
    Ainsi dans msg_crypte tu auras la valeur du message crypté selon la fonction crypt().

    Si ce n'est pas le problème, donnes nous des informations sur ces lignes de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    crypto cry;
    cdta=cry.crypt(ackwarning.Getchmp_data(),unsigned long int n,unsigned long int e);
    cry.crypter();(//crypter le donnée//
    Que cherches tu à faire?
    et notamment peux tu donner la structure crypto

  4. #4
    Nouveau Candidat au Club
    Femme Profil pro
    etudiante
    Inscrit en
    Avril 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : Tunisie

    Informations professionnelles :
    Activité : etudiante
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2010
    Messages : 43
    Points : 0
    Points
    0
    Par défaut
    le fichier crypto.cc ,c'est un fichier de code RSA j'ai le telechargé d'apres l'internet
    j'ai besoin de crypter ''ms'' et les deux paramtre n,e je n'ai pas le droit de choisir ou tocuher car ce RSA qui va le choisir
    dans le fichier conntroller .cc ,je fais l'appe d efontion crypt() afin que je crypter "msg"
    puis j'ai besoin que le message crypté je le met dans un parametre à part afin de l'utiliser dans un autre methode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    crypto cry;
    unsigned long int cdta=cry.crypt(ackwarning.Getchmp_data(), n,e);
    cry.crypter();(//crypter le donnée//

  5. #5
    Membre régulier
    Profil pro
    Ingénieur
    Inscrit en
    Avril 2013
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Avril 2013
    Messages : 77
    Points : 107
    Points
    107
    Par défaut
    D'accord, d'après ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    crypto cry;
    cdta=cry.crypt(ackwarning.Getchmp_data(),unsigned long int n,unsigned long int e);
    cry.crypter();(//crypter le donnée//
    la fonction crypt fait parti de la classe crypto.
    Il faudrait que tu essaies de trouver la doc du code, ou d'analyser le code pour savoir ce que les fonction crypt et crupter font exactement.

    Car là, moi je dirais que le paramètre crypté est cdta, que tu peux alors utiliser autre part; mais à quoi sert alors la fonction crypter??

  6. #6
    Nouveau Candidat au Club
    Femme Profil pro
    etudiante
    Inscrit en
    Avril 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : Tunisie

    Informations professionnelles :
    Activité : etudiante
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2010
    Messages : 43
    Points : 0
    Points
    0
    Par défaut
    d'apre la relire de code crypto.cc et d'apres ma comprehension de ce code la :la fonction crypter() fais l'appel aux autre focntion et il crypter et printf le resulat dans l'ecran
    mais je ne besoin pas que le resultat met dans un ecran je veux l'enregsitre,je veux modifier le parametre "k" de la focntion crypt pour inserer mon msg et puis je l'enregsitre dans un autre parametre
    le code RSA est tres dufficule pour l'implementer ou l'exploiter ,il a besoin d'un expert mais malheureseemnt je suis debutante dans ce domaine

  7. #7
    Membre régulier
    Profil pro
    Ingénieur
    Inscrit en
    Avril 2013
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Avril 2013
    Messages : 77
    Points : 107
    Points
    107
    Par défaut
    Ah d'accord.

    Dans ce cas il faut que tu modifie cette fonction, tu n'as pas le choix.
    Au lieu d'avoir le prototype void crypter(void), il faut la changer en
    <type de retour> crypter(void) avec "type de retour" le type sur lequel est codé la valeur cryptée.

    Pour se faire, il faut que tu repères dans cette fonction où est fait l'affichage, c'est-à-dire le printf (surement à la fin de la fonction). En effet le printf doit prendre en paramètre la valeur cryptée, pour l'afficher. Tu dois alors faire à la place du printf un return avec cette valeur crypter.
    Comme cela, quand tu appelleras la fonction crypter() tu auras en sortie la valeur cryptée, si c'est bien ce que tu veux.

  8. #8
    Membre régulier
    Profil pro
    Ingénieur
    Inscrit en
    Avril 2013
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Avril 2013
    Messages : 77
    Points : 107
    Points
    107
    Par défaut
    et à quoi sert la fonction crypt()?

  9. #9
    Nouveau Candidat au Club
    Femme Profil pro
    etudiante
    Inscrit en
    Avril 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : Tunisie

    Informations professionnelles :
    Activité : etudiante
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2010
    Messages : 43
    Points : 0
    Points
    0
    Par défaut
    ui ce bon j'essaiera de le modifier le code de rsa selon vos conseils

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. bash: comment mettre le résultat d'une commande dans une variable
    Par helpcomm dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 03/10/2012, 23h26
  2. Réponses: 12
    Dernier message: 11/07/2008, 10h48
  3. Réponses: 3
    Dernier message: 04/07/2006, 16h34
  4. Réponses: 7
    Dernier message: 02/05/2006, 16h28
  5. Réponses: 4
    Dernier message: 14/09/2005, 17h23

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