0% ont trouvé ce document utile (0 vote)
25 vues2 pages

Chiffrement et IA : Exercices pratiques

Transféré par

sami.elharrouchy
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
25 vues2 pages

Chiffrement et IA : Exercices pratiques

Transféré par

sami.elharrouchy
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

ENSC - Université Ibn Tofail

Prérequis : Notions en algorithmique

1 Pour aller plus loin (Bonus)


1.1 Code de César
Jules César, le fameux général romain, a été le premier militaire qui a inventé une méthode
pour chiffrer ses messages. Son stratagème est simple :
— prendre le message original
— choisir une clef
— décaler chaque lettre du message original d’un nombre de lettres identique à la clef dans
l’alphabet latin
— si le décalage mène vers un dépassement de l’alphabet, reboucler sur le début. C’est à dire si
la lettre "z" est rencontrée, revenir à la lettre "a" et continuer avec le décalage à partir de cette
lettre
— laisser les caractères spéciaux en dehors de l’alphabet tels qu’ils sont
Exemple :
message = "hello world !"
clef = 7
message chiffré = "olssv evzsk !"

1. Écrire un programme dans lequel vous demandez à l’utilisateur de vous fournir son message
et une clef de chiffrement. Le programme doit ensuite pouvoir afficher le message chiffré avec
cette clef en utilisant le stratagème expliqué au dessus

Indice :
— Le message peut être traité entièrement en minuscule ou en majuscule
— Cet exercice fait appel à la concaténation des chaînes de caractère
— chaine.find(c) permet de retourner l’indice où se trouve la première occurrence du
caractère c, passé en paramètre, dans la chaîne stockée dans la variable chaine. Si le
caractère n’est pas trouvée, la fonction renvoie -1
2. Écrire un autre programme permettant cette fois-ci de prendre un message chiffré et une clef
(saisies par l’utilisateur) et récupérer ainsi le message original déchiffré

27 novembre 2024 Pr. Khaoula Boukir Page 1/2


1.2 Génération aléatoire d’une chaîne de caractère ENSC - Université Ibn Tofail

1.2 Génération aléatoire d’une chaîne de caractère


Un étudiant souhaite utiliser un système de génération automatique de phrases afin de l’aider
à rédiger son rapport sur le rôle de l’intelligence artificielle. Nous proposons de réaliser un pro-
gramme simple permettant de générer des phrases aléatoires parlant de l’intelligence artificielle. Le
programme peut être élaboré selon le principe suivant :
— un ensemble de phrases parlant de l’intelligence artificielle est stocké dans une base de données
composée de plusieurs chaînes de caractères. Chaque chaîne correspond à une phrase
— l’utilisateur pose une question au programme. Si la question contient les mots "intelligence
artificielle", le programme doit lui générer une des phrases de la base de données, choisie
aléatoirement
— si la question posée par l’utilisateur ne contient pas les mots "intelligence artificielle" ou "IA",
le programme doit afficher le message suivant
Désolé, selon ma dernière mise à jour, je ne peux répondre qu’aux questions liées au
domaine de l’IA
Indice :
La fonction random.choice() du module random permet de choisir aléatoirement un élément
dans une liste passée en paramètres

27 novembre 2024 Pr. Khaoula Boukir Page 2/2

Vous aimerez peut-être aussi