2 Expression r´eguli`ere
Dans Ivy on s’abonne `a des messages par expression r´eguli`ere. Pour plus de
renseignements sur les expressions r´eguli`eres et leurs utilisations dans python,
vous pouvez lire :
•http://www.amk.ca/python/howto/regex/
•http://docs.python.org/lib/module-re.html
•http://diveintopython.adrahon.org/regular_expressions/index.html
On s’abonne en “bindant” une expression r´eguli`ere, les param`etres re¸cu ´etant
ceux entre parenth`eses. Ainsi :
•.bind ˆtoto : (.*) vous abonnera `a recevoir tous les textes plac´es apr`es
“toto : ” pl´ec´e en d´ebut de ligne,
•(.*) et (.*) vous abonnera aux deux parties entre parenth`eses plac´ees entre
“ et ”.
Faites quelques essais.
3 Communication
On vous demande de modifier le code de l’application ivyprobe.py pour y inclure
les fonctions que vous avez cr´e´ees lors du TD de cryptographie. Vous devez ˆetre
capable de d´ecoder un message cod´e `a la vol´ee si vous connaissez la cl´e, et de
d´ecrypter un message dont vous ne connaissez pas la cl´e.
Pour communiquer vos messages, on utilsera 3 expressions r´eguli`eres :
•“ˆcesar : (.*)” pour envoyer sur le bus des messages encod´es selon le code
de c´esar,
•“ˆvigenere : (.*)” pour envoyer sur le bus des messages encod´es selon le
code de Vigen`ere,
•“ˆrsa : (.*)” pour envoyer sur le bus des messages encod´es selon le code
RSA.
Pour vous envoyer les diff´erentes cl´es, proc´edez avec vos propres canaux.
Attention cependant aux espions !
Vous pouvez bien-sur proposer d’autres canaux, il suffit de les ´ecrire au
tableau pour que d’autres puissent vous entendre.
2