# ######################################################################################################################### # Programme en Python qui permet de chiffrer et de déchiffrer un message texte en utilisant le codage par Ou-Exclusif. # Créé le 13/03/2025 en Python 3.2 # nsi.gecif.net # ######################################################################################################################### """ Le chiffrement par ou-exclusif (XOR) est une technique de chiffrement symétrique simple où chaque caractère du texte est combiné avec une clé en utilisant l'opérateur XOR. Voici un programme Python qui permet de chiffrer et de déchiffrer un message texte en utilisant le cryptage par ou-exclusif. Explication du code : Fonction chiffrement_xor : Paramètres : texte : Le texte à chiffrer. cle : La clé utilisée pour le chiffrement. Fonctionnement : Pour chaque caractère du texte, applique l'opérateur XOR avec le caractère correspondant de la clé. La clé est répétée cycliquement si elle est plus courte que le texte. Exemple d'utilisation des fonctions de chiffrement et de déchiffrement. Affiche le message chiffré et le message déchiffré. Utilisation : Vous pouvez modifier le message et la cle dans la fonction main pour chiffrer et déchiffrer différents textes avec différentes clés. Le programme gère les caractères non alphabétiques (comme les ponctuations et les espaces). Remarques : Le chiffrement XOR est symétrique, ce qui signifie que la même fonction est utilisée pour chiffrer et déchiffrer le texte. La sécurité du chiffrement XOR dépend de la longueur et de la complexité de la clé. Pour une sécurité accrue, il est recommandé d'utiliser une clé aussi longue que le texte à chiffrer. Ce programme est un exemple simple de chiffrement XOR 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_xor(texte, cle): resultat = "" cle_length = len(cle) for i, char in enumerate(texte): # Applique XOR entre le caractère du texte et le caractère correspondant de la clé resultat += chr(ord(char) ^ ord(cle[i % cle_length])) return resultat # ############################################################# # P R O G R A M M E P R I N C I P A L # ############################################################# # Exemple de message à chiffrer message = "Gecif.net" cle = "clef" # Chiffrement du message message_chiffre = chiffrement_xor(message, cle) print("Message chiffré : %s " % message_chiffre) # Déchiffrement du message message_dechiffre = chiffrement_xor(message_chiffre, cle) print("Message déchiffré : %s" % message_dechiffre)