WALTSBURGER Loïc | Projet - Chiffre de César

Présentation du projet

Le chiffre de César est une méthode de chiffrement qui consiste à décaler les lettres de l'alphabet par 3 (par exemple, a devient d).

Objectifs du projet

Code source (Python)

Voici le code Python complet du projet :

def cesar_chifrement(texte, cle):
    result = ""
    if 0 < cle <= 25:
        for char in texte:
            if char.isalpha():
                if char.isupper():
                    result += chr(((ord(char) - ord('A') + cle) % 26) + ord('A'))
                else:
                    result += chr(((ord(char) - ord('a') + cle) % 26) + ord('a'))
            else:
                result += char
        print(result)
    else:
        print("La clé doit être comprise entre 0 et 25 !")

def cesar_dechifrement(texte, cle):
    result = ""
    if 0 < cle <= 25:
        for char in texte:
            if char.isalpha():
                if char.isupper():
                    result += chr(((ord(char) - ord('A') - cle) % 26) + ord('A'))
                else:
                    result += chr(((ord(char) - ord('a') - cle) % 26) + ord('a'))
            else:
                result += char
        print(result)
    else:
        print("La clé doit être comprise entre 0 et 25 !")

def cesar_brute_force(texte):
    for cle in range(1, 26):
        encrypted_text = cesar_chifrement(texte, cle)
        if encrypted_text:
            decrypted_text = cesar_dechifrement(encrypted_text, cle)
            print(f"Shift {cle} - Decrypted: {decrypted_text}")

print("Bienvenue sur cet outil qui vous permet de :\\n 1.Chiffrer un texte\\n 2.Déchiffrer un texte avec la clé\\n 3.Déchiffrer de force\\n 4.Quitter ce programme\\nTous les chiffréments sont codés avec le chiffre de César.")
choices = int(input("Que voulez-vous faire ? "))
if choices == 1:
    text = input("Entrez un message à chiffrer : ")
    cle = int(input("Entrez le décalage : "))
    cesar_chifrement(text, cle)
if choices == 2:
    text = input("Entrez un message à déchiffrer : ")
    cle = int(input("Entrez le décalage : "))
    cesar_dechifrement(text, cle)
if choices == 3:
    text = input("Entrez un message à déchiffrer : ")
    cesar_brute_force(text)
if choices == 4:
    exit()
            

Résultat attendu (exemple)

Que voulez-vous faire ? 1
Entrez un message à chiffrer : Bonjour
Entrez le décalage : 3
Texte chiffré : Erqmrxu

Que voulez-vous faire ? 2
Entrez un message à déchiffrer : Erqmrxu
Entrez le décalage : 3
Texte déchiffré : Bonjour