Главная » Файлы » Курсовые работы [ Добавить материал ]

Шифрование методом таблиц Трисемуса

13.04.2014, 18:26
Содержание

Введение
1.​ История криптографии
2.​ Таблицы Трисемуса

Листинг программы шифрования

 

ВВЕДЕНИЕ

Про​бле​ма за​щи​ты ин​фор​ма​ции пу​тем ее пре​об​ра​зо​ва​ния, исключающего ее про​чте​ние по​сто​рон​ним ли​цом вол​но​ва​ла че​ло​ве​че​ский ум с дав​них вре​мен. История криптографии - ровесница истории человеческого языка. Более того, первоначально письменность сама по себе была криптографической системой, так как в древних обществах ею владели только избранные. Священные книги Древ​него Егип​та, Древ​ней Индии тому примеры.

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

Бурное раз​ви​тие крип​то​гра​фи​че​ские сис​те​мы по​лу​чи​ли в го​ды пер​вой и вто​рой ми​ро​вых войн. Начиная с послевоенного времени и по нынешний день появление вычислительных средств ускорило разработку и совершенствование криптографических методов.

По​че​му про​бле​ма ис​поль​зо​ва​ния крип​то​гра​фи​че​ских ме​то​дов в информационных системах (ИС) ста​ла в на​стоя​щий мо​мент осо​бо ак​ту​аль​на?

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

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

Про​бле​ма за​щи​ты ин​фор​ма​ции пу​тем ее пре​об​ра​зо​ва​ния, исключающего ее про​чте​ние по​сто​рон​ним ли​цом вол​но​ва​ла че​ло​ве​че​ский ум с дав​них вре​мен. История криптографии - ровесница истории человеческого языка. Более того, первоначально письменность сама по себе была криптографической системой, так как в древних обществах ею владели только избранные. Священные книги Древ​него Егип​та, Древ​ней Индии тому примеры.

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

Бурное раз​ви​тие крип​то​гра​фи​че​ские сис​те​мы по​лу​чи​ли в го​ды пер​вой и вто​рой ми​ро​вых войн. Начиная с послевоенного времени и по нынешний день появление вычислительных средств ускорило разработку и совершенствование криптографических методов.

По​че​му про​бле​ма ис​поль​зо​ва​ния крип​то​гра​фи​че​ских ме​то​дов в информационных системах (ИС) ста​ла в на​стоя​щий мо​мент осо​бо ак​ту​аль​на?

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

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

В этой курсовой работе мы рассмотрим один из криптографических методов– метод шифрования по таблице Трисемуса


1. История криптографии

.

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

В исторических документах древних цивилизаций Индии, Египта, Месопотамии имеются сведения о системах и способах составления шифровального письма. В древнеиндийских рукописях изложены 64 способа преобразования текста, в частности написание знаков не по порядку, а по определенным правилам. Многие из таких способов можно считать как криптографические. Более достоверные сведения о применяемых системах шифров относятся к периоду возникновения древнегреческих государств. Потребителями криптографии в то время являлись структуры административной и религиозной власти. Плутарх сообщает, что жрецы хранили тексты прорицателей в зашифрованном виде. Э.Шюре в книге «Великие посвященные» пишет, что «с великим трудом и большой ценой добыл Платон один из манускриптов Пифагора, который никогда не записывал свое эзотерическое учение иначе, как тайными знаками и под различными символами». Там же отмечается, что Аристотель получил от Платона шифрованный текст Пифагора.

В период расцвета арабских государств (VIII век н.э.) криптография получила новое развитие. Да и само слово «шифр» арабского происхождения, как и «цифра». В 855 году появилась «Книга о большом стремлении человека разгадать загадки древней письменности», в которой приводится описание систем шифров, в том числе и с применением нескольких шифроалфавитов. В 1412 году была издана 14-томная энциклопедия, составителем которой являлся Шехаб аль-Кашканди. В данной энциклопедии содержится раздел о криптографии, где дано описание всех известных автору способов шифрования, а также упоминается о криптоанализе системы шифра, который основан на частотных характеристиках открытого и шифрованного текста. Приводится также частота встречаемости букв арабского языка на основе маркировки текста Корана.

Перед Второй мировой войной все ведущие страны мира имели на вооружении электромеханические шифросистемы, обладавшие как высокой скоростью обработки информации, так и высокой стойкостью. Считалось, что данные системы невозможно дешифровать и что наступил конец успехам криптоаналитиков, однако впоследствии это мнение было опровергнуто. Все воюющие стороны достигли значительных успехов во взломе шифросистем противника, а шифровальные службы стали непосредственными участниками военных действий. Поучительная история дешифрования «Энигмы» описана у Д.Кана и у других авторов.

