Алгоритм и шифр

Автор: Пользователь скрыл имя, 30 Марта 2013 в 09:07, реферат

Описание работы

Все мы в детстве использовали алгоритм простой замены и переписывались, таким образом, со своими друзьями, что бы «недоброжелатели» не узнали о наших планах. Время идет, а мы все так же переписываемся и пытаемся скрыть свои послания сложными криптографическими алгоритмами, сегодня уже ни кого не удивить такими протоколами как ssl, tsl, https. В этой статье я хочу рассказать об одном из самых легкий и понятных криптографических алгоритмах.
Шифр Цезаря один из самых известных алгоритмов в криптографии. Свое название шифр получил от Гая Юлия Цезаря, который применял его в военных целях, шифр является одним из простейших случаем алгоритма простой замены.

Работа содержит 1 файл

Алгоритм простой замены Часть 1.doc

— 238.00 Кб (Скачать)

Все мы в детстве использовали алгоритм простой замены и переписывались, таким образом, со своими друзьями, что бы «недоброжелатели» не узнали о наших планах. Время идет, а  мы все так же переписываемся и  пытаемся скрыть свои послания сложными криптографическими алгоритмами, сегодня уже ни кого не удивить такими протоколами как ssl, tsl, https. В этой статье я хочу рассказать об одном из самых легкий и понятных криптографических алгоритмах.

Шифр  Цезаря один из самых известных алгоритмов в криптографии. Свое название шифр получил от Гая Юлия Цезаря, который применял его в военных целях, шифр является одним из простейших случаем алгоритма простой замены.

Цезарь  применял следующий алгоритм, для  шифрования своих посланий он брал первую букву открытого текста и  сдвигал ее на 3 позиции вперед в алфавите, таким образом, получал букву шифралфавита.

Новые понятия могут вас отпугнуть, но на самом деле все довольно банально:

открытый  текст – это текст, который  нужно зашифровать;

шифралфавит – буквы, которые подставляются за место открытого текста;

Открытый  алфавит

а

б

в

г

д

е

ё

ж

з

и

к

л

м

н

о

п

р

с

т

у

ф

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я

Шифралфавит

Г

Д

Е

Ё

Ж

З

И

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

А

Б

В


Попробуем зашифровать сообщение «привет  как дела»:

Открытый  текст

п

р

и

в

е

т

к

а

к

д

е

л

а

Шифртекст

Т

У

М

Е

З

Х

Н

Г

Н

Ж

З

О

Г


Текст превратился в «бессмысленный»  набор букв «ТУМЕЗХ НГН ЖЗОГ»!

Казалось бы, такой  бессмысленный набор символов невозможно прочитать. Это не совсем так.

Если  вы знаете что данный набор букв является шифром Цезаря и вам известен открытый алфавит то перебрав все  возможные комбинации (в нашем  примере их всего 33, по количеству букв в алфавите) вы с легкостью найдете  ключь.

Стойкость любого криптографического алгоритма измеряется не сложностью алгоритма, а стойкостью ключа! В нашем случае количество возможных ключей на столько мало что даже обычный человек, имея азбуку в руках за 10-20 минут сможет расшифровать данный шифртекст.

Но мы же не обычные люди ;-) поэтому «пойдем в гору» и напишим криптор шифра Цезаря. Для написания его я выбрал самый легкий и понятный ЯП Delphi 7. Хотя исподники легко можно перенести и на любой другой паскаля подобный язык.

Математическая  формулировка алгоритма цезаря выглядит на столько просто, что ее с легкостью поймет ученик 5 класса.

i + 3 = j где,

i –  буква открытого алфавита;

j –  буква шифралфавита;

В качестве алфавита мы возьмем всем извесные кодировки cp866 для русского языка  и ansi для английского. Зделано это  что бы не усложнять алгоритм массивами со своими алфавитами.

 

 

program crypt; 
 
{$APPTYPE CONSOLE} 
 
uses 
  SysUtils; 
 
var 
    str,sh:String; 
    j,i,len:Integer; 
 
Begin 
  ReadLn(str); 
    len := length(str); //узнаем длину строки 
 
    for i:=1 to len do 
    Begin 
 
        sh := sh + chr(ord(str[i]) + 3); //зашифровываем согласно формуле 
 
    end; 
 
    WriteLn('open text - '+str); 
    WriteLn('shifr - '+sh); 
  ReadLn; 
end.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Информация о работе Алгоритм и шифр