Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Звягинцев Б.И._Курсовая работа.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1.1 Mб
Скачать

2.4. Криптоанализ Решетки Кардано

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

Есть смысл разделить весь текст на блоки по 60 символов, т.к. возможно используется классическая решетка, и, конечно, стоит взять первый блок, в нем отсутствуют буквы-пустышки.

Как только выбрали первый блок, необходимо сразу ограничиться четырьмя множествами, учитывая все повороты решетки, в каждом из которых по 15 символов. Сгенерировав достаточное количество таких решеток, проходим сразу по ним, накладывая их на тексты и «пробуем» прочитать по «окошкам» в решетке. В данном случае поступаем аналогично: автоматизируем процесс, загружая словари.

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

2.6. Криптоанализ шифра на основе задачи «о ходе коня» Эйлера

Для начала необходимо сгенерировать всевозможные варианты маршрутов коня. Следующим шагом будет разделение текста на блоки по 64 символа, и, если учитывать, что для каждого блока применялся один и тот же маршрут, то достаточно проверять маршрут на ключ только на первом блоке, т.к. в нем отсутствуют буквы-пустышки. Затем, поступить следующим образом: для каждого блока накладываем маршрут, и пробуем прочитать текст, следуя по числам. В случае больших текстов возникает необходимость автоматизации перебора: достаточно занести в компьютер словари большого объема. Не возникнет также необходимости проходить всю шахматную доску, если не удается найти в словаре слова – первые прочитанные наборы символов, то необходимо переходить к следующему маршруту. Как только найдется ключ для данного блока, то вскроется и весь текст.

При правильном генерировании, шифр в любом случае взломается.

Другим возможным вариантом может являться такой:

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

2.5. Сравнительный анализ криптостойкости выбранных шифров 1, 2 и 3 по полученным оценкам и трудоемкости процедуры криптоанализа.

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

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

ВЫВОД

Еще в 1759 году Знаменитый математик Леонард Эйлер нашел замкнутый маршрут обхода всех клеток шахматной доски ходом коня ровно по одному разу. На основе его открытия можно получить шифртекст маршрутной перестановки с очень сложным маршрутом.

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

Однако лучше не использовать данный шифр для защиты конфиденциальной информации, поскольку современные средства позволяют легко вскрыть шифр Эйлера, а также другие изученные в данной работе шифры. В настоящее время существуют более надежные шифры, такие как RSA, и ГОСТ 28147-89.

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

ЗАКЛЮЧЕНИЕ

В ходе выполнения данной исследовательской работы были выполнены поставленные задачи:

  • Разработаны программы, реализующие шифрование и расшифрование шифрами «вертикальная перестановка», «решетка Кардано» и «задача Эйлера»

  • Произведено шифрование литературного текста объемом 854 символа

  • Построены гистограммы открытого и шифрованного текстов

  • Проведен криптоанализ полученных шифртекстов

  • Описаны алгоритмы криптоанализа выбранных шифров

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

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

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

СПИСОК ЛИТЕРАТУРЫ

1. Бутакова Н.Г., Семененко В.А., Федоров Н.В. Криптографическая защита информации: Учебное пособие. – М.:МГИУ, 2011. – 316 с.

2. Закон «Об информации, информационных технологиях и защите информации» от 27 июля 2006 года N 149-ФЗ.

3. Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си. – М.: ТРИУМФ, 2002 – 816 с.

4. Словарь криптографических терминов / Под редакцией Б.А.Погорелова и В.Н.Сачкова.- М: МЦНМО, 2006.

5. Виноградов И.М. Основы теории чисел. – 10-е изд., стер. – СПб.: Издательство «Лань», 2004. – 176 с.

6. У.Диффи. Первые десять лет криптографии с открытым ключом. /пер. с англ./ М., Мир, ТИИЭР.–1988.–т.76.–N5.

7. Адаменко М. В. Основы классической криптологии. Секреты шифров и кодов. . – М.:ДМК Пресс, 2012 – 256 с.

8. Википедия [Электронный ресурс].- Режим доступа:

http://ru.wikipedia.org/wiki/

9. Аутентификация в многоуровневой системе на основе коммутативного шифрования и доверенных подписей [Электронный ресурс].- Режим доступа:

http://cyberleninka.ru/article/n/autentifikatsiya-v-mnogourovnevoy-sisteme-na-osnove-kommutativnogo-shifrovaniya-i-doverennyh-podpisey

10. Алгоритмы с открытым ключом [Электронный ресурс].- Режим доступа:

https://www.pgpru.com/biblioteka/statji/analiznadezhnostipgp/algoritmypgp/asimmetrichnyealgoritmy

11. Национальный открытый университет [Электронный ресурс].- Режим доступа:

http://www.intuit.ru

12. Информационный цент «Центральный дом знаний» [Электронный ресурс].- Режим доступа:

http://cendomzn.ucoz.ru/index/0-13515

ПРИЛОЖЕНИЕ А

ТЕКСТЫ ПРОГРАММ ШИФРОВАНИЯ ШИФРАМИ ПЕРЕСТАНОВКИ

Блок-схема алгоритма шифрования шифром «вертикальная перестановка»