Теоретическое открытие, оказавшее серьезное влияние на развитие криптографии, было сделано в работе американского инженера К.Шеннона «Теория связи в секретных системах», выполненной в 1945 году и опубликованной в 1949 году, и в работе советского ученого-радиотеехника В.А.Котельникова «Основные положения автоматической шифровки» от 19 июня 1941 года. В данных работах были сформулированы и доказаны необходимые и достаточные условия недешифруемости системы шифра. Они заключаются в том, что получение противником шифротекста не изменяет вероятностей используемых ключей. При этом было установлено, что единственным недешифруемым шифром является так называемая лента одноразового использования, когда открытый текст шифруется с помощью случайного ключа такой же длины. Однако это делает абсолютно стойкий шифр очень дорогим в эксплуатации.

В настоящее время криптографическая защита информации из тайнописи, доступной лишь посвященным, превращается в общенародное достояние. Вследствие развития информационных технологий и особенно в связи с широким распространением Интернета защита конфиденциальной информации стала одной из актуальнейших задач современности. До 60-70-х годов XX века криптография во всех странах находилась в ведении структур, отвечающих за безопасность связи и информации. Развитие средств связи, таких как телефон, телеграф, радио обуславливало изменение характера криптографии, а с применением электронных средств передачи информации задачи криптографии усложнились и расширились. Широкое распространение компьютерных технологий стало причиной того, что сфера действия криптографии видоизменилась и пополнилась разного рода задачами, не связанными непосредственно с засекречиванием информации, ​- это и разработка систем электронной цифровой подписи, протоколов выборов, подписания контрактов, и идентификация удаленных пользователей; и появление методов, позволяющих избежать получения ложных сообщений, и создание средств защиты систем электронных платежей.

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

Любое повторное шифрование изменяет статистику исходного, так называемого открытого текста, которую использует криптоаналитик для вскрытия шифра. Это может позволить повысить хотя бы хотя бы временную стойкость передаваемой информации. Впервые понятие стойкости было сформулировано Антуаном Россиньолем, начальником шифровального отделения, созданного кардиналом Ришелье во Франции: «Стойкость военного шифра должна обеспечивать секретность в течение срока, необходимого для выполнения приказа. Стойкость дипломатического шифра должна обеспечивать секретность в течение нескольких десятков лет».

Ситуация складывается так, что в недалеком будущем знакомство с криптографией понадобится каждому пользователю электронных средств обмена информацией. Поэтому вскоре криптография станет «третьей грамотностью» ​- по аналогии со «второй грамотностью», как называют владение компьютером и высокими технологиями.

2. Таблицы Трисемуса

В 1518 году в развитии криптографии был сделан новый шаг благодаря появлению в Германии первой печатной книги по криптографии. Аббат Иоганнес Трисемус, настоятель монастыря в Вюрцбурге, написал книгу «Полиграфия», в которой даётся описание ряда шифров, один из которых развивает идею многоалфавитной замены. Шифрование осуществляется так: заготавливается таблица замены, где первая строка – это алфавит, вторая – алфавит, сдвинутый на один символ, и т.д. При шифровании первая буква открытого текста заменяется на букву, стоящую в первой строке, вторая – на букву, стоящую во второй строке, и т.д.

В этой книге он впервые систематически описал применение шифрующих таблиц, заполненных алфавитом в случайном порядке. Для получения такого шифра замены обычно использовались таблица для записи букв алфавита и ключевое слово (или фраза). В таблицу сначала вписывалось по стрелкам ключевое слово, причем повторяющиеся буквы отбрасывались. Затем эта таблица дополнялась не вошедшими в нее буквами алфавита по порядку.

Поскольку ключевое слово или фразу легко хранить в памяти, то такой подход упрощал процессы шифрования и расшифрования. Поясним этот метод шифрования на примере. Для русского алфавита шифрующая таблица может иметь размер 4х8. Выберем в качестве ключа слово БАНДЕРОЛЬ. Шифрующая таблица с таким ключом показана на рис.1.

Рис.1. Шифрующая таблица с ключевым словом БАНДЕРОЛЬ

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

Например, при шифровании с помощью этой таблицы сообщения

ВЫЛЕТАЕМПЯТОГО

получаем шифртекст

ПДКЗЫВЗЧШЛЫЙСЙ

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

Листинг программы шифрования

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes,

Graphics, Controls, Forms,Dialogs, StdCtrls, Spin,

Buttons;

type

TForm1=class(TForm)

Labell: TLabel;

Edit1:TEdit;

Memo1:TMemo;

Memo2: TMemo;

Memo3:TMemo:

Buttonl: TButton;

Bunon2: TButton:

Button3: TButton;

Bulton4: TButton;

Button5: TButton;

Panel l:TPanel:

Вutton6: TButton;

Label2: TLabel:

Label3 : TLabel;

Label4: TLabel:

Button7: TButton:

OpenDialogl : TOpenDialog;

SaveDialogl: TSaveDialog;

procedure Bunon5Click(Sender: TObject);

procedure MemolClick(Sender: TObject);

procedure Edit1Change(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure EditlKeyPress(Sender: TObject; varKey: Char):

procedure Button4Click(Sender: TObject);

procedure FormCreat(Sender: TObject);

procedure Button lClick(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

procedure Button7Click(Sender: TObject);

procedure FormKeyDown( Sender: TObject; var Key: Word: Shift: TShiftState);

private

( Private declarations }

public

( Public declarations ) end;

var

Forml:TForml;

trisemus:string[54];

enabc:string[54]=’ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-‘;

f5:Boolean;

implementation

function Za(pl: string):string;

var

q,m: integer;

begin

for m:= 1 to length(pl) do

case pl [m]of

‘A'..'Z’,’’a'..'z',#32,’ -':

begin

q:=pos(pl[m],trisemus);

case q of

1..45:pl[m] := trisemus[q+9];

46..54:pl[m] := trisemus[q-45];

end;

end;end;

Za:=p1;end;

function De(pl: string):string;

var

q,m: integer;

begin

for m:= 1 to length(p 1) do

case p1 [m] of

'A'..'Z’,’a'..'zl,#32,’-':

begin

q:=pos(pl [m],trisemus);

case q of

1..9:pl[m] := trisemus[q+45];

10..54:pl[m] := trisemus[q-9];

end;

end;end;

De:=p1;

end;

procedure TForml .Button5Click(Sender: TObject)

begin

close;

end:

Procedure TForml.MemolClick(Sender: TObject);

Var

i,l,k:integer;

fr:string;

sym,str:string;

begin

memo1.Clear;

fr:=”;

str:=edit1.Text;

l:=length(str);

for i:=1 to1 do

begin

sym:=str[i];

if pos(sym,fr)=0 then fr:=fr+sym;

end;

for i:=1 to 54 do

begin

sym:=enabc[i];

if pos(sym,fr)=0 then fr:=fr+sym;

end;

trisemus:=fr;

for k:=1 to 54 do

Memo1.Text:=memo1.text+fr[k]+’’;

End;

procedure TForm1.Edit1Change(Sender: TObject);

begin

memo1.OnClick(sender);

end;

Procedure TForm1.Button2Click(Sender: TObject);

var

m,str:string;

l:integer;

begin

str:=edit1.Text;

l:=length(str);

if length(str)=0 then

begin

showmessage(‘Не введена ключевая фраза’);

exit;

end;

if pos(‘ ‘,str)=0 then

begin

showmessage(‘Скорее всего введено слово, а не фраза’);

exit;

end;

if pos(‘ ‘,str[l]<>0 then

begin

showmessage(‘Пробелом фраза не заканчивается’);

exit;

end;

m:=memo2.Text;

memo3.Text:=Za(m);

end;

procedure TForm1.Edit1KeyPress ( Sender: TObject; var Key: Char);

begin

case key of

'A'..'Z':;

'a'..'z':;

‘-‘,#8,#32;

else key:=chr(0);end;

end;

procedure TForm1.Button4Click(Sender: TObject);

var

m:=string;

begin

m:=memo3.Text;

memo2.Text:=De(m);

end;

procedure TForm1.FormCreat(Sender: TObject);

begin

memo1.OnClick(sender);

end;

procedure TForm1.Button lClick(Sender: TObject);

var

fo:Textfile;

str:string;

begin

if OpenDialog1.Execute then

begin

memo2.Clear;memo3.Clear;

AssignFile(Fo,OpenDialog1.FileName);

Reset(Fo);

While not eof(fo) do begin

Readln(Fo,str);

Memo2.Lines.Add(str);

end;

CloseFile(Fo);

end;

procedure TForm1.Button3Click(Sender: TObject);

var

cod:textFILE;

begin

if savedialog1.Execute then

begin

assignfile(cod,savedialog1.FileName);

rewrite(cod);

writeln(cod,memo3.Text); closefile(cod);end;

end;

procedure TForm1.Button6Click(Sender: TObject);

var

fo:Textfile;

str:string;

begin

if OpenDialog1. Execute then

begin

memo3.Clear;memo2.Clear;

AssingFile(Fo,OpenDialog1.FileName);

Reset(Fo);

while not eof(fo) do begin

Readln(Fo,str);

memo3.Lines.Add(str);

end;

CloseFile(Fo);

end;

end;

procedure TForm1.Button7Click(Sender: TObject);

var

cod:textFile;

begin

if savedialog1.Execute then

begin

AssignFile(cod,savedialog1.FileName);

rewrite(cod);

writeln(cod,memo2.Text);

closefile(cod);end;

end;

procedure TForm1.FormKeyDown( Sender: TObject; var Key: Word: Shift: TShiftState);

begin

if key=vk_f5 then

if not f5 then

begin

memo1.Visible:=true;

label2.Visible:=true;

f5:=true;

end; else begin

memo1.Visible:=false;

label2.Visible:=false;

f5:=false;

end;

end;

end.

Скачать с ЯндексДиск


Не нашел, что искал?  Заказать работу здесь
Категория: Курсовые работы | Добавил: admin | Теги: криптография, шифрование, таблицы Трисемуса
Просмотров: 3377 | Загрузок: 0