Курсовая работа: Текстовый редактор "Блокнот" с функцией шифрования - дешифрования классическими криптографическими методами

Курсовая работа: Текстовый редактор "Блокнот" с функцией шифрования - дешифрования классическими криптографическими методами




👉🏻👉🏻👉🏻 ВСЯ ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻




























































Карагандинский государственный технический университет
на тему: Текстовый редактор "Блокнот" с функцией шифрования -
дешифрования классическими криптографическими методами
Двойная перестановка столбцов и строк
Метод шифрования с использованием таблицы Виженера
Изучение принципа программной реализации классических криптографических методов:
метод замены с использованием таблицы Виженера.
1. Необходимо создать текстовый редактор "Блокнот", который содержал следующие объекты:
кнопки "Шифровать", "Дешифровать", "Выбор метода шифрования";
строка меню, содержащая меню для работы с файлами, меню для работы с текстом (вырезать, вставить, отменить, повторить, поиск и т.д.), меню для выбора методов шифрования, меню "о программе" и "о разработчике".
Составить вербальный алгоритм для каждого метода шифрования.
Составить программу для шифрования заданными методами.
Составить программу для дешифрования заданными методами.
Оценить результативность реализованных методов.
Система шифрования Цезаря
- частный случай шифра простой замены. Метод основан на замене каждой буквы сообщения на другую букву того же алфавита, путем смещения от исходной буквы на K букв.
Шифр Гронсфельда
состоит в модификации шифра Цезаря числовым ключом. Для этого под буквами сообщения записывают цифры числового ключа. Если ключ короче сообщения, то его запись циклически повторяют. Шифротекст получают примерно также как в шифре Цезаря, но отсчитывают не третью букву по алфавиту (как в шифре Цезаря), а ту, которая смещена по алфавиту на соответствующую цифру ключа.
Пусть в качестве ключа используется группа из трех цифр - 314, тогда
В шифрах многоалфавитной замены
для шифрования каждого символа исходного сообщения применяется свой шифр простой замены (свой алфавит).
Каждая строка в этой таблице соответствует одному шифру замены аналогично шифру Цезаря для алфавита, дополненного пробелом. При шифровании сообщения его выписывают в строку, а под ним ключ. Если ключ оказался короче сообщения, то его циклически повторяют. Шифротекст получают, находя символ в колонке таблицы по букве текста и строке, соответствующей букве ключа. Например, используя ключ АГАВА, из сообщения ПРИЕЗЖАЮ ШЕСТОГО получаем следующую шифровку:
В компьютере такая операция соответствует сложению кодов ASCII символов сообщения и ключа по модулю 256.
Процесс шифрования заключается в генерации гаммы шифра и наложении этой гаммы на исходный открытый текст. Перед шифрованием открытые данные разбиваются на блоки Т (0) i
одинаковой длины (по 64 бита). Гамма шифра вырабатывается в виде последовательности блоков Г (ш) i
аналогичной длины (Т (ш) i
=Г (ш) i
+Т (0) i
, где + - побитовое сложение, i =1-m).
Процесс дешифрования сводится к повторной генерации шифра текста и наложение этой гаммы на зашифрованные данные T (0) i
=Г (ш) i
+Т (ш) i
.
Алгоритмы двойных перестановок
. Сначала в таблицу записывается текст сообщения, а потом поочередно переставляются столбцы, а затем строки. При расшифровке порядок перестановок был обратный. Пример данного метода шифрования показан в следующих таблицах:
В результате перестановки получена шифровка АЗЮЖЕ_СШГТООИПЕР. Ключом к шифру служат номера столбцов 2413 и номера строк 4123 исходной таблицы.
Число вариантов двойной перестановки достаточно быстро возрастает с увеличением размера таблицы: для таблицы 3 х 3 их 36, для 4 х 4 их 576, а для 5*5 их 14400.
Этот шифр можно описать таблицей шифрования, называемой таблицей Виженера, по имени Блеза Виженера, дипломата XVI века, который развивал и совершенствовал криптографические системы:
Каждая строка в этой таблице соответствует одному шифру замены вроде шифра Юлия Цезаря для алфавита, дополненного пробелом. При шифровании сообщения его выписывают в строку, а под ним ключ. Если ключ оказался короче сообщения, то его циклически повторяют. Шифровку получают, находя символ в колонке таблицы по букве текста и строке, соответствующей букве ключа. Этот очень распространенный вид шифра сохранился до наших дней. Например, используя ключ АГАВА, из сообщения ПРИЕЗЖАЮ ШЕСТОГО получаем следующую шифровку:
В компьютере такая операция соответствует сложению кодов ASCII символов сообщения и ключа по некоторому модулю. Кажется, что если таблица будет более сложной, чем циклическое смещение строк, то шифр станет надежнее. Это действительно так, если ее менять почаще, например, от слова к слову. Но составление таких таблиц, представляющих собой латинские квадраты, где любая буква встречается в строке или столбце один раз, трудоемко и его стоит делать лишь на ЭВМ.
Внешний вид текстового редактора "Блокнот" с функцией шифрования-дешифрования классическими криптографическими методами представлен на рисунке 1.
Рисунок 1 - Главная форма текстового редактора
В текстовом редакторе имеются меню "Файл" (рисунок 2), "Правка" (рисунок 3), "Метод" (рисунок 4), "Справка" (рисунок 5).
Рисунок 2 - Меню "Файл" текстового редактора.
Рисунок 3 - Меню "Правка" текстового редактора
Рисунок 4 - Меню "Метод" текстового редактора
Рисунок 5 - Меню "Справка" текстового редактора
Пользователь также может выбрать метод шифрования при нажатии кнопки "Метод шифрования", при этом появится окно "Метод шифрования", показанный на рисунке 6.
Рисунок 6 - Окно "Метод шифрования" текстового редактора
В результате выполнения данной курсовой работы, я ознакомилась с классическими методами шифрования. А также изучила принцип программной реализации классических криптографических методов: метода Цезаря; метода Гронсфельда; метода гаммирования; метода двойных перестановок; метода замены с использованием таблицы Виженера. Я смогла, применяя свои знания в области программирования, реализовать их программно.
procedure TForm1. N23Click (Sender: TObject);
procedure TForm1. N24Click (Sender: TObject);
procedure TForm1. N5Click (Sender: TObject);
m1. Lines [i]: =''; // очистка memo1
procedure TForm1. N6Click (Sender: TObject);
OpenDialog1. Filter: = 'Текстовые файлы| *. txt';
EdFile: =OpenDialog1. FileName; {в переменную присваиваем
procedure TForm1. N7Click (Sender: TObject);
saveDialog1. Filter: = 'Текстовые файлы| *. txt';
EdFile: =SaveDialog1. FileName; // сохранение файла
procedure TForm1. N8Click (Sender: TObject);
EdFile: =SaveDialog1. FileName; // сохранение файла
procedure TForm1. N10Click (Sender: TObject);
procedure TForm1. N12Click (Sender: TObject);
procedure TForm1. N14Click (Sender: TObject);
m1. CopyToClipboard; // копирование
procedure TForm1. N13Click (Sender: TObject);
procedure TForm1. N15Click (Sender: TObject);
procedure TForm1. N18Click (Sender: TObject);
MessageDlg ('Выберите метод щифрования! ', mtConfirmation, [mbOk], 0);
procedure TForm1. Button1Click (Sender: TObject);
procedure TForm1. B1Click (Sender: TObject);
Al,a3,A,st,R,b,c,c2: string; D, MyChr: char;
dl, i,j,m,g,n,l,h,Summa,NewCode,k,p,x: integer;
A1: ARRAY [1. .34,1. .34] of integer;
mas: array [1. .11,1. .11] of char;
if form4. radiogroup1. ItemIndex=-1 then
MessageDlg ('Выберите метод щифрования! ', mtConfirmation, [mbOk], 0);
if form4. RadioGroup1. ItemIndex=0 then
for i: = 0 to m1. Lines. Count-1 do
IfSumma < 225 // Если предполагаемый номер символа попадает в алфавит
Else NewCode: = 32 - 1 + (Summa - 255);
if form4. RadioGroup1. ItemIndex=1 then
if form4. RadioGroup1. ItemIndex=2 then
if form4. RadioGroup1. ItemIndex=3 then
MessageDlg ('Число цифр в ключах должны совпадать! ', mtConfirmation, [mbOk], 0);
edit1. Clear; edit2. Clear; GOTO 7;
if ord (mas [1, i]) >ord (mas [1,j]) then
if ord (mas [i,1]) >ord (mas [j,1]) then
if form4. RadioGroup1. ItemIndex=4 then
MessageDlg ('Можно вводить только прописные буквы! ', mtConfirmation, [mbOk], 0);
if (ord (a3 [j]) >= 224) and (ord (a3 [j]) <= 255) then
MessageDlg ('Можно вводить только прописные буквы! ', mtConfirmation, [mbOk], 0);
delete (b,length (a) +1,length (b)) else
if (n>=1) and (n<7) then l: =n else
if (n>=1) and (n<7) then m: =n else
procedure TForm1. N19Click (Sender: TObject);
b1. SetFocus; M2. Clear; M3. Clear;
procedure TForm1. FormActivate (Sender: TObject);
procedure TForm1. B2Click (Sender: TObject);
Al,A,st,R,b,c,c2: string; D, MyChr: char;
dl, i,j,m,g,h,n,l,S,NewCode,k,p,x: integer;
A1: ARRAY [1. .34,1. .34] of integer;
a2: array [1. .8] of integer; t: STRing [8] ;
mas: array [1. .11,1. .11] of char;
mas2: array [1. .11,1. .11] of char;
mas1: array [1. .11] of char; c1: STRing [8] ;
if form4. RadioGroup1. ItemIndex=0 then
for i: = 0 to m2. Lines. Count-1 do
IfS > 0 // Если предполагаемый номер символа попадает в алфавит
if form4. RadioGroup1. ItemIndex=1 then
p: =ord (a [i]) - strtoint (b [i]);
if form4. RadioGroup1. ItemIndex=2 then
if form4. RadioGroup1. ItemIndex=3 then
MessageDlg ('Число цифр в ключах должны совпадать! ', mtConfirmation, [mbOk], 0);
if ord (mas [1, i]) >ord (mas [1,j]) then
if ord (mas [i,1]) >ord (mas [j,1]) then
g: =pos (mas [i,1],b); edit3. Text: =edit3. Text+inttostr (g);
if form4. RadioGroup1. ItemIndex=4 then
delete (b,length (a) +1,length (b)) else
if (n>=1) and (n<7) then m: =n else
procedure TForm1. N20Click (Sender: TObject);
b1. SetFocus; M2. Clear; M3. Clear;
procedure TForm1. Button2Click (Sender: TObject);
procedure TForm1. N21Click (Sender: TObject);
b1. SetFocus; M2. Clear; M3. Clear; edit2. Visible: =false;
procedure TForm1. N22Click (Sender: TObject);
if form4. radiogroup1. ItemIndex=3 then
procedure TForm1. N9Click (Sender: TObject);
form4. RadioGroup1. ItemIndex: =4; edit2. Visible: =false;
b1. SetFocus; M2. Clear; M3. Clear;
procedure TForm1. N11Click (Sender: TObject);
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
procedure Button1Click (Sender: TObject);
procedure FormActivate (Sender: TObject);
procedure TForm4. Button1Click (Sender: TObject);
MessageDlg ('Выберите метод щифрования! ', mtConfirmation, [mbOk], 0)
FORM1. M2. Clear; form1. M3. Clear;
form1. M2. Clear; form1. M3. Clear; end;
form1. M2. Clear; form1. M3. Clear; end;
form1. M2. Clear; form1. M3. Clear; end;
form1. M2. Clear; form1. M3. Clear; end;
procedure TForm4. FormActivate (Sender: TObject);

Название: Текстовый редактор "Блокнот" с функцией шифрования - дешифрования классическими криптографическими методами
Раздел: Рефераты по информатике, программированию
Тип: курсовая работа
Добавлен 01:38:52 16 января 2010 Похожие работы
Просмотров: 783
Комментариев: 15
Оценило: 3 человек
Средний балл: 5
Оценка: неизвестно   Скачать

Срочная помощь учащимся в написании различных работ. Бесплатные корректировки! Круглосуточная поддержка! Узнай стоимость твоей работы на сайте 64362.ru
Привет студентам) если возникают трудности с любой работой (от реферата и контрольных до диплома), можете обратиться на FAST-REFERAT.RU , я там обычно заказываю, все качественно и в срок) в любом случае попробуйте, за спрос денег не берут)
Да, но только в случае крайней необходимости.

