Un des plus anciens systèmes de cryptographie (aisément déchiffrable) consiste à décaler les lettres
d’un message pour le rendre illisible. Ainsi, les A deviennent des B, les B des C, etc.
Ecrire un programme Python qui demande une phrase à l’utilisateur et qui la code selon ce principe.
Le principe de l'algorithme de chiffrement par décalage, également connu sous le nom de chiffrement de César, consiste à remplacer chaque lettre d'un message par une lettre située un certain nombre de positions plus loin dans l'alphabet. Voici une description détaillée de cet algorithme :
1- Initialisation : Choisir un nombre entier k comme clé de décalage. Dans notre cas, on choisit k=1. Alors chaque lettre sera remplacée par la lettre suivante dans l'alphabet.
2- Chiffrement : Pour chaque lettre du message original, décaler cette lettre de 1 position dans l'alphabet.
3- Gestion des majuscules et minuscules :
- Traiter les majuscules et les minuscules séparément pour préserver leur cas respectif.
- Ne pas modifier les caractères non alphabétiques (comme les espaces, les chiffres et la ponctuation).
Dans cet algorithme, On va utiliser une fonction qui fait le codage de la chaîne des caractères.
1 2 3 4 5 6 |
Algorithme codage_message Debut Ecrire('donner une chaine: ') Lire(ch) Ecrire("la chaine codee est ", codage(ch)) Fin |
Déclaration des objets
Objet | Type / Nature |
ch | chaîne des caractères |
La fonction codage
Cette fonction retourne un message chiffré.
1 2 3 4 5 6 7 8 9 10 |
Fonction codage(ch:chaîne) Début code<-'' pour i de 0 à long(ch)-1 Faire Si 'A'<=Majus(ch[i])<='Z' alors code<-code+chr(ord(ch[i])+1) Sinon code<-code+ch[i] retourner code Fin |
Déclaration des objets
Objet | Type / Nature |
i | entier |
code | chaîne des caractères |
1 2 3 4 5 6 7 8 9 10 11 |
def codage(ch): code='' for i in range (len(ch)) : if 'A'<=ch[i].upper()<='Z': code=code+chr(ord(ch[i])+1) else: code=code+ch[i] return code ch=input("donner une chaine des caracteres ") print("la chaine codee est "+ codage(ch)) |
Exécution du programme
Pour créer une application en Python pour faire le codage d'un message en utilisant Qt Designer pour l'interface graphique, suivez ces étapes :
a- Ouvrez Qt Designer et créez un nouveau fichier de type Main Window.
b- Ajoutez ces widgets:
QLineEdit
nommé 'ch' pour entrer une chaîne des caractères .
QPushButton
nommé 'chiffrer_bt' pour exécuter le module codage_phrase.
QLabel
nommé 'code' pour afficher le message chiffré.
Enregistrez le fichier avec l'extension .ui
, par exemple codage-chaine.ui
.
Voici un exemple de script Python qui utilise l'interface graphique générée par Qt Designer.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
from PyQt5.uic import loadUi from PyQt5 import QtCore, QtGui from PyQt5.QtWidgets import * from PyQt5 import QtCore, QtGui, QtWidgets from numpy import array app = QApplication([]) windows = loadUi ("codage-chaine.ui") def codage_phrase() : ch = windows.ch.text() code='' for i in range (len(ch)) : if 'A'<=ch[i].upper()<='Z': code=code+chr(ord(ch[i])+1) else: code=code+ch[i] windows.code.setText(code) windows.chiffrer_bt.clicked.connect(codage_phrase) windows.show() app.exec_() |
Exécution du programme
Vous pouvez voir aussi :
La robotique éducative joue un rôle important dans l'éducation des enfants et des jeunes en les aidant à acquérir des compétences en science et technologie.
Dans ce cadre notre site web représente une excellente ressource pour les parents, les enseignants et les enfants qui souhaitent découvrir la robotique.
Zaouiet Kontech-Jemmel-Monastir-Tunisie
+216 92 886 231
medaliprof@gmail.com
Site robotique réalisé par Mohamed Ali-Prof Info