Chiffrement Affine Cryptage
Bonsoir a tous, j'ai créé un petit programme qui met permet de déterminer la table des correspondances entre un alphabet en clair et un alphabet codé a l'aide du chiffrement affine, mais voila il me reste un petit soucis de code.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| #include <stdio.h>
int main (int argc, const char * argv[]) {
int i, y, resultat2, a, b;
char caract ='a';
printf("Entrez une valeur pour a : ");
scanf("%ld", &a);
printf("Entrez une valeur pour b : ");
scanf("%ld", &b);
printf("\n");
for (i=0; i<26; i++)
{
y = (a*i+b)%26;
resultat2 = (caract+y)%26;
printf("Clair : %c | x : %ld | y : %ld | Codé : %c \n", caract, i, y, resultat2);
caract++;
}
return 0;
} |
Enfin de compte la partie alphabet en clair marche la valeur de x est correcte ainsi que celle de y quant a l'alphabet codé....aie Ce que je voudrais c'est que par exemple pour la lettre a en clair, la lettre codée soit égale a la lettre en clair plus le décalage dans l'alphabet obtenue grace a la valeur de y mais que arrivé a 'z' ca repasse a 'a', j'ai donc réutilisé le modulo
Un petit schéma sûrement plus clair :
http://img76.imageshack.us/img76/2374/image1hg0.png
Voila merci beaucoup pour votre aide