Forum Programmation.python Cryptage/ Décriptage

0
17
mar.
2019

Bien le bonjour la commu
J'aimerai créer un programme permettant de crypter un message quelconque et un second programme permettant de décrypter le message. J'aimerai que le cryptage n'utilise par la méthode de César, c'est à dire un décalage dans l'alphabet avec un pas donné (A = E car il y a un pas de 5). Cela serait trop simple à décoder.
J'utilise PyScripter Portable 3
J'aimerai que vous m'aidiez à commencer le programme en trouvant une méthode facile à mettre en oeuvre car je suis débutant dans la programmation.
Merci beaucoup.
GoolumSith

  • # objet

    Posté par . Évalué à 2 (+2/-1).

    LE mieux serait d'utiliser def, des modules et des classes à mon avis.
    Aussi n'oublie pas les compréhensions de listes

    (oui , à question générique, réponse générique)

    • [^] # Re: objet

      Posté par . Évalué à 1 (+0/-0).

      Merci
      C'est à dire ? Comment le message serait coder ? Par décalage, par substitution, avec des clés ?

  • # On dit chiffrer, pas crypter.

    Posté par (page perso) . Évalué à 5 (+5/-2).

    Tu trouveras tous les détails sur https://chiffrer.info/

    Beaucoup de gens font l'erreur, t'inquiète pas. Mais maintenant tu n'auras plus d'excuse 😉

    It's a fez. I wear a fez now. Fezes are cool !

    • [^] # Re: On dit chiffrer, pas crypter.

      Posté par . Évalué à 1 (+1/-1).

      Aha merci de l'info, je pensais qu'on cryptait un message du fait de la cryptographie. ^

    • [^] # Chiffrer ou crypter ?

      Posté par . Évalué à -4 (+0/-5). Dernière modification le 18/03/19 à 10:59.

      L'auteur original recherche une technique de chiffrement. Toutefois, « crypter » convient également selon le contexte.

      On peut créer des représentations inintelligibles et cohérentes sans utiliser la mathématique (par exemple, en employant des symboles). Essayez de déchiffrer des hiéroglyphes ou une langue inconnue (décoder), secrète, mystérieuse (décrypter) : ce sera cryptique.

      Le site web mentionné rejette le terme « crypter » grâce à des arguments d'autorité.

      Décrypter ne peut accepter d’antonyme : il est en effet impossible de créer un message chiffré sans posséder de clé de chiffrement.

      Cette phrase est insensée : oui, on peut chiffrer un message mais on peut aussi crypter un message. Dans les deux cas, le message est inintelligible. Il s'agit de procédés différents pour atteindre un état semblable.

      En effet, la terminologie de cryptage reviendrait à coder un fichier sans en connaître la clé et donc sans pouvoir le décoder ensuite.

      Cette phrase est aussi insensée : la personne réduit, de façon absurde, l'encodage (chiffrement, cryptage) à un procédé absurde.

  • # Soluce

    Posté par . Évalué à 1 (+0/-0).

    J'ai trouvé la façon de chiffrer mon message, j'utilise cette méthode [Vigenere]. (http://www.xm1math.net/algobox/exemples/vigenere.html)
    Pourriez vous m'aidez à mettre cet algo en langage python ?

    • [^] # Re: Soluce

      Posté par (page perso) . Évalué à 2 (+0/-0). Dernière modification le 17/03/19 à 12:41.

      Tu as l'algo sur la page que tu indiques…

      • Pas besoin de déclarer les variables ni leur type en python, c'est dynamique¹
      • Lire → fonction input("directives")
      • Longueur d'une chaîne → fonction len(lachaine)
      • Prend la valeur → instruction d'affectation variable = expression
      • Pour i allant de à → for in range(de, à-1)
      • Pas de début/fin en Python, tu indentes simplement les instructions
      • Afficher → fonction print("le truc", "à afficher")
      • Pour les conversions code/caractère: fonctions ord(caractère) et chr(code)

      Bonne traduction.

      ¹ Ceci dit, tu peux à partir de Python 3.6 utiliser des annotations:
      sClef : str
      Ça peut aider à la compréhension quand on débute, mais ça n'apporte aucune sécurité lors de l'exécution (rien n'empêcherait d'affecter un nombre entier à sClef).

      Pub: Mémento Python 3

      Python 3 - Apprendre à programmer en Python avec PyZo et Jupyter Notebook → https://www.dunod.com/sciences-techniques/python-3

    • [^] # Re: Soluce

      Posté par . Évalué à 0 (+0/-1).

      http://lmgtfy.com/?q=code+vigenere+python

      première réponse: tu as le code

      • [^] # Re: Soluce

        Posté par . Évalué à 1 (+0/-0). Dernière modification le 17/03/19 à 14:09.

        Un peu trop facile et aucun mérite… :)

  • # Aide

    Posté par . Évalué à 1 (+0/-0).

    import os
    

    str_plain = input("Message à chiffrer" )
    key = input("Clé de déchiffrage" )
    key_index = 0
    str_encoded = ""

    for char in str_plain:
    char_encode = ord(char)
    char_encode += ord(key[key_index]) - ord('a')
    if char_encode > ord('z'):
    char_encode -= ord('z') - ord('a')
    str_encoded += str(chr(char_encode))
    key_index += 1
    if key_index >= len(key):
    key_index = 0
    print(str_encoded)

    J'ai fais ça, le programme fonctionne, j'aimerais maintenant créer le programme permettant de décrypter le message reçu

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.