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
- Créer une fonction qui chiffre un texte selon un décalage choisi.
- Permettre le déchiffrement du texte à partir de la clé de décalage.
- Gérer les majuscules, minuscules et caractères spéciaux.
- Mettre en place une interface simple d'utilisation.
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