Introduction & Rappels
Partie 1 : César
Partie 2 : Vigenère
Partie 3 : RSA
Introduction
Le chiffrement est une technique fondamentale en cybersécurité qui permet de protéger des informations en les rendant illisibles sans une clé de déchiffrement. Ce TP présente deux méthodes historiques de chiffrement par substitution et une méthode moderne de chiffrement asymétrique.
Contraintes du TP
- Des lettres majuscules (A à Z)
- Sans accents ni caractères spéciaux
- Une chaîne de caractères
ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" - L'opérateur
% 26pour revenir au début de l'alphabet
Rappels utiles
- Longueur d'une chaîne :
len("BONJOUR")→ 7 - Accès à un caractère :
"BONJOUR"[0]→ 'B' - Position d'un caractère :
"BONJOUR".index('N')→ 2 - L'opérateur
%permet de faire des calculs circulaires
Aide-mémoire : opérateur %
L'opérateur modulo % retourne le reste de la division. Il est très utile pour revenir au début d'une séquence :
# Exemples avec % 26 pour l'alphabet
25 % 26 = 25 # Z reste Z
26 % 26 = 0 # Retour à A
27 % 26 = 1 # Retour à B
30 % 26 = 4 # Retour à E
# Avec des nombres négatifs (pour le déchiffrement)
-1 % 26 = 25 # Avant A, c'est Z
-2 % 26 = 24 # Avant A de 2, c'est Y