Программа шифрования методом сдвига (Цезаря)

Шифр Цезаря как один из древнейших шифров, история его создания, применяемые закономерности. Описание программы и предъявляемые к ней требования. Формирование и содержание ключа, принципы его подбора. Сфера практического использования программы.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 25.05.2014
Размер файла 67,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Контрольная работа

Программа шифрования методом сдвига (Цезаря)

Д.В. Наумов

1. Шифрование методом Цезаря

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

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

«Если у него было что-либо конфиденциальное для передачи, то он записывал это шифром, то есть так изменял порядок букв алфавита, что нельзя было разобрать ни одно слово. Если кто-либо хотел дешифровать его и понять его значение, то он должен был подставлять четвертую букву алфавита, а именно, D, для A, и так далее, с другими буквами»

2. Описание программы

Чтобы открыть программу «Шифрование», нужно запустить файл Шифрование.exe.

Рис. 1

На данном рисунке изображена программа для шифрования текста методом цезаря. Она включает в себя:

1. Поле «Исходный текст», где вводится текст для зашифровки.

2. Поле «Результат», где мы получаем зашифрованный текст.

3. Поле «Ключ» с ключем для шифрования текста.

4. Поле «Словарь» со словарем, где мы можем расшифровать слово обойдя ключ, если оно имеется в словаре программы.

Рис. 2

На Рис. 2 изображен пример кодировки текста. Мы использовали слово «привет» из словаря. При нажатии на кнопку «зашифровать» мы получаем закодированное слово в поле результат с ключом «1».

Чтобы расшифровать данное слово мы вставляем его в поле «Исходный текст» и выбрав ключ «1» и нажав на кнопку «Расшифровать» мы получим искомое слово «привет», как и показано на Рис. 3

Рис. 3

Чтобы нам расшифровать слово без ключа, нужно воспользоваться словарем, если там есть данное слово. В нашем случае такое слово есть, поэтому мы просто нажимаем на кнопку «Использовать словарь» и он нам расшифровывает слово, обходя (взламывая) ключ. См. Рис. 4

Рис. 4

программа шрифт цезарь

Для того чтобы подобрать ключ для зашифрованного слова, необходимо ввести его в поле «Результат», тогда мы увидим «ключ». См. Рис. 5

Рис. 5

Заключение

При выполнении лабораторной работы была написана программа, которая может шифровать текст методом цезаря.

Исходный код

type

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

Edit3: TEdit;

Label1: TLabel;

Button3: TButton;

Memo1: TMemo;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Memo2: TMemo;

Memo3: TMemo;

Button4: TButton;

UpDown1: TUpDown;

procedure Button1Click (Sender: TObject);

procedure Button2Click (Sender: TObject);

procedure Button3Click (Sender: TObject);

procedure Button4Click (Sender: TObject);

procedure UpDown1Changing (Sender: TObject; var AllowChange: Boolean);

private

procedure findKey;

function Success (s:string):Boolean;

function Code (s:string; aKey:integer):string;

function UnCode (s:string; aKey:integer):string;

public

{Public declarations}

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

{TForm1}

function TForm1. Code (s: string; aKey: integer): string;

var i: Integer;

begin

result:='';

for i:=1 to Length(s) do

result:=result+char (Ord(s[i])+akey);

end;

function TForm1. UnCode (s: string; aKey: integer): string;

var i:integer;

begin

result:='';

for i:=1 to Length(s) do

result:=result+char (Ord(s[i]) - akey);

end;

procedure TForm1. Button1Click (Sender: TObject);

begin

Memo3. Text:=Code (Memo2. Text, StrToInt (Edit3. Text));

end;

procedure TForm1. Button2Click (Sender: TObject);

begin

Memo3. Text:=UnCode (Memo2. Text, StrToInt (Edit3. Text));

end;

function TForm1. Success (s: string): Boolean;

var t:string;

i: Integer;

begin

Result:=False;

t:=LowerCase(s);

i:=Memo1. Lines. IndexOf(t);

if i<>-1 then

Result:=True;

end;

procedure TForm1. UpDown1Changing (Sender: TObject;

var AllowChange: Boolean);

begin

Edit3. Text:=IntToStr (UpDown1. Position);

end;

procedure TForm1.findKey;

var i, j: Integer;

t, g:string;

begin

g:='';

t:=Memo2. Text;

for j:=1 to Length(t) do

begin

g:=g+t[j];

i:=1;

while not Success (UnCode(g, i)) and (i<100) do

Inc(i);

if i<>100 then

begin

Edit3. Text:=IntToStr(i);

Memo3. Text:=UnCode (Memo2. Text, i);

Break;

end;

end;

end;

procedure TForm1. Button3Click (Sender: TObject);

begin

findKey;

end;

procedure TForm1. Button4Click (Sender: TObject);

begin

Memo3. Clear;

Memo2. Clear;

Edit3. Text:='0';

end;

end.

Размещено на Allbest.ru


Подобные документы

  • Разработка программы "Шифр Цезаря", позволяющая зашифровывать тексты методом Юлия Цезаря и дешифровать тексты, закодированные данным способом. Имеет возможность автоматического нахождения или выбора ключа и самостоятельного ввода ключа пользователем.

    курсовая работа [710,9 K], добавлен 23.12.2010

  • Разработка эскизного и технического проектов программы "Шифр Цезаря": назначение и область применения, описание алгоритма, организация входных и выходных данных. Выбор состава технических и программных средств, разработка, тест и внедрение программы.

    курсовая работа [563,7 K], добавлен 15.07.2012

  • Понятие информационной безопасности. История развития криптографии. Функции информационных моделей. Переменные, используемые при разработке прикладной программы для шифрования и дешифрования сообщений с помощью шифра Цезаря. Блок-схема общего алгоритма.

    курсовая работа [975,5 K], добавлен 11.06.2014

  • История появления и развития шифрования текста. Проблема шифрования и дешифрования текстовых сообщений в современности. Создание программы для зашифровки и расшифровки вводимого текста пятью методами: Атбаш, Цезаря, Полибия, Гронсфельда и Винжера.

    курсовая работа [923,6 K], добавлен 26.12.2011

  • Реализация программы, кодирующей входную строку, используя аффинный и аффинный рекуррентный шифр. Пример шифрования с помощью аффинного шифра. Описание алгоритма работы программы. Ознакомление с криптоанализом. Частота использования английских букв.

    отчет по практике [445,6 K], добавлен 22.11.2016

  • Схема работы и требования к программам шифрования и дешифрования. Алгоритмы и тексты программы шифрования и программы дешифрования, выполненные на языке программирования C/C++. Содержание файла с исходным текстом, с шифротекстом, с дешифрованным текстом.

    курсовая работа [24,7 K], добавлен 20.10.2014

  • Кодирование информации в двоичном коде. Разработка приложения, реализующего следующее преобразование текста: каждая буква исходного текста заменяется третьей после нее буквой в алфавите, который считается написанным по кругу. Алгоритм работы программы.

    курсовая работа [1,2 M], добавлен 20.12.2015

  • Создание приложения для шифрования–дешифрования текста тремя алгоритмами (алгоритм "Цезаря","Модифицированного Цезаря", "Скитала"). Исходный текст компонента. Инструкция пользователя, возможность просмотра примерного алгоритма. Исходный текст программы.

    курсовая работа [2,8 M], добавлен 27.02.2015

  • Ознакомление с различными способами шифрования информации. Рассмотрение кодов Цезаря, Гронсфельда, Тритемиуса, азбуки Морзе, цифровые, табличные и шифров перестановки. Книжный, компьютерный коды и шифр Масонов. Изучение алгоритма сложных протоколов.

    реферат [1,8 M], добавлен 14.05.2014

  • Симметричные и асиметричные методы шифрования. Шифрование с помощью датчика псевдослучайных чисел. Алгоритм шифрования DES. Российский стандарт цифровой подписи. Описание шифрования исходного сообщения асимметричным методом с открытым ключом RSA.

    курсовая работа [101,1 K], добавлен 09.03.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.