Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мой курсач.docx
Скачиваний:
1
Добавлен:
07.09.2019
Размер:
741.63 Кб
Скачать

1.2 Математическая модель

В качестве информации, подлежащей шифрованию и дешифрованию, будут рассматриваться тексты, построенные на некотором алфавите. Под этими терминами понимается следующее.

Алфавит - конечное множество используемых для кодирования информации знаков.

Текст - упорядоченный набор из элементов алфавита.

В качестве примеров алфавитов, используемых в современных ИС можно привести следующие:

- алфавит Z33 - 32 буквы русского алфавита и пробел;

- алфавит Z256 - символы, входящие в стандартные коды ASCII и КОИ-8;

- бинарный алфавит - Z2 = {0,1};

- восьмеричный алфавит или шестнадцатеричный алфавит.

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

Дешифрование - обратный шифрованию процесс. На основе ключа шифрованный текст преобразуется в исходный.

Ключ - ин­фор­ма­ция, не­об­хо­ди­мая для бес­пре­пят­ст­вен­но­го шиф­ро­ва­ния и де­шиф­ро­ва­ния тек­стов.

На рисунке 1.1 показана блок-схема процедуры шифрования файлов.

Рисунок 1.1 — Процедура шифрования файлов

1.3 Алгоритм решения

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

Для дешифровки текста проверим ключ путем извлечения строки, отвечающей за пароль, из текста и сравнения ее с размноженным до длины извлеченной строки предполагаемого пароля. При правильности условия программа вычтет эту строку из зашифрованного текста и тем самым расшифрует текст.

1.4 Блок-схема

На рисунке 1.2 представлена блок-схема процесса шифровки, где t – это текст, который будет результатом шифровки, str – исходный текст, w – слово-пароль, а i и k – это индексы для строк str и w соответственно.

Рисунок 1.2 — Блок-схема алгоритма шифрования текста

На рисунке 1.3 представлена блок-схема процесса дешифровки, в процессе которого сначала проверяется введенный ключ, а затем идет сам процесс дешифровки, где t – это текст, который будет результатом дешифровки, str – зашифрованный текст, w – предполагаемое слово-пароль, w0 – строка размноженного пароля, извлеченная из зашифрованного текста, w1 - строка размноженного предполагаемого пароля, а i и k используются как индексы.

Рисунок 1.3 — Блок-схема алгоритма дешифровки текста

2. Практическая часть

2.1. Описание объектов, свойств и методов

В ходе составления программы были использованы следующие объекты с их свойствами:

Label - текстовая метка (надпись) на форме. Используется для отображения любого текста в окне. Текст задаётся в свойстве Caption.

Edit - поле ввода. Используется для ввода любых данных (текста, числа и т.д.), представленных одной строкой. Текст хранится свойством Text. Свойство MaxLength позволяет задать максимальное число символов, которое может быть введено в поле. Значение 0 означает, что ограничение не установлено.

Memo - многострочный Edit. Используется для ввода больших объёмов текста. Свойство ReadOnly делает этот объект нередактируемым. Свойство ScrollBars позволяет указать полосы прокрутки, которые будут отображаться у поля при недостатке места для всего текста:

•ssNone - без полос прокрутки;

•ssHorizontal - горизонтальная полоса прокрутки;

•ssVertical - вертикальная;

•ssBoth - обе: и горизонтальная, и вертикальная.

Button – командная кнопка. Caption - текст на кнопке.

Компоненты OpenDialog — диалог «Открыть файл» и SaveDialog — диалог «Сохранить файл как...». Все свойства этих компонентов одинаковы, только их смысл несколько различен для открытия и закрытия файлов. Основное свойство, в котором возвращается в виде строки выбранный пользователем файл, — FileName. Типы искомых файлов, появляющиеся в диалоге в выпадающем списке "Тип файла", задаются свойством Filter.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]