Partage
  • Partager sur Facebook
  • Partager sur Twitter

Algorithme de Cryptographie RSA

Problème Cryptage d'une string

    20 septembre 2017 à 15:35:22

    Bonjour, j'ai un projet à rendre en C++ sur le thème de la cryptographie RSA, j'ai un problème dans mon programme concernant la conversion d'une string en Int, je sais que le caractères spéciaux tels que "é","à" ne peuvent  pas être transformer en Int, pour cela, On m'a conseillé de  créer ma propre table ascii avec des vector de pairs, je viens de créer la table  mais je ne sais pas comment faire pour l'utiliser ..
    • Partager sur Facebook
    • Partager sur Twitter
      20 septembre 2017 à 15:38:01

      Salut,

      Si, déjà, tu nous montrait à quoi elle ressemble cette table de paires, nous pourrions sans doute déjà bien plus facilement t'aider ;)

      • Partager sur Facebook
      • Partager sur Twitter
      Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs  à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
        20 septembre 2017 à 15:49:34

        Déjà, pourquoi le type wint_t (qui n'est absolument pas portable) et une chaine de caractères, alors que tu veux représenter... des caractères uniques?

        Ensuite, les screenshots, c'est "moyen moyen" pour présenter du code... utilise plutôt le bouton adéquat (il ressemble à < / > ) pour y copier / coller  ton code tel qu'il se présente dans ton éditeur de texte ;)

        Mais bon: std::pair propose deux donnée membres : first et second.  Quand tu veux récupérer le wint_t, tu compare le caractère avec second et tu récupère first.  Si tu as la valeur de type wint_t et que tu veux récupérer le caractère, tu fais l'inverse, tout simplement

        NOTA : en triant ton tableau sur base des valeurs de first, tu gagneras sans doute en performances lors des recherches ;)

        • Partager sur Facebook
        • Partager sur Twitter
        Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs  à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
          21 septembre 2017 à 19:06:18

          j'ai utilisé cette fonction : Le but est de parcourir une chaine, lors du passage de string a int, si machaine[i] vaut un caractère normal, on utilise la converstion de type et si machaine[i] vaut un caractère spécial, on vas chercher son seconde dans le vector de pairs et on l'affiche, le problème c'est que lorsque que je lance mon programme, tous passe par la conversion de type.. Il ne capte pas le "é" et le prend pour un caractère  normal..

          void RSA::ConverToCHar( string machaine )
          {
              vector <pair<string, wint_t>> MyAsciiTable;
              MyAsciiTable.push_back(pair<string,wint_t>("é",666));
          
              string caraspe;
              char caranorm;
              int ascii(0);
              for(int i = 0; i < machaine.size(); i++)
          
              {
                      caraspe = machaine[i];
                      caranorm = machaine[i];
                      if(MyAsciiTable[0].first != caraspe )
                      {
                      ascii = (unsigned long)caranorm; // transformation de mes lettre de la chaine en ascii avec la converstion de type cast
                      cout  << ascii << " ";
                     }
                      else
                          cout << MyAsciiTable[0].second<< " ";
               }
          
          
          }
          
          int main()
          {
          
              srand(time(NULL));
              RSA monRSA(100,1000);
              string chaine = "été";
              monRSA.ConverToCHar(chaine);
              return 0;
          }



          • Partager sur Facebook
          • Partager sur Twitter
            21 septembre 2017 à 19:31:00

            C'est quoi l'encode (ASCII ANSI, WIN1252, UTF8, UTF-16, avec ou sans BOM ...) du fichier/de la chaine de caractère en entré et du résultat que tu veux obtenir ?
            • Partager sur Facebook
            • Partager sur Twitter
            Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
              21 septembre 2017 à 19:37:18

              Je veux que les caractères normaux soient  encodé en Ascii et que les caractères speciaux soit encodé avec la valeur que je leurs donne dans mon vecteur de pairs.
              • Partager sur Facebook
              • Partager sur Twitter
                21 septembre 2017 à 19:49:14

                Sauf quand entrée, vous n'avait pas forcement l'encodage que vous croyez. Un 'é' peut très bien être écrit sur plus d'un octet (2 en UTF-8 ou en UTF-16).

                Si vous raisonnez octet par octet, vous l'avez dans l'os.

                • Partager sur Facebook
                • Partager sur Twitter
                Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                  21 septembre 2017 à 19:52:30

                  D'accord je vois... Une solution a me proposer ?

                  • Partager sur Facebook
                  • Partager sur Twitter
                    21 septembre 2017 à 19:55:28

                    Définir l'encodage d'entré et vérifier que les entré respectent bien cet encodage.

                    Pour vous, avec des entrées que dans des fichiers sources (en mode cracra), il faut que tout votre code source utilise le même encodage de fichier.

                    • Partager sur Facebook
                    • Partager sur Twitter
                    Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                      10 octobre 2017 à 22:31:32

                      French  language
                      la cryptographie est un art .
                      En mathematique toute fonction qui n as pas de valeur .exemple  f(×)=x+1. n admet pas de solution
                      En cryptographie la probabilite exemple.
                      Je mange crypter egale ×*/$#*=+@"!#÷%
                      J ajouter des caracters qui n ont pas de relation suite a un dosage en poucentage
                      Donc je mange=2 ×*/$3#*=7+@"!#÷9%
                      Pour la decrypter tu dois enlver les chifferes
                      la probabiliter est nul 
                      Karim Morocco 
                      • Partager sur Facebook
                      • Partager sur Twitter

                      Algorithme de Cryptographie RSA

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown