| Szyfr Cezara |
|
|
| Napisał: Berl | ||
| sobota, 07 styczeń 2006 | ||
|
Szyfr ten służył Juliuszowi Cezarowi do szyfrowania swoich listów. Podobno szyfr ten był używany jeszcze podczas pierwszej wojny światowej w armii rosyjskiej. Szyfr ten należy do grupy szyfrów podstawieniowych. Szyfr ten polega na zamienieniu każdej litery tekstu jawnego na literę zajmującą miejsce 3 pozycje dalej w alfbecie (czyli A zapisujemy jako D, C jako F, natomiast Z zapisujemy jako C). Rozszyfrowanie tekstu polega na przeprowadzeniu podobnej operacji, lecz w odwrotnym kierunku, tzn. każdą literę tekstu zaszyfrowanego zapisujemy jako literę będącą trzy pozycje wcześniej w alfabecie (Czyli E zapisujemy jako B, a C zapisujemy jako Z). Każda litera tekstu jawnego przy szyfrowaniu jest kwalifikowana do jednej z grup : albo do liter małych, albo do liter dużych, albo do pozostałych znaków. Grupa pozostałych znaków, czyli cyfr oraz znaków interpunkcyjnych w przypadku użycia szyfu Cezara nie jest szyfrowana. Szyf ten nie zapewnia obecnie wystarczającego zabezpieczenia przed odczytaniem zakodowanych nim danych. Przykład : program cezar; {$APPTYPE CONSOLE} uses SysUtils; var ciag : string; wynik : string; c, d, i : integer; begin write('Podaj ciag znakow do zaszyfrowania (tylko male litery, bez polskich znakow) : '); readln(ciag); d:= 3; for i := 1 to length(ciag) do begin c := ord(ciag[i]); if (c >= 97) and (c <= 122) then begin c := c + d; if c > 122 then c := c - 26; if c < 97 then c := c + 26; wynik := wynik + char(c); end; end; writeln(wynik); readln; end.
Aby dodać komentarz zaloguj się. Jeśli nie masz konta, załóż je sobie. |
||
| wstecz |
|---|




