La méthode du chiffre de César est une méthode d'encryption et de décryption les plus anciennes de l'histoire. Il s'agit d'une méthode utiliser pour les légions romaines pour transmettre des informations secrets et qui si l'ennemi intercepte le message, il ne comprendra pas la signification.
La méthode du chiffre de César, aussi nommé code César, est méthode consister à substituer une lettre par une autre avec un intervalle constant, soit généralement 3. Voici un tableau de correspondance lorsque l'intervalle constante est 3 :
Clair | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Encodé | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C |
Voici maintenant un exemple du programme exploitant la méthode du chiffre de César :
- Program CESAR;
-
- Uses DOS;
-
- Var
- S,E:String;
- I:Byte;
-
- BEGIN
- S:='CESAR VOUS SALUE';
- WriteLn('PHRASE ORIGINAL = ',S);
- E:='';
- For I:=1 to Length(S)do Begin
- If S[I]in['A'..'Z','a'..'z']Then Begin
- If UpCase(S[I])in['X','Y','Z']Then Begin
- E:=E+Chr(Ord(S[I])-26+3);
- End
- Else
- E:=E+Chr(Ord(S[I])+3);
- End
- Else
- E:=E+S[I];
- End;
- WriteLn('PHRASE ENCODER = ',E);
- S:='';
- For I:=1 to Length(E)do Begin
- If E[I] in['A'..'Z','a'..'z']Then Begin
- If UpCase(E[I])in['A','B','C']Then Begin
- S:=S+Chr(Ord(E[I])+26-3);
- End
- Else
- S:=S+Chr(Ord(E[I])-3);
- End
- Else
- S:=S+E[I];
- End;
- WriteLn('PHRASE DECODER = ',S);
- END.
on obtiendra un résultat ressemblant à ceci :
PHRASE ORIGINAL = CESAR VOUS SALUEPHRASE ENCODER = FHVDU YRXV VDOXH
PHRASE DECODER = CESAR VOUS SALUE
Code source
Voici des exemples du code source de ce programme sur GitHub :
Lien | Langage de programmation | Projet |
---|---|---|
https://github.com/gladir/ENCRYX/blob/main/CESAR.PAS | Turbo Pascal, Free Pascal | ENCRYX |
Dernière mise à jour : Dimanche, le 25 décembre 2022