예제 #1
0
int main(void)
{
   scanf("%[^\n]s\n", message);
   scanf("%d\n", &cle);

   chiffrement();
   printf("%s\n", message);
   dechiffrement();
   printf("%s\n", message);

   return 0;
}
예제 #2
0
파일: rsa.c 프로젝트: napnac/napnac.ga
int main(void)
{
   char iCar;
   int iMessage;

   // Lit le message et le transforme en nombre 
   iMessage = 0;
   do
   {
      scanf("%c", &iCar);
      if(iCar != '\n') {
         message[iMessage] = (unsigned long long)iCar;
         ++iMessage;
      }
   } while(iCar != '\n');
   taille = iMessage;

   // Génère le couple de clé
   srand(time(NULL));
   clePublique();
   clePrivee();

   printf("Cle publique : %d %d\n", n, e);
   printf("Cle privee : %d %d\n", n, d);

   // Chiffre le message et l'affiche comme une suite de nombre
   chiffrement();
   for(iMessage = 0; iMessage < taille; ++iMessage)
      printf("%llu ", message[iMessage]);
   printf("\n");

   // Déchiffre le message et l'affiche comme une chaîne
   dechiffrement();
   for(iMessage = 0; iMessage < taille; ++iMessage)
      printf("%c", (char)message[iMessage]);
   printf("\n");

   return 0;
}
예제 #3
0
/******Main******/
int main(int argc, char *argv[0])
{
    int i,c;
    unsigned int longueur_clef;
    unsigned int *clef;
    int booleen = FAUX;

    if (argc != 3)											//tester le nombre d'arguments, exit si nombre incorrect
    {
        fprintf(stderr, "\nErreur : nombre d’arguments invalide\n");
        fprintf(stderr, "Syntaxe : %s fichier_entree fichier_sortie\n", argv[0]);
        return(EXIT_FAILURE) ;
    }

    printf("\nEntrez la longueur de la clef sans espace (exemple : texte sans espace = 15 )\t");
    scanf("%u", &longueur_clef);

    clef = malloc(longueur_clef * sizeof(unsigned int));

    printf("Entrez un mot clé ou une phrase clé de %d caractères (sans compter les espaces) : ",longueur_clef);
    c = getchar();											//lire une fois le caractère pour lire entrée
    i = 0;


    while(i< longueur_clef)
    {
        c = getchar();

        if (c == 195)
        {
            booleen = VRAI;

        }
        else
        {
            if (booleen == VRAI)
            {
                c = accent(c);
                booleen = FAUX;
                clef[i] = c - 97 ;
                i++ ;
            }
            else
            {
                if((c!=32) &&((c<65) || (c>90)))		//si 'c' n'est pas un espace et n'est pas une lettre majuscule
                {
                    clef[i] = c - 97 ; 							//affecte des résultats entre 0 et 25 sur les lettre minuscules
                    i++;
                }
                else
                {
                    clef[i] = c - 65 ; 							//affecte des résultats entre 0 et 25 sur les lettre majuscules
                    i++;
                }
            }
        }
    }																					//fermeture du while


    chiffrement(argv[1], argv[2], clef, longueur_clef) ;

    return 0;
}