23 mars 2024
Cryptographie : Code de césar
Club maths olympique
ADAM-Maths
6e séance
Faire des mathématiques
autrement et en mieux
avec
les mathématiques olympique
et l’informatique olympique
Faire de maths olympiques c’est :
Club Al-kindi Seconde
Formation des meilleurs élèves de seconde à :
- aux mathématiques olympique
- à l'informatique olympique
- cryptographie
Selon le calendrier ci-contre.
La cryptographie
La cryptographie puise ses origines dans l'envoi d'informations sensibles entre des personnalités militaires et politiques.
La cryptographie
Message clair
Message chiffré
Crypter ou chiffrer
décrypter ou déchiffrer
La cryptographie
Code de César
Le code César est une méthode de cryptage qui consiste à décaler chaque lettre de l'alphabet d'un certain rang (clé).
Une lettre est toujours remplacée par la même lettre et on applique le même décalage à toutes les lettres.
Code de César
Avec un décalage de 1,
Le mot "cesar" est codé en "dftbs".
Pour décoder ou déchiffrer, on décalage du même nombre dans l'autre sens.
Code de César
Casser un code de César
Déchiffrer le mot : TYZWWIVI
CHIFFRER
Code de César
Casser un code de César
Le premier traité exposant une procédure pour décrypter un texte codé de cette manière à été écrit par Al-Kindi au IX siècle après J.C. Sa théorie repose sur le fait que dans un texte, les lettres ont des fréquences d’apparition différentes.
Casser un code de César
Exercice 2
BWFWKMAKHSKSJJANWSVWUJQHLWJUWEWKKSYW
JENESUISPASARRIVEADECRYPTERCEMESSAGE
Le ROT13 est un cas particulier du chiffrement de César
Le ROT13
Code de César
https://www.dcode.fr/
https://calculis.net/
Code de César
Chiffrer le mot : MAISON
avec la clé 748
Exercice 3
Code de César
Chiffrer le mot : MAISON
avec la clé 748
748 = 26 × 28 + 20
La clé 748 équivaut à la clé 20
MAISON GUCMIH
Exercice 3
On note 748 ≡ 20 [26]
def cesar(mot,n):
txt=""
a="abcdefghijklmnopqrstuvwxyz"
for i in mot:
p=(a.index(i)+n)%26
txt=txt+a[p]
print(txt)
Code de César
def cesar(mot,n):
txt=""
for i in mot:
p=(ord(i)+n-65)%26
txt=txt+chr(p+65)
print(txt)
>>> ord("P")
80
>>> chr(70)
'F'
Code de César
Code de César
FIN