Блок-схема алгоритма расшифрования шифра «вертикальная перестановка»

Шифрование при помощи решетки Кардано

Расшифрование шифра при помощи решетки Кардано

Шифрование на основе задачи «о ходе коня» Эйлера

Расшифрование на основе задачи «о ходе коня» Эйлера

Вертикальная перестановка. Текст программы шифрования:

i=ceil(size(str,2)/size(key,2)); j=size(key,2); cfr=char(zeros(i,j)); ost=j-(j*i-size(str,2)); for k=1:(i-1) cfr(k,:)=str((k-1)*j+1:k*j); end k=i; cfr(k,1:ost)=str((k-1)*j+1:size(str,2)); cfr(k,ost+1:j)='Е'; srt_key=sort(key); cfr2=char(zeros(i,j)); for q=1:j t=find(srt_key==key(q)); t=t(1); srt_key(t)='_'; cfr2(:,t)=cfr(:,q); end cfr2=cfr2'; cfr2=cfr2(:); cfr2=cfr2';

Вертикальная перестановка. Текст программы расшифрования:

cfr2='str'; key='Москва'; j=size(key,2); i=ceil(size(cfr2,2)/size(key,2)); cfr=char(zeros(i,j)); for k=1:i cfr(k,:)=cfr2((k-1)*j+1:k*j); end srt_key=sort(key); cfr1=char(zeros(i,j)); for q=1:j t=find(key==srt_key(q)); t=t(1); key(t)='_'; cfr1(:,t)=cfr(:,q); end dec=cfr1; dec=dec'; dec=dec(:); dec=dec';

Решетка Кардано. Текст программы шифрования:

for i=1:(str_count-1)

new_str=str(1:60);

str(1:60)='';

for j=1:60

crdn(crdn_hls(1,j),crdn_hls(2,j))=new_str(j);

end

crdnn=crdn';

crdnn=crdnn(:)';

crdn_full=strcat(crdn_full,crdnn);

end

sz=size(str);

sz=sz(2);

for i=1:60

if (i>sz)

crdn(crdn_hls(1,i),crdn_hls(2,i))=char(round(rand(1)*31)+1040);

else

crdn(crdn_hls(1,i),crdn_hls(2,i))=str(i);

end

end

crdnn=crdn';

crdnn=crdnn(:)';

crdn_full=strcat(crdn_full,crdnn);

Решетка Кардано. Текст программы расшифрования:

szz=size(str);

szz=szz(2);

if (rem(szz,60)~=0)

warndlg('Это не шифр решетки Кардано');

else

str_count=ceil(szz/60);

dec='';

for i=1:str_count

szd=size(str);

szd=szd(2);

if (szd>=60)

new_str=str(1:60);

str(1:60)='';

szd=60;

else

new_str=str(1:szd);

str(1:szd)='';

end

for i=1:szd

ltr=new_str((crdn_hls(1,i)-1)*10+crdn_hls(2,i));

dec=strcat(dec,ltr);

end

end

Конь Эйлера. Текст программы шифрования:

szz=size(str);

szz=szz(2);

str_count=ceil(szz/64);

elr_full='';

for j=1:str_count

elr=char(zeros(8,8));

szz=size(str);

szz=szz(2);

if (szz>=64)

new_str=str(1:64);

str(1:64)='';

else

new_str=str;

str(1:szz)='';

end

for i=1:64

if (i<=szz)

elr(A(1,i),A(2,i))=new_str(i);

else

elr(A(1,i),A(2,i))=char(round(rand(1)*31)+1040);

end

end

elr=elr';

elr=elr(:)';

elr_full=strcat(elr_full,elr);

end

Конь Эйлера. Текст программы расшифрования:

str_count=ceil(szz/64);

dec='';

for i=1:str_count

szd=size(str);

szd=szd(2);

if (szd>=64)

new_str=str(1:64);

str(1:64)='';

szd=64;

else

new_str=str(1:szd);

str(1:szd)='';

end

for i=1:szd

ltr=new_str((key(1,i)-1)*8+key(2,i));

dec=strcat(dec,ltr);

end

end

Входные данные для работы программы

Вводимый текст:

На самом деле, мне нравилась только ты, мой идеал и моё мерило. во всех моих женщинах были твои черты, и это с ними меня мирило. Пока ты там, покорна своим страстям, порхаешь между Орсе и Прадо, я, можно сказать, собрал тебя по частям - Звучит ужасно, но это правда. Одна курноса, другая с родинкой на спине, Третья умеет всё принимать как данность. Одна не чает души в себе, другая во мне - Вместе больше не попадалось. Одна, как ты, с лица отдувает прядь, другая вечно ключи теряет. А что я ни разу не мог в одно это всё собрать? Так Бог ошибок не повторяет. И даже твоя душа, до которой ты допустила меня раза три через все препоны, осталась тут, воплотясь во все живые цветы и все неисправные телефоны. А ты боялась, что я тут буду скучать, Подмены сам себе предлагая. А ливни, а цены, а эти шахиды, а Роспечать? Бог с тобой, ты со мной, моя дорогая.

Ключи:

Генерируется автоматически.