# ########################################################################################################## # Programme en Python qui permet de chiffrer et de déchiffrer un message texte en utilisant le code César. # Créé le 13/03/2025 en Python 3.2 # nsi.gecif.net # ########################################################################################################## """ Le chiffrement César est une technique de chiffrement simple où chaque lettre du texte est décalée d'un certain nombre de positions dans l'alphabet. Voici un programme Python qui permet de chiffrer et de déchiffrer un message texte en utilisant le code César. Explication du code : Fonction chiffrement_cesar : Paramètres : texte : Le texte à chiffrer. decalage : Le nombre de positions à décaler chaque lettre. Fonctionnement : Pour chaque caractère du texte, vérifie s'il est une lettre. Si c'est une lettre, détermine si elle est majuscule ou minuscule et applique le décalage. Les caractères non alphabétiques sont ajoutés au résultat sans modification. Fonction dechiffrement_cesar : Utilise la fonction chiffrement_cesar avec un décalage négatif pour déchiffrer le texte. Le programme principal montre un exemple d'utilisation des fonctions de chiffrement et de déchiffrement en affichant le message chiffré et le message déchiffré. Utilisation : Vous pouvez modifier le message et le decalage dans la fonction main pour chiffrer et déchiffrer différents textes avec différents décalages. Le programme gère les lettres majuscules et minuscules ainsi que les caractères non alphabétiques (comme les ponctuations et les espaces). Ce programme est un exemple simple de chiffrement César et peut être étendu pour inclure des fonctionnalités supplémentaires comme la gestion des accents ou des caractères spéciaux. """ # ############################################################# # D E C L A T I O N D E S F O N C T I O N S # ############################################################# def chiffrement_cesar(texte, decalage): resultat = "" for char in texte: if char.isalpha(): # Détermine si la lettre est majuscule ou minuscule base = ord('A') if char.isupper() else ord('a') # Chiffre la lettre resultat += chr((ord(char) - base + decalage) % 26 + base) else: # Ajoute les caractères non alphabétiques sans les modifier resultat += char return resultat def dechiffrement_cesar(texte, decalage): return chiffrement_cesar(texte, -decalage) # ############################################################# # P R O G R A M M E P R I N C I P A L # ############################################################# # Exemple de message à chiffrer message = "Bienvenue sur Gecif.net !" decalage = 3 # Chiffrement du message message_chiffre = chiffrement_cesar(message, decalage) print("Message chiffré : %s " % message_chiffre) # Déchiffrement du message message_dechiffre = dechiffrement_cesar(message_chiffre, decalage) print("Message déchiffré : %s " % message_dechiffre)