Ce projet Java met en œuvre le chiffrement de César, l’un des plus anciens systèmes de cryptographie connus. Il permet de chiffrer et déchiffrer un texte en décalant chaque lettre de l’alphabet selon une clé numérique fournie par l’utilisateur.
Inventé par Jules César, ce procédé visait à protéger ses messages militaires en les rendant illisibles pour un lecteur non averti.
Le chiffrement de César est un chiffrement par substitution : chaque lettre du message est remplacée par une autre, située un certain nombre de positions plus loin dans l’alphabet.
- Le décalage est défini par une clé (un entier positif).
- Les lettres majuscules et minuscules sont traitées indépendamment.
- Les caractères non alphabétiques (espaces, ponctuation, chiffres, etc.) ne sont pas modifiés.
- Le chiffrement est réversible : en appliquant la même clé dans le sens inverse, on retrouve le message d’origine.
Message : Bonjour
Clé : 3
B → E
o → r
n → q
j → m
o → r
u → x
r → u
Résultat chiffré :
Erqmrxu
En appliquant le déchiffrement avec la même clé (3), on retrouve le texte original :
Bonjour
-
Le programme propose à l’utilisateur deux options :
1. Chiffrer 2. Déchiffrer -
L’utilisateur saisit un message et une clé (un entier).
-
Pour chaque caractère du message :
-
Si c’est une lettre :
- Le programme détermine s’il s’agit d’une majuscule ou d’une minuscule.
- Il décale la lettre selon la clé, en utilisant un calcul modulaire (mod 26) afin de rester dans l’alphabet.
-
Si ce n’est pas une lettre, le caractère reste inchangé.
-
-
Le message chiffré ou déchiffré est ensuite affiché à l’écran.
Que voulez-vous faire :
1. Chiffrer
2. Déchiffrer
> 1
Entrez le message à chiffrer : Chat
Entrez la clé : 2
Résultat :
Message chiffré : Ejcv
Que voulez-vous faire :
1. Chiffrer
2. Déchiffrer
> 2
Entrez le message à déchiffrer : Ejcv
Entrez la clé : 2
Résultat :
Message déchiffré : Chat
-
Projet écrit en Java standard, sans dépendances externes.
-
Utilisation de la classe
Scannerpour la saisie utilisateur. -
Fonctions utilitaires :
lettre(int valeurASCII): vérifie si le caractère est une lettre (A–Z ou a–z)majuscule(int valeurASCII): détermine si la lettre est majuscule
-
La logique repose sur les codes ASCII :
A–Z : 65–90 a–z : 97–122
Le chiffrement de César remonte à l’époque romaine. Jules César l’utilisait pour transmettre des ordres militaires en les rendant inintelligibles à ses ennemis.
S’il est aujourd’hui trivial à déchiffrer (25 clés possibles seulement), il demeure une porte d’entrée idéale vers la cryptographie moderne. Ce projet illustre les concepts fondamentaux de substitution, clé, et arithmétique modulaire.
java MainProjet distribué sous licence MIT. Libre d’utilisation, de modification et de diffusion à des fins pédagogiques ou personnelles.
Projet développé dans un cadre d’apprentissage des bases de la cryptographie et de la programmation en Java. Ce code met l’accent sur la clarté, la lisibilité et la compréhension du fonctionnement interne d’un algorithme de chiffrement simple.

