Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Le chiffrement César est un chiffrement ancien et largement utilisé qui est facile à chiffrer et à déchiffrer. Il fonctionne en décalant les lettres de l'alphabet pour créer un alphabet entièrement nouveau (ABCDEF pourrait décaler sur 4 lettres et deviendrait EFGHIJ).
Les chiffrements César ne sont pas les chiffrements les plus sûrs du marché, mais ils sont bons pour de petites tâches telles que la transmission de notes secrètes ou la création de mots de passe un peu plus forts. Il est vraiment facile de déchiffrer le code, mais il peut être fastidieux d'en crypter un si vous n'avez pas mémorisé l'alphabet spécial.
Pour faciliter ce processus, nous pouvons utiliser la puissance des ordinateurs, plus précisément le langage de programmation Python.
Ce Instructable vous montrera comment créer un programme qui convertit les messages en un chiffre à votre commande.
Fournitures
Tout ce dont vous avez besoin est un interpréteur Python: IDLE, Pycharm et Thonny sont de bonnes options gratuites (j'ai utilisé Pycharm)
Connaissance de base de Python
Étape 1: Déclaration de variables et obtention d'entrées
Pour stocker réellement les valeurs de chaîne (texte) de l'alphabet, du message, du décalage, etc., nous devons utiliser des variables. Nous commençons par déclarer les variables 'alphabet', 'partialOne', 'partialTwo' et 'newAlphabet'. J'ai écrit les noms des variables dans Camel Case dans mon code (le premier mot est en minuscule et le deuxième en majuscule) mais vous pouvez l'écrire comme vous le souhaitez, tant que vous vous souvenez de le modifier dans le reste du code également. La variable alphabet a la valeur « abcdefghijklmnopqrstuvwxyz ». Toutes les autres variables sont définies sur "", qui est une chaîne vide car nous n'avons pas encore leurs valeurs.
Ce que cela fait, c'est mettre en place le système partiel, qui est ce que nous utilisons pour créer réellement le changement. Ceci sera expliqué dans une étape ultérieure.
Après cela, nous devons obtenir le message et la valeur de décalage de l'utilisateur. Pour ce faire, nous utilisons la fonction input. Cette partie du code demande à l'utilisateur un message et un numéro pour décaler l'alphabet.
CODE:
alphabet = "abcdefghijklmnopqrstuvwxyz"
partielUn=""
partialTwo=""
newAlphabet=""
message = input("Veuillez saisir le message que vous souhaitez traduire: ").lower()
key = int(input("Veuillez entrer le numéro que vous souhaitez décaler: "))
Étape 2: Création du nouvel alphabet
Maintenant, pour créer l'alphabet décalé. Pour ce faire, nous utiliserons le système partiel. Le système partiel est l'endroit où l'ordinateur divise l'alphabet en deux partiels (une façon élégante de dire les parties). Le premier partiel est aussi long que vous avez dit au programme de passer, et le second est le reste. L'ordinateur commute les partiels. C'est exactement ce que fait le code, ainsi que la première instruction, qui dit que si le décalage est 0, le nouvel alphabet et l'ancien alphabet sont les mêmes puisque vous ne changez rien.
Par exemple:
Séquence - 123456789
Partiel Un - 123; Partiel Deux - 456789
Nouvelle séquence - 456789123
CODE:
si clé == 0:
newAlphabet = alphabet
clé elif > 0:
partialOne = alphabet[:key]
partialTwo = alphabet[clé:]
newAlphabet = partialTwo + partialOne
autre:
partialOne = alphabet[:(26 + touche)]
partialTwo = alphabet[(26 + touche):]
newAlphabet = partialTwo + partialOne
Étape 3: déplacer le message
Nous avons maintenant notre alphabet et le nouvel alphabet. Il ne reste plus qu'à basculer le message dans le code.
Tout d'abord, nous définissons une nouvelle variable et l'appelons "cryptée" et la définissons sur "". Ensuite, nous écrivons une boucle for vraiment compliquée qui vérifie chaque lettre du message et la bascule vers la nouvelle lettre. Il affiche le résultat et voilà, un code converti avec succès !
CODE:
crypté="" pour message_index dans range(0, len(message)):
si message[message_index] == " ":
crypté+= ""
pour alphabet_index dans range(0, len(newAlphabet)):
si message[message_index] == alphabet[alphabet_index]:
crypté+= newAlphabet[alphabet_index]
imprimer (crypté)
Étape 4: Supplémentaire
Ci-joint le fichier de code.