|
Н
|
|
|
|
|
|
|
|
|
У
|
|
|
|
Ж
|
|
Н
|
О
|
|
|
|
В
|
|
|
|
Ы
|
|
|
|
Т
|
|
|
|
Я
|
|
|
|
Г
|
|
|
|
И
|
|
|
|
|
|
|
|
|
|
|
В
|
|
|
А
|
Т
|
|
|
Ь
|
Расшифровав таким образом, получим исходный
текст:
НУЖНОВЫТЯГИВАТЬНОГИЗПТНАСКОЛЬКОПОЗВОЛЯЮТПРОСТЫНИТЧКПЩДНЬЩЮФБ.
Заметим, что на конце остались буквы
«пустышки».
.4 Анализ алгоритма
шифра 2, построение блок-схемы алгоритма шифра и программы шифрования. Описание
формата ввода данных
Задача о ходе коня - задача о нахождении маршрута шахматного коня, проходящего через
все поля доски
по одному разу.
Эта задача известна по крайней мере
с XVIII
века. Леонард Эйлер посвятил ей большую работу «Решение одного любопытного вопроса,
который, кажется, не подчиняется никакому исследованию» (датируется 26 апреля 1757 года).
В курсовой работе рассмотрим
шифрование текста посредством маршрута коня, изображенного на рис. 3.
Рисунок 1.4
Шифрование
происходит следующим образом: вся шахматная доска 8х8 заполняется слева-направо
и сверху-вниз исходным текстом, если остаются свободные клетки, то они
заполняются случайными буквами, а если не хватает, то добавляется еще одна
аналогичная доска.
Затем начинаем
выписывать зашифрованный текст из начальной точки. В принципе, в нашем маршруте
мы можем начать из любой, т.к. в любом случае вернемся в начальную, но тогда в
ключе необходимо будет указать эту точку.
Таким образом, получаем
зашифрованный текст:
ЫОВБППЧИОЙТЛМГОТКНЦЫРОВЧБНЬСЯФЮЗИСТЕКОХАЖГННКЗВЯАТУПГЛТЭНТОЧЬЪИО
Расшифрование:
Используя ключ-маршрут,
выписываем поочередно буквы.
НУЖНОВЫТЯГИВАТЬНОГИЗПТНАСКОЛЬКОПОЗВОЛЯЮТПРОСТЫНИТЧКЪЭХЧЧМФЕЦБЙБГ
Заметим, что на конце
остались случайные буквы, которые добавились ввиду пустых клеток.
Общий интерфейс
программы выглядит следующим образом:
Рисунок 1.5
Далее будут рассмотрены
основные функции программы:
Рисунок
1.6
1. Окно выбора необходимого
шифра
. Окно выбора действия
(Шифрование или расшифрование)
. Поле для ввода ключа
(Программа может сгенерировать его сама)
. Поле для ввода исходного
текста
. Поле вывода зашифрованного
или расшифрованного текста
. Кнопка запуска программы
Подробное описание
работы программы:
1) Исходный текст может быть
записан вручную или из файла. Достаточно нажать кнопку «Обзор» у поля Исходного
текста и выбрать файл на диске. Программа воспринимает русский текст и
практически все знаки препинания. Была исследована литература по передаче
телеграмм и сокращению фраз в них. И таким образом, большинство знаков
переводится в буквы, также убираются все пробелы. Т.к. подразумевается, что при
расшифровании будет либо человек анализировать текст либо словарь русских слов,
и проблема расстановки пробелов будет практически отсутствовать. При
некорректном вводе, если присутствуют неизвестные программе символы, будет
предложено удалить некорректные символы, что сокращает время и увеличивает
удобство программы.
Рисунок
1.7
2) После ввода текста выбираем
Шифр.
Рисунок 1.8
)
Вводим сами ключ, либо
генерируем автоматически, также есть возможность считывания ключа из файла.
После шифрования появляется возможность сохранить на диск используемый ключ для
использования его в будущем для расшифрования.
Для каждого из выбранных
шифров, существует проверка ключа на корректность для данного шифра и
совместимость с исходным текстом.
Рисунок 1.9
4) При вводе
корректных значений, т.е. при корректном исходном тексте, выбранном режиме
шифрования, а также правильном ключе, программа зашифрует текст
Рисунок
1.10
6)
После шифрования, открывается возможность просмотра и анализа диаграмм
символов: гистограмм, к слову, у исходного текста и зашифрованного они
совпадают, т.к. используются шифры перестановки, буквы - «пустышки» не в счет.
В гистограммах каждый столбец имеет подпись, что упрощает его анализ. Учитывая
несчетное количество биграмм и триграмм в больших текстах, то подписывать
каждый символ теряет смысл, поэтому достаточно нажать на интересующий столбец и
мгновенно появится информация о данной биграмме и частоте ее появления. Также,
все диаграммы символов можно сохранить в достаточно большом разрешении.
Рисунок 1.11
6) Для
расшифрования текста, достаточно аналогичным образом, как и для шифрования
текста, выбрать шифр, пункт «Расшифрование», задать ключ и зашифрованный текст.
При корректных значениях во всех перечисленных пунктах, шифр достаточно быстро
расшифруется. Ввиду изначальной замены знаков препинаний, есть возможность
восстановить их, находя те же сокращения и преобразуя их. Будет предложено
попытка расшифровать текст посредством перечисленных замен. После расшифрования
можно будет заметить оставшиеся на конце случайные буквы, появившиеся в
процессе шифрования на пустых местах матриц. Если использовать словари с
достаточно большим набором слов, то можно практически полностью
автоматизировать процесс разбора расшифрованного текста на слова и предложения,
и, конечно, появится возможность убрать буквы-пустышки. И, наконец, одна из
возможностей программы - сохранение расшифрованного текста.
Рисунок 1.12
Вывод
Все выбранные для данной
исследовательской работы шифры в состоянии решить только одну из задач -
обеспечение конфиденциальности, так как они сильно устарели и имеют низкую
криптостойкость.
Однако с помощью этих
шифров тоже можно решать задачи обеспечения целостности и аутентификацию, но
для этого нужна третья сторона. Поэтому эти задачи лучше решать с помощью
асимметричной криптографии.
2. Сравнительный анализ шифров перестановки по результатам
шифрования и криптоанализа зашифрованных текстов
.1 Шифрование с помощью
разработанного программного комплекса шифров замены литературного текста
Для шифрования было выбрано
стихотворение Быкова Д.Л. «На самом деле»:
На самом деле, мне нравилась только
ты, мой идеал и моё мерило. во всех моих женщинах были твои черты, и это с ними
меня мирило. Пока ты там, покорна своим страстям, порхаешь между Орсе и Прадо,
я, можно сказать, собрал тебя по частям - Звучит ужасно, но это правда. Одна
курноса, другая с родинкой на спине, Третья умеет всё принимать как данность.
Одна не чает души в себе, другая во мне - Вместе больше не попадалось. Одна,
как ты, с лица отдувает прядь, другая вечно ключи теряет. А что я ни разу не
мог в одно это всё собрать? Так Бог ошибок не повторяет. И даже твоя душа, до
которой ты допустила меня раза три через все препоны, осталась тут, воплотясь
во все живые цветы и все неисправные телефоны. А ты боялась, что я тут буду скучать,
Подмены сам себе предлагая. А ливни, а цены, а эти шахиды, а Роспечать? Бог с
тобой, ты со мной, моя дорогая.
Вертикальная
перестановка
ОМАНАСЗЕЛМДЕНЕНПТМАЛИРАВЬЛОСЬТПЗЫКОТДИЙТМООМИЕАЛЛИРЕМЕОВКОТЧОМХВСЕЩНЕИХЖЫБХИНАИОВЛИТЗЫТЧЕРОТЭПТИМИМСНИРИМЕНЯКЧТИЛОЫТАПОКТПЗТАМНРОПОКМИОАСВТСАСТРПТПЯМЗШЕАОРХУДЖЬМЕПИЕОРСПЗОРАДМТПТЯЗКСООЖНЗЬТАЗАРБОПТСЯБЕАЛТТСАПОЧУНИЯММИЧУСЗВНСАТУЖОНТОЗПАРПЭТОКЧТВДАУКАОДНЗАСРНОГУРПТДДОРАЯСНЙОИНКЕНИАСПЕРТЗПТЕМУТЬЯПЕСЕТВАМИРИНДКАТЬКТСОАННДОКЬТЧАЧЕНАНИШУЕТДЗЕБВСЕГУРПТДНМОАЯВСУНЕМИЕТСВМЕЕШЬБОЛАПОНЕПЬСОДАЛНДОТЧКАКТАЗПТПЗКТЫОАЦСЛИЕАВТДУЬДЯТПРУРДЗПТЧЕВГАЯЧЮЛНОКЕЯРИТЕЧАКТТЧРИНТОЯМЕНАЗУНДООГВСВООЭТАРБЕСОРПОТЬВБКАОСТБИШОГООПЕОКНЕЯРВТОДИКТТЧОВТАЖЕЗАШЯДУОКОПТДТЙОТОРСУПЫДОЕМАТИЛАЗАНЯРРЕЧТРИПЕСЕЗВЫНОРЕПТСОЗПТТЬСАЛАВТПУТЗЯТООПЛСВОСЬВЕЫВЕЖИИЫТЦВЕИЕНВСЕНВАСПРЕЛЕЫЕТЧТЫФОНОБЫКАТЗЬСЯЛАЯОТПТЧДУБТУТАЧУУСКПТПТЬЗЫНЕОДМБЕССАМЛДЕЕПРЧТЯАГАНВИКАЛЦАТИЗПТПЗЕНЫАШИАЭТПЗЫХИДПСОТАРВЬТЕЧАБСООПРБОТОГСТТПОЙЗОНМЫСООМТЙЗПГОРЯДОЕКЧАЯТ
Решетка Кардано
ПМНТПРЗЕУЕОУЦТАРЛЛЮБОСРИВТУОИЕЧЛКТУАЕОИДЯВРНСВБЛЕЕАДЫРКЯПИОЖВНЫООЗПБКЙТЛОЕАЕЕТЕОЕОЕЧЯЛГИНРТДДЕЕХМВЛРЫОЗОИХМЖННУТИДСВТМОАЙИЕЕДЛЛНДЫЕОИЛМПМННУИОЫПЛСНТСОТПТПНРАСЬАИЕШКБВОИТУАУТТСНАЕЬИРЛТЧОЧСКЕТТСЛЕЯЛБОЕСТКВШЛЧЕИИЮЕЭМОУЧККДЛНДЧАТСОТЕЫЙЗКЬАСГАКЛЕЛЩВПЗУХМТЧВАЕВКВВЯРЕНЛНЕУСЖЕУТЯЛШЕИСИПЗТНЧТЕНВОСИУЕУЛНПАНЧЯДББЧЕСНМЙЕБГОИЫКОНОЕДОТЕГБЕЫОГННТЫЫЕДНВЕУГКАОДЯХОЗАНДИВЕМОЛЙХДОЫОЧЙЛКОВОЫЮОУНДЫДТЧПДЕОТЕЛЫБЕТЗОВЙТКДРНВЕИИТУЧКЛВОЧЕТЦСВЕРЯМОЗЧПБОИЧАОНТСВТГЧСУВЯЫВКВЕАКСЛШТТГАКТРРЗКВРОЧКЕЫРКПТГВБИСИСТОКЬЕООАЖДЛАИЕЛПКРКИДМЫГЕЧОРОТТДЛЬЛОННГВТИВИНБСДОАЯНЙОЛШУХКРЕРЫОНИЮЬМЕНОАСВООРЕЕИВДНЕПВИАБАЭОМОМЯООШКУВОПРТИВЕЯВМНАЬИЙРСЦПЕИТДЯВЛЛБНАОЛЫНООЛЩОТРИУОРИНДЕКОРРЕОЕОТИОЫПРТУРЧАВОЕИНАЯКМВЧЗУДОМИНЩЗЗБЧЦНЛРАЕМЛШЗЫЖМЧИЛЖУЫРЗПЩВМНЗАЕППЕКОАООЗДИЕЕИЙЕЕКЗЬСЧШОПТИОУЕАТВТТДДМСПВПИОГНТГТЩДМНКУЛНТСХДЗТЧОЕЧКАРТУЕОТКНРЕЬНЧЕЕЕЫИНЕСКНГИПОРРСТООТЧГРБВТААЛУИКПЛНХМИНКОИЛТТЛЕАЕЗЛСОКУЕОМОЗМВБЯНОАИЗИТНОТМУЕГЬЗКЖПЕТРПЮБДЕВНЬОЕДАКТТПЗЧЫГОППЛОЬВООТЕООРЗИУСАМЗСРВЙРЬЬТЕКХОРООЗСИОВКИПРЕОПРПТАЛЯТНОТОЭСНДЧТЗО
Конь Эйлера
ИТОВОИТЕМСЛОЧЛТЙЬМОМДКЗОЕАЛАЕКОЫОСДВЬЕЛПСХЛНЕАЗМАЕАВНТТИНИЕММРРПЛПЕПОЯЫАЖТИТТНСНЗОЗНМТХТПХИРИАЕНТЫЩМЭИАБИОРИПИИМТЧОЧВИЫКМЕТКЛООМПЕСАЖРОСАТЗШСМДПАТЗВАЕТНЬНЬОИКИУЯХОАМДЖРРЗОТТПОЕРЗОТМСАОКПЯПСМЗРПВРРУНДББНОУНЕЖТЗРУАОТЯОООЧТТАПААСЛКИЭКПССНААМСЗУВТМТООЧПИСДЧТЯНИЗРСЕВДСДТРПАЯТТЕНОУСРРКЬТТПАНЕЬИНГНТЕАОПТПНТНЯЕИМЗАОМДКАСКАИЬЙУЕУАЛОВОЕНОТГПАМСРБАНМВТПСДАСЧАУНОДЕДЯЕЕДОЬПИШБЕНТЛКЕСИУНЧЗВЬШЕЕМВУНТПРТКДТЯВЕТРДДЕЕАУТАИЧОААПРТЯЧТЗЯЕГЧКККАЗКЛДПОНЧИТЗТЮТЦПОЫЛСЬГЕНЯАТОУЯЕОСВЗТССОРИАРНПТООБАТОЬШВРОБКЕЕТТТГОНВРОИЧООПМНАЭВБОКДОАЙЖППНСЯАОЗТЕОУЕОТЕЕЯОДВНДЫАВПМСРРТРДРЗУИЫТЗЕОТАОИККТЛШЕЧОПЧАРДИНВТФЖЫЕЬСОЕОТСИТЬЕЕАИЕТЫНОВСАЕЕВИСЛЛСВНУТЫТПРПЫВЯСПЛВЦТВЗОТПЗАОЕАУЫТАМЛАТЧССАЛТДДМЯБЕЧСДКАКЫЯГОЬСУОАУНЕЬКАТТЕЯЗПБЕЧТТТЗРТУЧБППОПБЗЗОООПЕИМСПТЦСВЫОСППРНЗННТОАТЬПГДТЫАРЙЫВОХТОИЕТИСИШЭАЗОЛААТПБТЧФЮОЩЩЭЭОМЖМЕБРДЪЮЕШЯХПГКПТЮЧООБНЦСДМЮЧЦАПОГЧБДЬФЙБЗЬЩЮЯЪЙФКЙТГЬЩ
2.2. Построение
гистограмм открытого и зашифрованных текстов, диаграмм символов, биграмм и
триграмм
Ниже приведена гистограмма исходного
текста:
Рисунок 2.1 Гистограмма
исходного текста
Вертикальная
перестановка
Рисунок
2.2 Биграмма
Рисунок
2.3 Триграмма
Решетка Кардано
Рисунок
2.4 Биграмма
Рисунок
2.5 Триграмма
Конь Эйлера:
Рисунок
2.6 Биграмма
Рисунок 2.7 Триграмма
.2 Криптоанализ
шифртекстов, полученных с помощью шифров
Проанализировав
полученные биграммы для выбранных шифров, можно сделать сказать, что все они
очень неравномерны, однако шифр вертикальной перестановки дал худший результат,
потому что он имеет самую высокую частоту встречаемости биграмм.
Рассматривая полученные
триграммы, можно заметить, что они опять же не равномерны, но шифр Эйлера
показывает лучший результат, так как у него самая низкая частота встречаемости,
и самая равномерная триграмма.
Можно сделать вывод, что
шифр Эйлера обладает более высокой криптостойкостью относительно шифра
вертикальной перестановки решетки Кардано.
.3 Криптоанализ
вертикальной перестановки
Для этого естественно
использовать наиболее частые биграммы открытого текста, которые можно составить
из букв рассматриваемого шифрованного текста.
Если для первой пробы
выбрано, скажем, сочетание СТ (самая частая биграмма русского языка), то
можем по очереди приписывать к каждой букве С криптограммы каждую букву Т
из нее. При этом несколько букв, стоящих до и после данной буквы С, и несколько
букв, стоящих до и после данной буквы Т, соединяются в пары, то есть получаются
два столбца букв, записанные рядом.
Конечно, длины столбцов
не известны, но некоторые ограничения на них можно получить, используя
положение конкретных букв. Так, столбцы должны иметь одинаковые длины или
первый столбец может быть длиннее второго на одну букву, и тогда эта буква -
последняя буква сообщения.
Если приписываемые друг
к другу буквы разделены, скажем, только двумя буквами, то, как легко видеть, мы
можем составить в соседних столбцах не более трех пар, и длина столбца не
превышает четырех. Кроме того, ограничением может послужить появление запретной
биграммы (например, гласная - мягкий знак).
Для выбранного сочетания
СТ получается по одной паре столбцов для каждого конкретного выбора букв С и Т
из криптограммы, и из них целесообразно отобрать ту пару, которая содержит
наиболее частые биграммы.
При автоматизации этого
процесса можно приписать каждой биграмме вес, равный частоте ее появления в
открытом тексте. Тогда следует отобрать ту пару столбцов, которая имеет
наибольший вес. Кстати, появление одной биграммы с низкой частотой может
указать на то, что длину столбца надо ограничить по длине. Выбран пару
столбцов, мы аналогичным образом можем подобрать к ним третий (справа или
слева) и т.д.
Описанная процедура
значительно упрощается при использовании вероятных слов, то есть слов, которые
могут встретиться в тексте с большой вероятностью.
.4 Криптоанализ Решетки
Кардано
Когда зашифрованное
сообщение составлено плохо, оно выделяется неестественным языком и постоянно
меняющимся стилем. Специалист может попытаться восстановить решётку, если у
него имеется несколько экземпляров подозрительных сообщений из переписки. Когда
сообщение зашифровано хорошо, его трудно выявить. Даже если специалист считает
сообщение подозрительным, зашифрованный текст может содержать любая невинная
буква. Поэтому, на практике, единственное решение - это получить саму решётку.
Есть смысл разделить
весь текст на блоки по 60 символов, т.к. возможно используется классическая
решетка, и, конечно, стоит взять первый блок, в нем отсутствуют буквы-пустышки.
Как только выбрали
первый блок, необходимо сразу ограничиться четырьмя множествами, учитывая все
повороты решетки, в каждом из которых по 15 символов. Сгенерировав достаточное
количество таких решеток, проходим сразу по ним, накладывая их на тексты и
«пробуем» прочитать по «окошкам» в решетке. В данном случае поступаем
аналогично: автоматизируем процесс, загружая словари.
Также, при подборе
ключа-решетки для данного блока, будет возможно вскрытие и всего текста, т.к.
для всех блоков используется одна и та же решетка.
.5 Криптоанализ шифра на
основе задачи «о ходе коня» Эйлера
Для начала необходимо
сгенерировать всевозможные варианты маршрутов коня. Следующим шагом будет
разделение текста на блоки по 64 символа, и, если учитывать, что для каждого
блока применялся один и тот же маршрут, то достаточно проверять маршрут на ключ
только на первом блоке, т.к. в нем отсутствуют буквы-пустышки. Затем, поступить
следующим образом: для каждого блока накладываем маршрут, и пробуем прочитать
текст, следуя по числам. В случае больших текстов возникает необходимость
автоматизации перебора: достаточно занести в компьютер словари большого объема.
Не возникнет также необходимости проходить всю шахматную доску, если не удается
найти в словаре слова - первые прочитанные наборы символов, то необходимо
переходить к следующему маршруту. Как только найдется ключ для данного блока,
то вскроется и весь текст.
При правильном генерировании,
шифр в любом случае взломается.
Другим возможным
вариантом может являться такой:
Проходим блок по
символам, не только учитывая таблицу возможных биграмм, но и то, что следующая
буква может быть выбрана не особо большим количеством вариантов, т.к. необходимо
«ходить конем». При достаточном переборе, шифр так же вскроется.
.6 Сравнительный анализ
криптостойкости выбранных шифров 1, 2 и 3 по полученным оценкам и трудоемкости
процедуры криптоанализа
Шифртекст полученный с
помощью решетки Кардано, будет достаточно трудно вскрыть не имея самой решетки.
Однако на основе анализа биграмм и триграмм полученных в ходе выполнения
исследовательской работы было установлено, что шифр Эйлера обладает более
высокой криптостойкостью, нежели другие выбранные шифры.
Шифр вертикальной
перестановки, легко поддается вскрытию, так как имеет самую высокую частоту
встречаемости триграмм и биграмм, а также имеет самый простой алгоритм вскрытия
шифровки.
Вывод
Еще в 1759 году
Знаменитый математик Леонард Эйлер нашел замкнутый маршрут обхода всех клеток
шахматной доски ходом коня ровно по одному разу. На основе его открытия можно
получить шифртекст маршрутной перестановки с очень сложным маршрутом.
В данной
исследовательской работе было показано, что несмотря на свой возраст, шифр
основанный на задаче «о ходе коня» Эйлера, может послужить для обеспечения
конфиденциальности, так как располагает большей криптостойкостью нежели другие
исследованные в данной работе шифры.
Однако лучше не
использовать данный шифр для защиты конфиденциальной информации, поскольку
современные средства позволяют легко вскрыть шифр Эйлера, а также другие
изученные в данной работе шифры. В настоящее время существуют более надежные
шифры, такие как RSA, и ГОСТ
28147-89.
Выбранные для анализа в
начале работы шифры, могут послужить лишь для знакомства с такой наукой как
криптография, на их основе можно понять сущность криптографии. Они будут
полезны для изучения начинающим криптографам, например, студентам.
Заключение
В ходе выполнения данной
исследовательской работы были выполнены поставленные задачи:
· Разработаны
программы, реализующие шифрование и расшифрование шифрами «вертикальная
перестановка», «решетка Кардано» и «задача Эйлера»
· Произведено
шифрование литературного текста объемом 854 символа
· Построены
гистограммы открытого и шифрованного текстов
· Проведен
криптоанализ полученных шифртекстов
· Описаны алгоритмы
криптоанализа выбранных шифров
Было выяснено, что шифр основанный
на задаче «о ходе коня» Эйлера более криптостоек по отношению к вертикальной
перестановке и решетке Кардано. Все эти шифры решают задачу обеспечения
конфиденциальности. Однако, с помощью этих шифров можно решать и задачи
обеспечения целостности и аутентификацию, но для этого нужна третья сторона.
Поэтому эти задачи лучше решать с помощью асимметричной криптографии.
Все рассмотренные шифры уже
устарели, и не применяются в современной жизни. Поэтому их лучше не
использовать для защиты информации или для решения задач криптографии.
Изученные шифры можно применять в
образовательных целях, чтобы лучше понять сущность криптографии.
Список литературы
1. Бутакова Н.Г., Семененко В.А., Федоров Н.В.
Криптографическая защита информации: Учебное пособие. - М.:МГИУ, 2011. - 316 с.
. Закон «Об информации, информационных технологиях и защите
информации» от 27 июля 2006 года №149-ФЗ.
. Шнайер Б. Прикладная криптография. Протоколы, алгоритмы,
исходные тексты на языке Си. - М.: ТРИУМФ, 2002 - 816 с.
. Словарь криптографических терминов / Под редакцией Б.А.
Погорелова и В.Н. Сачкова. - М: МЦНМО, 2006.
. Виноградов И.М. Основы теории чисел. - 10-е изд., стер. -
СПб.: Издательство «Лань», 2004. - 176 с.
. У. Диффи. Первые десять лет криптографии с открытым
ключом. /пер. с англ./ М., Мир, ТИИЭР. - 1988.-т. 76.-N5.
. Адаменко М.В. Основы классической криптологии. Секреты шифров и
кодов. - М.:ДМК Пресс, 2012 - 256 с.
. Википедия [Электронный ресурс]. - Режим
доступа:://ru.wikipedia.org/wiki/
. Аутентификация в многоуровневой системе на основе коммутативного
шифрования и доверенных подписей [Электронный ресурс]. - Режим
доступа:://cyberleninka.ru/article/n/autentifikatsiya-v-mnogourovnevoy-sisteme-na-osnove-kommutativnogo-shifrovaniya-i-doverennyh-podpisey
. Алгоритмы с открытым ключом [Электронный ресурс]. - Режим
доступа:://www.pgpru.com/biblioteka/statji/analiznadezhnostipgp/algoritmypgp/asimmetrichnyealgoritmy
Приложение
Тексты программ
шифрования шифрами перестановки
Вертикальная перестановка. Текст
программы шифрования:
i=ceil (size(str,
2)/size (key, 2));=size (key, 2);=char (zeros(i, j));
=j - (j*i-size (str,
2));k=1: (i-1)(k,:)=str((k-1)*j+1:k*j);=i;(k, 1:ost)=str((k-1)*j+1:size (str,
2));(k, ost+1:j)='Е';
_key=sort(key);=char
(zeros(i, j));q=1:j=find (srt_key==key(q));=t(1);_key(t)='_';(:, t)=cfr(:,
q);=cfr2';2=cfr2 (:);
cfr2=cfr2';
Вертикальная перестановка. Текст
программы расшифрования:
cfr2='str';
key='Москва';=size (key,
2);=ceil (size(cfr2,2)/size (key, 2));=char (zeros(i, j));k=1:i(k,:)=cfr2
((k-1)*j+1:k*j);
_key=sort(key);=char
(zeros(i, j));
q=1:j=find
(key==srt_key(q));=t(1);(t)='_';(:, t)=cfr(:, q);
=cfr1;=dec';=dec(:);
dec=dec';
Решетка Кардано. Текст программы
шифрования:
for i=1:
(str_count-1)_str=str (1:60);(1:60)='';j=1:60(crdn_hls (1, j), crdn_hls (2,
j))=new_str(j);=crdn';=crdnn(:)';_full=strcat (crdn_full, crdnn);=size(str);=sz(2);i=1:60(i>sz)(crdn_hls
(1, i), crdn_hls (2, i))=char (round(rand(1)*31)+1040);(crdn_hls (1, i),
crdn_hls (2, i))=str(i);=crdn';=crdnn(:)';_full=strcat (crdn_full, crdnn);
Решетка Кардано. Текст программы
расшифрования:
szz=size(str);=szz(2); (rem (szz, 60)~=0)('Это не шифр решетки Кардано');
else_count=ceil
(szz/60);='';i=1:str_count
=size(str);=szd(2);(szd>=60)_str=str
(1:60);(1:60)='';=60;_str=str (1:szd);(1:szd)='';
i=1:szd=new_str((crdn_hls
(1, i) - 1)*10+crdn_hls (2, i));=strcat (dec, ltr);
Конь Эйлера. Текст программы
шифрования:
szz=size(str);=szz(2);
_count=ceil
(szz/64);_full='';j=1:str_count
(szz>=64)_str=str
(1:64);(1:64)='';_str=str;(1:szz)='';
i=1:64(i<=szz)(A(1,
i), A (2, i))=new_str(i);(A(1, i), A (2, i))=char (round(rand(1)*31)+1040);
=elr';=elr(:)';_full=strcat
(elr_full, elr);
end
Конь Эйлера. Текст программы
расшифрования:
str_count=ceil (szz/64);
='';i=1:str_count=size(str);=szd(2);(szd>=64)_str=str
(1:64);(1:64)='';=64;_str=str (1:szd);(1:szd)='';
i=1:szd=new_str((key (1,
i) - 1)*8+key (2, i));=strcat (dec, ltr);