Основы криптографии
Что такое шифрование. Основные понятия и определения криптографии. Современные методы шифрования: алгоритм замены (подстановки), особенности алгоритма перестановки, гаммирования. Комбинированные методы шифрования. Задачи криптографии и их решение.
Рубрика | Математика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 20.12.2012 |
Размер файла | 67,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
29
Размещено на http://www.allbest.ru/
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
ЛИПЕЦКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра прикладной математики
Курсовая работа
по дискретной математике
На тему
Основы криптографии
Выполнила
Голубева А.В.
Липецк - 2009
Содержание
шифрование криптография замена перестановка
Введение
1.Что такое шифрование
2.Основные понятия и определения криптографии
3.Основные современные методы шифрования
3.1 Алгоритм замены (подстановки)
3.2 Алгоритм перестановки
3.3 Алгоритм гаммирования
4.Комбинированные методы шифрования
5.Задачи криптографии и их решение
Заключение
Список литературы
Введение
Проблема защиты информации путем ее преобразования, исключающего ее прочтение посторонним лицом волновала человеческий ум с давних времен. История криптографии - ровесница истории человеческого языка. Более того, первоначально письменность сама по себе была криптографической системой, так как в древних обществах ею владели только избранные. Священные книги Древнего Египта, Древней Индии тому примеры.
С широким распространением письменности криптография стала формироваться как самостоятельная наука. Первые криптосистемы встречаются уже в начале нашей эры. Так, Цезарь в своей переписке использовал уже более-менее систематический шифр, получивший его имя.
Бурное развитие криптографические системы получили в годы первой и второй мировых войн. Начиная с послевоенного времени и по нынешний день появление вычислительных средств ускорило разработку и совершенствование криптографических методов.
Криптографические методы защиты информации в автоматизированных системах могут применяться как для защиты информации, обрабатываемой в ЭВМ или хранящейся в различного типа ЗУ, так и для закрытия информации, передаваемой между различными элементами системы по линиям связи. Криптографическое преобразование как метод предупреждения несанкционированного доступа к информации имеет многовековую историю. В настоящее время разработано большое количество различных методов шифрования, созданы теоретические и практические основы их применения. Подавляющие число этих методов может быть успешно использовано и для закрытия информации. Под шифрованием в данном передаваемых сообщений, хранение информации (документов, баз данных) на носителях в зашифрованном виде.
Почему проблема использования криптографических методов в информационных системах (ИС) стала в настоящий момент особо актуальна?
С одной стороны, расширилось использование компьютерных сетей, в частности глобальной сети Интернет, по которым передаются большие объемы информации государственного, военного, коммерческого и частного характера, не допускающего возможность доступа к ней посторонних лиц.
С другой стороны, появление новых мощных компьютеров, технологий сетевых и нейронных вычислений сделало возможным дискредитацию криптографических систем еще недавно считавшихся практически не раскрываемыми.
Проблемой защиты информации путем ее преобразования занимается криптология (kryptos - тайный, logos - наука). Криптология разделяется на два направления - криптографию и криптоанализ. Цели этих направлений прямо противоположны.
Криптография занимается поиском и исследованием математических методов преобразования информации.
Сфера интересов криптоанализа - исследование возможности расшифровывания информации без знания ключей.
Современная криптография включает в себя четыре крупных раздела:
Симметричные криптосистемы.
Криптосистемы с открытым ключом.
Системы электронной подписи.
Управление ключами.
Основные направления использования криптографических методов - передача конфиденциальной информации по каналам связи (например, электронная почта), установление подлинности передаваемых сообщений, хранение информации (документов, баз данных) на носителях в зашифрованном виде.
Криптографические методы защиты информации в автоматизированных системах могут применяться как для защиты информации, обрабатываемой в ЭВМ или хранящейся в различного типа ЗУ, так и для закрытия информации, передаваемой между различными элементами системы по линиям связи. Криптографическое преобразование как метод предупреждения несанкционированного доступа к информации имеет многовековую историю. В настоящее время разработано большое количество различных методов шифрования, созданы теоретические и практические основы их применения. Подавляющие число этих методов может быть успешно использовано и для закрытия информации.
Итак, криптография дает возможность преобразовать информацию таким образом, что ее прочтение (восстановление) возможно только при знании ключа.
1.Что такое шифрование
Шифрование -- это способ изменения сообщения или другого документа, обеспечивающее искажение (сокрытие) его содержимого. (Кодирование - это преобразование обычного, понятного, текста в код.) При этом подразумевается, что существует взаимно однозначное соответствие между символами текста (данных, чисел, слов) и символьного кода - в этом принципиальное отличие кодирования от шифрования. Часто кодирование и шифрование считают одним и тем же, забывая о том, что для восстановления закодированного сообщения, достаточно знать правило подстановки (замены). Для восстановления же зашифрованного сообщения помимо знания правил шифрования, требуется и ключ к шифру. Ключ понимается нами как конкретное секретное состояние параметров алгоритмов шифрования и дешифрования. Знание ключа дает возможность прочтения секретного сообщения. Шифровать можно не только текст, но и различные компьютерные файлы - от файлов баз данных и текстовых процессоров до файлов изображений.
Шифрование используется человечеством с того самого момента, как появилась первая секретная информация, т. е. такая, доступ к которой должен быть ограничен.
Идея шифрования состоит в предотвращении просмотра истинного содержания сообщения (текста, файла и т.п.) теми, у кого нет средств его дешифрования. А прочесть файл сможет лишь тот, кто сможет его дешифровать.
Шифрование появилось примерно четыре тысячи лет тому назад. Первым известным применением шифра (кода) считается египетский текст, датированный примерно 1900 г. до н.э., автор которого использовал вместо обычных (для египтян) иероглифов не совпадающие с ними знаки.
Один из самых известных методов шифрования носит имя Цезаря, который если и не сам его изобрел, то активно им пользовался. Не доверяя своим посыльным, он шифровал письма элементарной заменой А на D, В на Е и так далее по всему латинскому алфавиту. При таком кодировании комбинация XYZ была бы записана как АВС, а слово «ключ» превратилось бы в неудобоваримое «нобъ».
Спустя 500 лет шифрование стало повсеместно использоваться при оставлении текстов религиозного содержания, молитв и важных государственных документов.
Со средних веков и до наших дней необходимость шифрования военных, дипломатических и государственных документов стимулировало развитие криптографии. Сегодня потребность в средствах, обеспечивающих безопасность обмена информацией, многократно возросла.
2.Основные понятия и определения криптографии
Алфавит - конечное множество используемых для кодирования информации знаков.
Текст - упорядоченный набор из элементов алфавита.
В качестве примеров алфавитов, используемых в современных ИС можно привести следующие:
· алфавит Z33 - 32 буквы русского алфавита и пробел;
· алфавит Z256 - символы, входящие в стандартные коды ASCII и КОИ-8;
· бинарный алфавит - Z2 = {0,1};
· восьмеричный алфавит или шестнадцатеричный алфавит;
Шифрование - преобразовательный процесс: исходный текст, который носит также название открытого текста, заменяется шифрованным текстом.
Дешифрование - обратный шифрованию процесс. На основе ключа шифрованный текст преобразуется в исходный.
Ключ - информация, необходимая для беспрепятственного шифрования и дешифрования текстов.
Криптографическая система представляет собой семейство T преобразований открытого текста. Члены этого семейства индексируются, или обозначаются символом k; параметр k является ключом. Пространство ключей K - это набор возможных значений ключа. Обычно ключ представляет собой последовательный ряд букв алфавита.
Криптосистемы разделяются на симметричные и с открытым ключом.
В симметричных криптосистемах и для шифрования, и для дешифрования используется один и тот же ключ.
В системах с открытым ключом используются два ключа - открытый и закрытый, которые математически связаны друг с другом. Информация шифруется с помощью открытого ключа, который доступен всем желающим, а расшифровывается с помощью закрытого ключа, известного только получателю сообщения.
Криптостойкостью называется характеристика шифра, определяющая его стойкость к дешифрованию без знания ключа (т.е. криптоанализу). Имеется несколько показателей криптостойкости, среди которых:
· количество всех возможных ключей;
· среднее время, необходимое для криптоанализа.
Преобразование Tk определяется соответствующим алгоритмом и значением параметра k. Эффективность шифрования с целью защиты информации зависит от сохранения тайны ключа и криптостойкости шифра.
Для современных криптографических систем защиты информации сформулированы следующие общепринятые требования:
· зашифрованное сообщение должно поддаваться чтению только при наличии ключа;
· число операций, необходимых для определения использованного ключа шифрования по фрагменту шифрованного сообщения и соответствующего ему открытого текста,
· должно быть не меньше общего числа возможных ключей;
· число операций, необходимых для расшифровывания информации путем перебора всевозможных ключей должно иметь строгую нижнюю оценку и выходить за пределы возможностей современных компьютеров (с учетом возможности использования сетевых вычислений);
· знание алгоритма шифрования не должно влиять на надежность защиты;
· незначительное изменение ключа должно приводить к существенному изменению вида зашифрованного сообщения даже при использовании одного и того же ключа;
· структурные элементы алгоритма шифрования должны быть неизменными;
· дополнительные биты, вводимые в сообщение в процессе шифрования, должен быть полностью и надежно скрыты в шифрованном тексте;
· длина шифрованного текста должна быть равной длине исходного текста;
· не должно быть простых и легко устанавливаемых зависимостью между ключами, последовательно используемыми в процессе шифрования;
· любой ключ из множества возможных должен обеспечивать надежную защиту информации;
· алгоритм должен допускать как программную, так и аппаратную реализацию, при этом изменение длины ключа не должно вести к качественному ухудшению алгоритма шифрования.
3.Основные современные методы шифрования
Среди разнообразнейших способов шифрования можно выделить следующие основные методы:
* Алгоритмы замены или подстановки -- символы исходного текста заменяются на символы другого (или того же) алфавита в соответствии с заранее определенной схемой, которая и будет ключом данного шифра. Отдельно этот метод в современных криптосистемах практически не используется из-за чрезвычайно низкой криптостойкости.
* Алгоритмы перестановки -- символы оригинального текста меняются местами по определенному принципу, являющемуся секретным ключом. Алгоритм перестановки сам по себе обладает низкой криптостойкостью, но входит в качестве элемента в очень многие современные криптосистемы.
* Алгоритмы гаммирования -- символы исходного текста складываются с символами некой случайной последовательности. Самым распространенным примером считается шифрование файлов «имя пользователя.рwl», в которых операционная система Microsoft Windows 95 хранит пароли к сетевым ресурсам данного пользователя. Когда пользователь вводит свой пароль при входе в Windows 95, из него по алгоритму шифрования генерируется гамма (всегда одна и та же), применяемая для шифрования сетевых паролей. Простота подбора пароля обусловливается в данном случае тем, что Windows всегда предпочитает одну и ту же гамму.
* Комбинированные методы. Последовательное шифрование исходного текста с помощью двух и более методов.
3.1 Алгоритм замены (подстановки)
В этом наиболее простом методе символы шифруемого текста заменяются другими символами, взятыми из одного- (одно- или моноалфавитная подстановка) или нескольких (много- или полиалфавитная подстановка) алфавита.
Самой простой разновидностью является прямая (простая) замена, когда буквы шифруемого сообщения заменяются другими буквами того же самого или некоторого другого алфавита. Таблица замены может иметь следующий вид (Табл. 1)
Таблица 1 (простая замена)
Исходные символы шифруемого текста |
a |
b |
c |
d |
e |
f |
g |
h |
i |
j |
k |
l |
m |
n |
o |
р |
q |
r |
s |
t |
u |
v |
w |
x |
y |
z |
|
Заменяющие символы |
s |
р |
x |
l |
r |
z |
i |
m |
a |
y |
e |
d |
w |
t |
b |
g |
v |
n |
j |
o |
c |
f |
h |
q |
u |
kk |
Используя эту таблицу, зашифруем текст: Language belongs to each of us.Получим следующее зашифрованное сообщение: Dsticsir prdbtij ob rsxm bz cj. Однако такой шифр имеет низкую стойкость, так как зашифрованный текст имеет те же статистические характеристики, что и исходный. Для повышения стойкости шрифта используют полиалфавитные подстановки, в которых для замены символов исходного текста используются символы нескольких алфавитов. Известно несколько разновидностей полиалфавитной подстановки, наиболее известными из которых являются одно- и многоконтурная.
Таблица Вижинера представляет собой квадратную матрицу с n2 элементами, где n -- число символов используемого алфавита. На Табл.2 показана верхняя часть таблицы Вижинера для кириллицы. Каждая строка получена циклическим сдвигом алфавита на символ. Для шифрования выбирается буквенный ключ, в соответствии с которым формируется рабочая матрица шифрования.
Таблица 2 (Таблица Вижинера)
Осуществляется это следующим образом. Из полной таблицы выбирается первая строка и те строки, первые буквы которых соответствуют буквам ключа. Первой размещается первая строка, а под нею -- строки, соответствующие буквам ключа в порядке следования этих букв в ключе шифрования.
Процесс шифрования осуществляется следующим образом:
1. под каждой буквой шифруемого текста записываются буквы ключа.
Ключ при этом повторяется необходимое число раз.
2. каждая буква шифруемого текста заменяется по подматрице буквами находящимися на пересечении линий, соединяющих буквы шифруемого текста в первой строке подматрицы и находящимися под ними букв ключа.
3. полученный текст может разбиваться на группы по несколько знаков.
Эксперименты показали, что при использовании такого метода статистические характеристики исходного текста практически не проявляются в зашифрованном сообщении. Замена по таблице Вижинера эквивалентна простой замене с циклическим изменением алфавита, т.е. здесь мы имеем полиалфавитную подстановку, причем число используемых алфавитов определяется числом букв в слове ключа. Поэтому стойкость такой замены определяется произведением стойкости прямой замены на число используемых алфавитов, т.е. число букв в ключе.
Расшифровка текста производится в следующей последовательности:
1. над буквами зашифрованного текста последовательно надписываются буквы ключа, причем ключ повторяется необходимое число раз.
2. в строке подматрицы Вижинера, соответствующей букве ключа отыскивается буква, соответствующая знаку зашифрованного текста. Находящаяся под ней буква первой строки подматрицы и будет буквой исходного текста.
3. полученный текст группируется в слова по смыслу.
Одним из недостатков шифрования по таблице Вижинера является то, что при небольшой длине ключа надежность шифрования остается невысокой, а формирование длинных ключей сопряжено с трудностями.
С целью повышения стойкости шифрования можно использовать усовершенствованные варианты таблицы Вижинера.
Например:
· во всех (кроме первой) строках таблицы буквы располагаются в произвольном порядке.
· В качестве ключа используется случайность последовательных чисел. Из таблицы Вижинера выбираются десять произвольных строк, которые кодируются натуральными числами от 0 до 10. Эти строки используются в соответствии с чередованием цифр в выбранном ключе.
3.2 Алгоритмические перестановки
Этот метод заключается в том, что символы шифруемого текста переставляются по определенным правилам внутри шифруемого блока символов. Рассмотрим некоторые разновидности этого метода, которые могут быть использованы в автоматизированных системах.
Самая простая перестановка -- написать исходный текст задом наперед и одновременно разбить шифрограмму на пятерки букв. Например, из фразы
ПУСТЬ БУДЕТ ТАК, КАК МЫ ХОТЕЛИ
получится такой шифротекст:
ИЛЕТО ХЫМКА ККАТТ ЕДУБЪ ТСУП
В последней группе (пятерке) не хватает одной буквы. Значит, прежде чем шифровать исходное выражение, следует его дополнить незначащей буквой (например, О) до числа, кратного пяти:
ПУСТЬ-БУДЕТ-ТАККА-КМЫХО-ТЕЛИО
Тогда шифрограмма, несмотря на столь незначительные изменения, будет выглядеть по-другому:
ОИЛЕТ ОХЫМК АККАТ ТЕДУБ ЬТСУП
Кажется, ничего сложного, но при расшифровке проявляются серьезные неудобства.
Во время Гражданской войны в США в ходу был такой шифр: исходную фразу писали в несколько строк. Например, по пятнадцать букв в каждой (с заполнением последней строки незначащими буквами).
П У С Т Ь Б У Д Е Т Т А К К А
К М Ы Х О Т Е Л И К Л М Н О П
После этого вертикальные столбцы по порядку писали в строку с разбивкой на пятерки букв:
ПКУМС ЫТХЬО БТУЕД ЛЕИТК ТЛАМК НКОАП
Если строки укоротить, а количество строк увеличить, то получится прямоугольник-решетка, в который можно записывать исходный текст. Но тут уже потребуется предварительная договоренность между адресатом и отправителем посланий, поскольку сама решетка может быть различной длины-высоты, записывать к нее можно по строкам, по столбцам, по спирали туда или по спирали обратно, можно писать и по диагоналями, а для шифрования можно брать тоже различные направления. В общем, здесь масса вариантов.
3.3 Алгоритм гаммирования
Гаммирование является также широко применяемым криптографическим преобразованием. На самом деле граница между гаммированием и использованием бесконечных ключей и шифров Вижинера, о которых речь шла выше, весьма условная.
Принцип шифрования гаммированием заключается в генерации гаммы шифра с помощью датчика псевдослучайных чисел и наложении полученной гаммы на открытые данные обратимым образом (например, используя сложение по модулю 2).
Процесс дешифрования данных сводится к повторной генерации гаммы шифра при известном ключе и наложении такой гаммы на зашифрованные данные.
Полученный зашифрованный текст является достаточно трудным для раскрытия в том случае, если гамма шифра не содержит повторяющихся битовых последовательностей. По сути дела гамма шифра должна изменяться случайным образом для каждого шифруемого слова. Фактически же, если период гаммы превышает длину всего зашифрованного текста и неизвестна никакая часть исходного текста, то шифр можно раскрыть только прямым перебором (пробой на ключ). Криптостойкость в этом случае определяется размером ключа.
Метод гаммирования становится бессильным, если злоумышленнику становится известен фрагмент исходного текста и соответствующая ему шифрограмма. Простым вычитанием по модулю получается отрезок ПСП и по нему восстанавливается вся последовательность. Злоумышленники может сделать это на основе догадок о содержании исходного текста. Так, если большинство посылаемых сообщений начинается со слов “СОВ.СЕКРЕТНО”, то криптоанализ всего текста значительно облегчается. Это следует учитывать при создании реальных систем информационной безопасности.
Суть этого метода состоит в том, что символы шифруемого текста последовательно складываются с символами некоторой специальной последовательности, которая называется гаммой. Иногда такой метод представляют как наложение гаммы на исходный текст, поэтому он получил название «гаммирование». Процедуру наложения гаммы на исходный текст можно осуществить двумя способами. При первом способе символы исходного текста и гаммы заменяются цифровыми эквивалентами, которые затем складываются по модулю k, где k -- число символов в алфавите, т.е.
Ri = ( Si + G ) mod (k -1),
где Ri, Si, G -- символы соответственно зашифрованного, исходного текста и гаммы.
Шифруемый текст |
Б |
У |
Д |
Ь … |
|
010010 |
100000 |
110010 |
100000 |
||
Знаки гаммы |
7 |
1 |
8 |
2 … |
|
000111 |
000001 |
001000 |
000010 |
||
Шифрованный текст |
010101 |
1000001 |
111010 |
100010 |
При втором методе символы исходного текста и гаммы представляются в виде двоичного кода, затем соответствующие разряды складываются по модулю 2. Вместо сложения по модулю 2 при гаммировании можно использовать и другие логические операции, например преобразование по правил логической эквивалентности и неэквивалентности.
Такая замена равносильна введению еще одного ключа, который является выбор правила формирования символов зашифрованного сообщения из символов исходного текста и гаммы (Табл.3).
Стойкость шифрования методом гаммирования определяется главным образом свойством гаммы -- длительностью периода и равномерностью статистических характеристик. Последнее свойство обеспечивает отсутствие закономерностей в появлении различных символов в пределах периода.
Обычно разделяют две разновидности гаммирования -- с конечной и бесконечной гаммами. При хороших статистических свойствах гаммы стойкость шифрования определяется только длинной периода гаммы. При этом, если длина периода гаммы превышает длину шифруемого текста, то такой шифр теоретически является абсолютно стойким, т.е. его нельзя вскрыть при помощи статистической обработки зашифрованного текста. Это, однако, не означает, что дешифрование такого текста вообще невозможно: при наличии некоторой дополнительной информации исходный текст может быть частично или полностью восстановлен даже при использовании бесконечной гаммы.
В качестве гаммы может быть использована любая последовательность случайных символов, например, последовательность цифр числа и т.п. При шифровании с помощью, например, аппаратного шифратора последовательность гаммы может формироваться с помощью датчика псевдослучайных чисел (ПСЧ). В настоящее время разработано несколько алгоритмов работы таких датчиков, которые обеспечивают удовлетворительные характеристики гаммы.
4.Комбинированные методы шифрования
Одним из важнейших требований, предъявляемых к системе шифрования, является ее высокая стойкость. Однако повышение стойкости любого метода шифрования приводит, как правило, к существенному усложнению самого процесса шифрования и увеличению затрат ресурсов (времени, аппаратных средств, уменьшению пропускной способности и т.п.).
Достаточно эффективным средством повышения стойкости шифрования является комбинированное использование нескольких различных способов шифрования, т.е. последовательное шифрование исходного текста с помощью двух или более методов.
Как показали исследования, стойкость комбинированного шифрования не ниже произведения стойкостей используемых способов.
Вообще говоря, комбинировать можно любые методы шифрования и в любом количестве, однако на практике наибольшее распространение получили следующие комбинации:
1) подстановка + гаммирование;
2) перестановка + гаммирование;
3) гаммирование + гаммирование;
4) паодстановка + перестановка;
5.Задачи криптографии и их решения
Задача №1 (Алгоритм замены)
Буквы русского алфавита занумерованы в соответствии с таблицей:
А |
Б |
В |
Г |
Д |
Е |
Ж |
З |
И |
К |
Л |
М |
Н |
О |
П |
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
|
Р |
С |
Т |
У |
Ф |
Х |
Ц |
Ч |
Ш |
Щ |
Ь |
Ы |
Э |
Ю |
Я |
|
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
Для зашифровывания сообщения, состоящего из n букв, выбирается ключ К- некоторая последовательность из n букв приведённого выше алфавита. Зашифровывание каждой буквы сообщения состоит в сложении её номера в таблице с номером соответствующей буквы ключевой последовательности и замене полученной суммы на букву алфавита, номер которой имеет тот же остаток от деления на 30, что и эта сумма. Прочитайте шифрованное сообщение: ГМЖФЦСПЗМНВФЭЖНРЬМГ, если известно, что шифрующая последовательность не содержала никаких букв, кроме А, Б и В.
РЕШЕНИЕ
Каждую букву шифрованного сообщения расшифруем в трёх вариантах, предполагая последовательно, что соответствующая буква шифрующей последовательности есть буква А, Б или буква В:
Код |
Г |
М |
Ж |
Ф |
Ц |
С |
П |
З |
М |
Н |
В |
Ф |
Э |
Ж |
Н |
Р |
Ь |
М |
Г |
|
Вар.А |
В |
Л |
Е |
У |
Х |
Р |
О |
Ж |
Л |
М |
Б |
У |
Ы |
Е |
М |
П |
Щ |
Л |
В |
|
Вар.Б |
Б |
К |
Д |
Т |
Ф |
П |
Н |
Е |
К |
Л |
А |
Т |
Ь |
Д |
Л |
О |
Ш |
К |
Б |
|
Вар.В |
А |
И |
Г |
С |
У |
О |
М |
Д |
И |
К |
Я |
С |
Щ |
Г |
К |
Н |
Ч |
И |
А |
Выбирая из каждой колонки полученной таблицы ровно по одной букве, находим осмысленное сообщение ВЛЕСУРОДИЛАСЬЕЛОЧКА, которое и является искомым.
Задача №2 (Преобразование текста с помощью подстановки Вижинера)
Исходный текст:
НЕ_СЛЕДУЕТ_ВЫБИРАТЬ_НЕСЛУЧАЙНЫЙ_КЛЮЧ
Ключ: КЛЮЧ
РЕШЕНИЕ
Разобьем исходный текст на блоки по 4 символа:
НЕ_С ЛЕДУ ЕТ_В ЫБИР АТЬ_ НЕСЛ УЧАЙ НЫЙ_ КЛЮЧ
и наложим на них ключ (используя таблицу Вижинера):
H+К=Ч, Е+Л=Р и т.д.
Получаем зашифрованный текст:
ЧРЭЗ ХРБЙ ПЭЭЩ ДМЕЖ КЭЩЦ ЧРОБ ЭБЮ_ ЧЕЖЦ ФЦЫН
Задача №3(Алгоритм замены)
Используя таблицу зашифровать фразу: Мороз и солнце, день чудесный!
Аг |
Йм |
Тх |
Ыю |
|
Бд |
Кн |
Уц |
Ья |
|
Ве |
Ло |
Фч |
Э_ |
|
Гж |
Мп |
Хш |
Юа |
|
Дз |
Нр |
Цщ |
Яб |
|
Еи |
Ос |
Чъ |
_в |
|
Жй |
Пт |
Шы |
||
Зк |
Ру |
Щь |
||
Ил |
Сф |
Ъэ |
РЕШЕНИЕ
Псуск л фсорщи, зиря ъцзифрюм!
Задача №4 (Алгоритм перестановки)
Сообщение было построчно записано в таблицу, имеющую 20 столбцов. При этом в каждую клетку таблицы записывалось по одной букве сообщения, пробелы между словами были пропущены, а знаки препинания заменены на условные комбинации: точка - ТЧК, запятая - ЗПТ.
Затем столбцы таблицы были некоторым образом переставлены, в результате чего был получен текст:
Я |
Н |
Л |
В |
К |
Р |
А |
Д |
О |
Е |
Т |
Е |
Р |
Г |
О |
М |
И |
З |
Я |
Е |
|
Й |
Л |
Т |
А |
Л |
Ф |
Ы |
И |
П |
Е |
У |
И |
О |
О |
Г |
Е |
Д |
Б |
О |
Р |
|
Ч |
Р |
Д |
Ч |
И |
Е |
С |
М |
О |
Н |
Д |
К |
Х |
И |
Н |
Т |
И |
К |
Е |
О |
|
Н |
У |
Л |
А |
Е |
Р |
Е |
Б |
Ы |
Ы |
Е |
Е |
З |
И |
О |
Н |
Н |
Ы |
Ч |
Д |
|
Ы |
Т |
Д |
О |
Е |
М |
П |
П |
Т |
Щ |
В |
А |
Н |
И |
П |
Т |
Я |
З |
С |
Л |
|
И |
К |
С |
И |
- |
Т |
Ч |
Н |
О |
- |
- |
Е |
- |
Л |
У |
Л |
- |
Т |
- |
Ж |
Прочтите исходное сообщение.
РЕШЕНИЕ
Так как при записывании сообщения в таблицу пробелы опускались, можно сделать вывод, что столбцы, содержащие пробелы в последней клетке, до перестановки стояли в конце таблицы. Таким образом, столбцы можно разбить на две группы. При этом для получения исходного текста потребуется переставлять столбцы внутри групп.
Я |
Н |
Л |
В |
Р |
А |
Л |
О |
Е |
Г |
О |
М |
З |
Е |
|
Й |
Л |
Т |
А |
Ф |
Ы |
И |
П |
И |
О |
Г |
Е |
Б |
Р |
|
Ч |
Р |
Д |
Ч |
Е |
С |
М |
О |
К |
И |
Н |
Т |
К |
О |
|
Н |
У |
Л |
А |
Р |
Е |
Б |
Ы |
Е |
И |
О |
Н |
Ы |
Д |
|
Ы |
Т |
Д |
О |
М |
П |
П |
Т |
А |
И |
П |
Т |
З |
Л |
|
И |
К |
С |
И |
Т |
Ч |
Н |
О |
Е |
Л |
У |
Л |
Т |
Ж |
К |
Е |
Т |
Р |
И |
Я |
|
Л |
Е |
У |
О |
Д |
О |
|
И |
Н |
Д |
Х |
И |
Е |
|
Е |
Ы |
Е |
З |
Н |
Ч |
|
Е |
Щ |
В |
Н |
Я |
С |
|
- |
- |
- |
- |
- |
- |
Естественно предположить, что сообщение оканчивалось точкой. Поэтому на третьем с конца месте в первой группе должен быть столбец, оканчивающийся на Т, на втором - на Ч, на последнем - на К. Получаем два варианта, из которых первый является явно «нечитаемым».
Р |
А |
Н |
З |
А |
Н |
Я |
Л |
В |
Р |
Л |
О |
Е |
Г |
О |
М |
Е |
|||
Ф |
Ы |
Л |
Б |
Ы |
Л |
Й |
Т |
А |
Ф |
И |
П |
И |
О |
Г |
Е |
Р |
|||
Е |
С |
Р |
К |
С |
Р |
Ч |
Д |
Ч |
Е |
М |
О |
К |
И |
Н |
Т |
О |
|||
Р |
Е |
У |
Ы |
Е |
У |
Н |
Л |
А |
Р |
Б |
Ы |
Е |
И |
О |
Н |
Д |
|||
М |
П |
Т |
З |
П |
Т |
Ы |
Д |
О |
М |
П |
Т |
А |
И |
П |
Т |
Л |
|||
Т |
Ч |
К |
Т |
Ч |
К |
И |
С |
И |
Т |
Н |
О |
Е |
Л |
У |
Л |
Ж |
З |
А |
Н |
Я |
Т |
И |
Е |
К |
Р |
|
Б |
Ы |
Л |
О |
У |
Д |
Е |
Л |
О |
|
К |
С |
Р |
Е |
Д |
И |
Н |
И |
Х |
|
Ы |
Е |
У |
Ч |
Е |
Н |
Ы |
Е |
З |
|
З |
П |
Т |
С |
В |
Я |
Щ |
Е |
Н |
|
Т |
Ч |
К |
- |
- |
- |
- |
- |
- |
Таким образом, удалось зафиксировать последние три столбца первой группы. Переставляя столбцы второй группы, ищем «читаемые» продолжения зафиксированных столбцов. Действуя далее аналогичным образом с оставшимися столбцами первой группы, достаточно легко получаем исходное сообщение.
Ответ
Д |
О |
Л |
Г |
О |
Е |
В |
Р |
Е |
М |
Я |
З |
А |
Н |
Я |
Т |
И |
Е |
К |
Р |
|
И |
П |
Т |
О |
Г |
Р |
А |
Ф |
И |
Е |
Й |
Б |
Ы |
Л |
О |
У |
Д |
Е |
Л |
О |
|
М |
О |
Д |
И |
Н |
О |
Ч |
Е |
К |
Т |
Ч |
К |
С |
Р |
Е |
Д |
И |
Н |
И |
Х |
|
Б |
Ы |
Л |
И |
О |
Д |
А |
Р |
Ё |
Н |
Н |
Ы |
Е |
У |
Ч |
Е |
Н |
Ы |
Е |
З |
|
П |
Т |
Д |
И |
П |
Л |
О |
М |
А |
Т |
Ы |
З |
П |
Т |
С |
В |
Я |
Щ |
Е |
Н |
|
Н |
О |
С |
Л |
У |
Ж |
И |
Т |
Е |
Л |
И |
Т |
Ч |
К |
Задача №5 (Алгоритм гаммирования)
При передаче сообщений используется некоторый шифр. Пусть известно, что каждому из трёх шифрованных текстов
ЙМЫВОТСЬЛКЪГВЦАЯЯ
УКМАПОЧСРКЩВЗАХ
ШМФЭОГЧЙЪКФЬВЫЕАКК
Соответствовало исходное сообщение МОСКВА. Попробуйте расшифровать три текста
ТПЕОИРВНТМОЛАРГЕИАНВИЛЕДНМТААГТДЬТКУБЧКГЕИШНЕИАРЯ
ЛСИЕМГОРТКРОМИТВАВКНОПКРАСЕОГНАЬЕП
РТПАИОМВСВТИЕОБПРОЕННИГЬКЕЕАМТАЛВТДЬСОУМЧШСЕОНШЬИАЯК
при условии, что двум их них соответствует одно и то же сообщение. Сообщениями являются известные крылатые фразы.
РЕШЕНИЕ
Можно заметить, что последовательность букв МОСКВА входит как подпоследовательность в каждый из шифртекстов первой тройки:
йМывОтСьлКъгВцАяя
укМапОчСрКщВзАх
шМфэОгчСйъКфьВыеАкк
На основе этого наблюдения можно предположить, что шифрование заключается в следующем. В каждый промежуток между буквами исходного сообщения (начало и конец также считаются промежутками) вставляются одна либо две буквы в соответствии с известным только отправителю и получателю ключом.
Очевидно, что первая буква сообщения должна попасть на 2-е или 3-е место шифрованного текста. Сравнивая буквы, стоящие на указанных местах в подлежащих расшифровыванию криптограммах, делаем вывод, что одно и то же исходное сообщение соответствует первому и третьему шифротексту и сто первая буква этого сообщения - П.
Рассуждая далее аналогичным образом, заключаем, что второй буквой повторяющегося сообщения является О и так далее. В итоге получаем, что первой и третьей криптограмме соответствует исходное сообщение
ПОВТОРЕНИЕМАТЬУЧЕНИЯ
Теперь расшифруем вторую криптограмму. Первой буквой сообщения могут быть только С или И. Далее, подбирая к каждой из них возможные варианты последующих букв и вычёркивая заведомо «нечитаемые» цепочки букв, получим:
СЕ, СМ, ИМ, ИГ
СЕГ, СЕО, СМО, СМР, ИМО, ИМР, ИГР, ИГТ
СЕГР, СЕГТ, СМРК, СМРР, СМОТ, СОК, ИМОТ, ИМОК
СМОТР, СМОТО, СМОКО, ИМОТР, ИМОТО, ИМОКО, СМОТРМ, СМОТРИ….
И так далее.
В итоге получаем СМОТРИВКРОРЕНЬ
Ответ: ПОВТОРЕНИЕМАТЬУЧЕНИЯ
СМОТРИВКОРЕНЬ
Заключение
Выбор для конкретных методов криптографии должен быть основан на глубоком анализе слабых и сильных сторон тех или иных методов защиты. Обоснованный выбор той или иной системы защиты в общем-то должен опираться на какие-то критерии эффективности. К сожалению, до сих пор не разработаны подходящие методики оценки эффективности криптографических систем.
Наиболее простой критерий такой эффективности - вероятность раскрытия ключа или мощность множества ключей. По сути это то же самое, что и криптостойкость. Для ее численной оценки можно использовать также и сложность раскрытия шифра путем перебора всех ключей.
Однако, этот критерий не учитывает других важных требований к криптосистемам:
невозможность раскрытия или осмысленной модификации информации на основе анализа ее структуры,
совершенство используемых протоколов защиты,
минимальный объем используемой ключевой информации,
минимальная сложность реализации
высокая оперативность.
Желательно конечно использование некоторых интегральных показателей, учитывающих указанные факторы.
Для учета стоимости, трудоемкости и объема ключевой информации можно использовать удельные показатели - отношение указанных параметров к мощности множества ключей шифра.
Часто более эффективным при выборе и оценке криптографической системы является использование экспертных оценок и имитационное моделирование.
В любом случае выбранный комплекс криптографических методов должен сочетать как удобство, гибкость и оперативность использования, так и надежную защиту от злоумышленников.
Список литературы
Баричев С.В. «Криптография без секретов». -Москва.: Наука, 1998. -120с.
Бунин О. «Занимательное шифрование». - Журнал «Мир ПК» 2003 №7.
3. Вербицкий О. « Вступление к криптологии». - Львов, Издательство научно-техничной литературы, 1998. -300с.
4. Ростовцев А.Г., Михайлова Н.В. «Методы криптоанализа классических шифров». - Москва, 1999. -240с.
5. Салома А. «Криптография с открытым ключом». - Москва.: Просвещение, 1997. -350с.
6. Чмора А.Л. «Современная прикладная криптография». 2-е изд.,2001.-300с.
Размещено на Allbest.ru
...Подобные документы
Понятие и история развития криптографии как науки, предмет и методы ее исследования. Существующие шифры и закономерности процесса шифрования. Сравнительное описание шифров Плейфера и Тритемиуса, условия и анализ примеров их применения на практике.
курсовая работа [66,2 K], добавлен 07.05.2016Общие характеристики алгоритмов стандартов шифрования РФ и США. Особенности архитектурных принципов. Сравнение раундов шифрования. Эквивалентность прямого и обратного преобразований. Выработка ключевых элементов. Характеристики стойкости алгоритмов.
курсовая работа [311,4 K], добавлен 25.12.2014Методы решения задачи коммивояжера. Математическая модель задачи коммивояжера. Алгоритм Литтла для нахождения минимального гамильтонова контура для графа с n вершинами. Решение задачи коммивояжера с помощью алгоритма Крускала и "деревянного" алгоритма.
курсовая работа [118,7 K], добавлен 30.04.2011Ненулевые элементы поля. Таблица логарифма Якоби. Матрица системы линейных уравнений. Перепроверка по методу Евклида. Формула быстрого возведения. Определение матрицы методом Гаусса. Собственные значений матрицы. Координаты собственного вектора.
контрольная работа [192,1 K], добавлен 20.12.2012Алгоритм Миллера-Рабина и малая теорема Ферма. Псевдопростые числа, тест на простоту. Криптографический алгоритм шифрования с открытым ключом и цифровой подписью. Создание открытого и секретного ключей. Режим подписи сообщения и способы ее проверки.
реферат [65,1 K], добавлен 12.12.2009Метод замены переменной при решении задач. Тригонометрическая подстановка. Решение уравнений. Решение систем. Доказательство неравенств. Преподавание темы "Применение тригонометрической подстановки для решения алгебраических задач".
дипломная работа [461,7 K], добавлен 08.08.2007Особенность метода Остроградского. Процесс вычисления производных и нахождения интегралов различных функций. Алгоритм Евклида. Интегрирование биноминальных дифференциалов. Тригонометрические и гиперболические подстановки. Основные виды рациональностей.
курсовая работа [916,8 K], добавлен 06.11.2014История возникновения и развития математической логики как раздела математики, изучающего математические обозначения и формальные системы. Применение математической логики в технике и криптографии. Взаимосвязь программирования и математической логики.
контрольная работа [50,4 K], добавлен 10.10.2014Первообразный и неопределенный интеграл. Некоторые свойства неопределенного интеграла. Интегрирование методом замены переменой, способом подстановки, по частям. Интегрирование рациональных дробей. Простейшие рациональные дроби и их интегрирование.
курсовая работа [187,8 K], добавлен 26.09.2014Теоретические основы метода отсечения, его назначение и функции в решении задач целочисленного линейного программирования. Сущность и практическая реализация первого и второго алгоритма Гомори. Применение алгоритма Дальтона, Ллевелина и Данцига.
курсовая работа [208,1 K], добавлен 12.10.2009Важная роль простых чисел (ПЧ) в криптографии, генерации случайных чисел, навигации, имитационном моделировании. Необходимость закономерности распределения ПЧ в ряду натуральных чисел. Цель: найти закономерность среди ПЧ + СЧ, а потом закономерность среди
доклад [217,0 K], добавлен 21.01.2009Непосредственное (элементарное) интегрирование, вычисление интегралов с помощью основных свойств неопределенного интеграла и таблицы интегралов. Метод замены переменной (метод подстановки). Интегрирование по частям, определение точности интегралов.
презентация [117,8 K], добавлен 18.09.2013Форма для ввода целевой функции и ограничений. Характеристика симплекс-метода. Процесс решения задачи линейного программирования. Математическое описание алгоритма симплекс-метода. Решение задачи ручным способом. Описание схемы алгоритма программы.
контрольная работа [66,3 K], добавлен 06.04.2012Четыре основные задачи, решаемые методами преобразования. Сущность способа замены плоскостей проекций. Решение ряда задач по преобразованию прямой общего положения в прямую уровня, а затем - в проецирующую, выполнив последовательно два преобразования.
реферат [185,5 K], добавлен 17.10.2010Основные определения. Алгоритм решения. Неравенства с параметрами. Основные определения. Алгоритм решения. Это всего лишь один из алгоритмов решения неравенств с параметрами, с использованием системы координат хОа.
курсовая работа [124,0 K], добавлен 11.12.2002Постановка задачи коммивояжера и основные алгоритмы решения. Маршруты и пути. Понятия транспортной сети. Понятие увеличивающая дуга, цепь, разрез. Алгоритм Флойда-Уоршелл. Решение задачи аналитическим методом. Создание приложения для решения задачи.
курсовая работа [541,3 K], добавлен 08.10.2015Основные понятия теории графов. Матричные способы задания графов. Выбор алгоритма Форда–Бэллмана для решения задачи поиска минимальных путей (маршрутов) в любую достижимую вершину нагруженного орграфа. Способы выделения пути с наименьшим числом дуг.
курсовая работа [109,1 K], добавлен 22.01.2016Суть задачи коммивояжера, ее применение. Общая характеристика методов ее решения: метод полного перебора, "жадные" методы, генетические алгоритмы и их обобщения. Особенности метода ветвей и границ и определение наиболее оптимального решения задачи.
курсовая работа [393,2 K], добавлен 18.06.2011Понятие генетического алгоритма и механизм минимизации функции многих переменных. Построение графика функции и ее оптимизация. Исследование зависимости решения от вида функции отбора родителей для кроссинговера и мутации потомков, анализ результатов.
контрольная работа [404,7 K], добавлен 04.05.2015Изучение нестандартных методов решения задач по математике, имеющих широкое распространение. Анализ метода функциональной, тригонометрической подстановки, методов, основанных на применении численных неравенств. Решение симметрических систем уравнений.
курсовая работа [638,6 K], добавлен 14.02.2010