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 :

Chiffrement Affine Cryptage


Sujet :

C

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 40
    Par défaut 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 : 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
    #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 :



    Voila merci beaucoup pour votre aide

  2. #2
    Membre émérite Avatar de orfix
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 707
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    resultat2 = (caract+y)%26;
    Avec ceci tu auras des valeurs comprises entre 0 et 25, dont le dessin ne correspond pas à l'alphabet...
    Ce qu'il te faut c'est certainement un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    resultat2 = ((caract-'a'+y)%26)+'a';
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    caract :
    'a'=97   'b'=98   'c'=99   'd'=100   ...
    caract-'a' :
    0   1   2   3   4
    PS : Je suppose que l'encodage est ASCII...
    a++

  3. #3
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    int i, y, resultat2, a, b;
    ....
    	scanf("%ld", &a);
    	printf("Entrez une valeur pour b : ");
    	scanf("%ld", &b);....
    Pourquoi %ld ? a et b ne sont pas des long mais des int -> %d

Discussions similaires

  1. [chiffrement] ou cryptage
    Par xeriustrois dans le forum Algorithmes et structures de données
    Réponses: 0
    Dernier message: 06/02/2013, 18h18
  2. Réponses: 0
    Dernier message: 31/01/2013, 11h50
  3. Cryptage de fichier
    Par :GREG: dans le forum Composants VCL
    Réponses: 6
    Dernier message: 18/12/2008, 09h43
  4. Cryptage de colonnes sous Oracle
    Par Julian Roblin dans le forum SQL
    Réponses: 9
    Dernier message: 28/11/2006, 18h24
  5. Cryptage en C selon la méthode de césat
    Par shenron dans le forum C
    Réponses: 2
    Dernier message: 31/05/2002, 08h22

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