Discussion: programme de cryptage

  1. #1
    Nouveau Candidat au Club Avatar de houbijam
    Femme Profil pro
    Étudiant
    Inscrit en
    mai 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mai 2017
    Messages : 1
    Points : 0
    Points
    0

    Par défaut programme de cryptage

    Bonjour, je suis une eleve de terminale avec la specialité ISN, pour notre projet, nous avons besoin de programme de cryptage. J'ai deja reussi a en ecrire un qui crypte avec ceasar qui marche. Mais je veut aller plus loin, j'ai essayé d'en ecrire un qui crypte par fonction afffine, mais pour une raison que j'ignore il ne fonctionne pas. J'espere que quelqu'un pourra m'aider a trouver pourquoi. Voici le programme
    Images attachées Images attachées   

  2. #2
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    juin 2007
    Messages
    4 948
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : juin 2007
    Messages : 4 948
    Points : 16 429
    Points
    16 429

    Par défaut

    Utilise le bouton # (la balise [code]) pour qu'on puisse copier coller ton code.

    Tu as pensé à remettre le 0 dans codage. C'est bien. Mais tu as légèrement raté.
    exécute ton programme pas à pas dans le débuggeur, ou carrément manuellement.

    Au passage, il manque un modulo pour gérer correctement les décalages de lettres.
    Tu devrais:
    détecter si la lettre est majuscule, minuscule ou autre (par exemple un chiffre ou une ponctuation) en utilisant isupper et islower
    si c'est une majuscule
        calculer sa position dans l'alphabet en lui retirant 'A'
        tranformer cette position par la fonction affine
        mettre le résultat dans l'alphabet (%26)
        ajouter cette nouvelle position à 'A'
    Si c'est une minuscule
        même chose avec 'a'.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  3. #3
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    février 2006
    Messages
    5 850
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : février 2006
    Messages : 5 850
    Points : 16 117
    Points
    16 117
    Billets dans le blog
    1

    Par défaut

    Citation Envoyé par houbijam Voir le message
    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for (i=0; texte[i] != 0; i++) {
        codage[i]=clef_a*texte[i]+clef_b;
     
        codage[i]=0;
    }
    Bonsoir

    Ca ne te choque pas d'affecter successivement deux valeurs différentes à la même variable ? Tu ne te dis pas qu'il y a forcément une affectation de trop ou bien tu t'imagines que la ligne blanche entre les deux instructions aura un effet séparateur ?? Est-ce que tu te relis au-moins une fois avant de te dire "je ne comprends pas" ???

    PS: le chiffrement (et non "cryptage") par fonction affine n'est absolument pas plus sécurisé que celui de César (qui n'est en fait qu'une fonction affine où b=0). Suffit de tester les 25 possibilités pour trouver le message d'origine. Tu devrais essayer le chiffrement avec mot de passe: on génère un alphabet à partir d'un mot de passe (ex "oiseau" donnera "oiseaubcdfghjklmnpqrtvwxyz") puis ensuite on associe chaque lettre de l'alphabet normal à son homologue chiffré.
    Ou bien mieux: le chiffre de Vigenère. On génère 26 alphabets différents commençants par chaque lettre de l'alphabet. Ex"a" donne "abcdef...xyz"; "b" donne "bcdefgh...yza"; "c" donne "cdefghij...zab" etc jusqu'à "z" qui donne "zabcdefghij...wxy". Ensuite on prend un mot de passe (ex "oiseau") puis on chiffre la première lettre du message sur l'alphabet commençant par "o", la seconde lettre du message sur l'alphabet commençant par "i" etc etc etc. Et ensuite tu peux y rajouter les chiffres et la ponctuation...
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site

  4. #4
    Membre chevronné
    Avatar de Pyramidev
    Homme Profil pro
    Développeur
    Inscrit en
    avril 2016
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : avril 2016
    Messages : 450
    Points : 1 960
    Points
    1 960

    Par défaut

    Citation Envoyé par Sve@r Voir le message
    PS: le chiffrement (et non "cryptage") par fonction affine n'est absolument pas plus sécurisé que celui de César (qui n'est en fait qu'une fonction affine où b=0). [...] Ou bien mieux: le chiffre de Vigenère.
    Attention. Formulé ainsi, tu risques de lui faire croire que le chiffre de Vigenère est sécurisé, alors que ce n'est pas le cas.
    Le principal intérêt pédagogique que je vois au chiffre de Vigenère par rapport au chiffre de César, c'est qu'il illustre mieux le concept de clé de chiffrement.

  5. #5
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    février 2006
    Messages
    5 850
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : février 2006
    Messages : 5 850
    Points : 16 117
    Points
    16 117
    Billets dans le blog
    1

    Par défaut

    Citation Envoyé par Pyramidev Voir le message
    Citation Envoyé par Sve@r Voir le message
    Ou bien mieux: le chiffre de Vigenère.
    Attention. Formulé ainsi, tu risques de lui faire croire que le chiffre de Vigenère est sécurisé, alors que ce n'est pas le cas.
    Ouais. Je voulais dire "bien mieux" dans le sens "bien plus sympa à programmer" (si on aime programmer évidemment...).

    Et ensuite, quand on a réussi le Vigenère, on peut embrayer sur l'Enigma allemande qui n'était en fait qu'un Vigenère(*) sur une clef de 26x26x26 lettres, clef générée par les rotors quand ils faisaient mouvement.


    (*) a ceci près qu'une lettre ne pouvait jamais se retrouver chiffrée par elle-même ; ce qui a été l'une des failles qui ont permis de briser l'Enigma
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site

Discussions similaires

  1. Programme (simple) cryptage XOR
    Par St-42-FCM-57 dans le forum C
    Réponses: 22
    Dernier message: 02/10/2016, 09h09
  2. Création programme de cryptage
    Par TomelD98 dans le forum C
    Réponses: 31
    Dernier message: 05/03/2016, 20h36
  3. Fin Programme Cryptage de données: Pb M2Crypto
    Par xxkirastarothxx dans le forum Général Python
    Réponses: 0
    Dernier message: 26/04/2010, 14h19
  4. Programme de cryptage
    Par IDE dans le forum C
    Réponses: 3
    Dernier message: 06/05/2007, 20h58
  5. programme de cryptage
    Par hamadibensassi dans le forum C
    Réponses: 14
    Dernier message: 01/06/2006, 20h30

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