Курсовая работа: Текстовый редактор "Блокнот" с функцией шифрования - дешифрования классическими криптографическими методами
Дипломная работа по теме Инновационные методы в организации делового тура
Дипломная Работа На Тему Семиотические Аспекты Политического Дискурса
Курсовая работа: Расчет механизма подъема тележки консольной с боковыми роликами
Контрольная Работа На Тему Ризики У Зовнішньоекономічній Діяльності, Способи Їх Усунення
Реферат: Stone Angel Essay Research Paper The Stone
Аудит страховых организаций и особенности его проведения
Реферат: Lord Rama Essay Research Paper What are
Контрольная работа: Классификация и оценка влияния факторов внешней среды на потребительные свойства и качество медицинских
Виленкин Контрольные Работы 5 Класс Сборник
Реферат: Роль среды и наследственности в формировании личности
Реферат: Themes Encountered Throughout Charles Dickens S A
Реферат по теме Подготовка педагогов к реализации функции социальной защиты ребенка
Дипломная работа по теме Детское питание в дошкольных учреждениях
Реферат по теме Фэнтези и субкультура толкинизма
Практические Работы Конфликтных Ситуаций На Предприятии Общепита
Дипломная работа по теме Образ России в анонимной книге 'Англичанка в России'
Контрольная работа по теме Производство в суде с участием присяжных заседателей
Библиографический Список Диссертации Пример
Глобальная Проблема Изменения Климата Реферат
Реферат: Давид Рикардо "Начало политической экономии и налогообложения". Скачать бесплатно и без регистрации
Реферат: Инкотермс
Курсовая работа: Полеміка як чинник раціоналізації релігійного дискурсу
Курсовая работа: Экономика Австралии

Report Page