| 12
 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
 
 |     //programme C pour mettre en uvre l'algorithme de cryptographie RSA 
    #include <stdio.h> 
    #include <string.h> 
    long power(long a, long b) { long r = 1, i; for (i = 1; i <= b; i++) r = r * a; 
    return r; 
    }
 
    void main () {
         long p, q, N, Z, D, E, i, j, n, z, d, e, count = 0, somme, k; 
         char s [25], ch [25], c [ 25]; 
         long v [25], res; 
         printf ("Entrez deux nombres premiers:"); 
         scanf ("% d% d", & p, & q); 
         n = p * q; 
         z = (p - 1) * (q - 1); 
         printf ("La valeur de n est% d", n); 
         printf ("La valeur de z est% d", z); 
 
         for ( i = p; i <= q; i + + ) {count = 0; for (j = 1; j <= z; j + +) {
             if (i % j == 0 && z % j == 0) count + +;} if (count == 1) {d = i; break;}
             } 
         printf ("La valeur de d est% d", d);
         somme = 1 + z; 
             if (%somme d == 0) {e = somme / j, k = 1;} 
             else {k = 2, tandis que (somme (k *)% d = 0!) {k + +;} e = (somme * k) / j;} 
             printf ("La valeur e est% d", e); 
             printf ("Entrez la chaîne dans la capitale ::"); 
             scanf ("% s", & s); 
         for (i = 0; s [i] = '\ 0';! i + +) v [i] = (s [i]) - 64; 
         printf ("La chaîne est% s", s); 
         printf ("La chaîne en nombre est \ n"); 
         for (j = 0; i, j <; j + +) printf ("% d \ t" , v [j]); printf ("\ n"); 
         for (j = 0; j <i, j + +) {res = puissance (v [j], e); c [j] = res n%;} printf ("Le texte crypté est \ n"); 
         for (j = 0; j <i, j + +) printf ("% d \ t", c [j]); printf ("\ n"); 
         for (i = 0; i <j; i + +) {ch [i] = c [j] + 64;} 
         for (j = 0; j <i, j + +) {res = puissance (c [j], d); v [ j] =% res n;} printf ("Le texte original est \ n");
         for (j = 0; j <i, j + +) printf ("% d \ t", v [j]);
         printf (" \ n "); 
         return 0;
         } | 
Partager