ИНДИВИДУАЛЬНЫЙ ПРОЕКТ по дисциплине «Математика: алгебра и начала анализа; геометрия» Тема: «Тайны за семью печатями (о шифровании и криптологии)»


Государственное бюджетное профессиональное образовательное учреждение
Краснодарского края
«АРМАВИРСКИЙ МАШИНОСТРОИТЕЛЬНЫЙ ТЕХНИКУМ»
-60325328930ИНДИВИДУАЛЬНЫЙ ПРОЕКТ
по дисциплине «Математика: алгебра и начала анализа; геометрия»
Тема: «Тайны за семью печатями
(о шифровании и криптологии)»
00ИНДИВИДУАЛЬНЫЙ ПРОЕКТ
по дисциплине «Математика: алгебра и начала анализа; геометрия»
Тема: «Тайны за семью печатями
(о шифровании и криптологии)»

2198370297180Обучающийся: Пак Роман Леонидович
Специальность: 09.02.03 «Программирование в компьютерных системах»
Группа: 1 ПКС – 1
Руководитель: Беляева Татьяна Юрьевна
00Обучающийся: Пак Роман Леонидович
Специальность: 09.02.03 «Программирование в компьютерных системах»
Группа: 1 ПКС – 1
Руководитель: Беляева Татьяна Юрьевна


Содержание
Введение……………………………………………………… 3
1. История вопроса……………………………………………….. 4
2. Криптография и криптоанализ………………………………... 5
3. Надежность криптографического алгоритма………………… 6
4. Надежность криптосистемы………………………………… 7
5. Инструменты криптоанализа…………………………….......... 9
6. Примеры наиболее известных шифров……………………… 10
7. Пример самостоятельно созданного шифра………………… 13
8. Заключение…………………………………………………….. 15
9. Список используемой литературы…………………………… 16

Введение
Данный проект носит информационно-познавательный характер. Он посвящен такой науке как криптология, которая занимается шифровкой и дешифровкой всевозможных данных.
Выбор темы обусловлен повышенным интересом в данной области, так как последние десятилетия практически каждый человек пользуется Интернетом, производит обмен данными, и наука о защите этих данных становится все более и более актуальной, ведь никому не хочется, чтобы его личные данные попали в общий доступ.
Задачи данного проекта:
- изучить механизм шифровки/дешифровки данных;
- найти более надежные способы защиты информации;
- познакомиться с основными понятиями, заложенными в криптологии;
- систематизировать общие знания о криптологии;
- проанализировать и сравнить некоторые из видов шифрования;
- создать простейший алгоритм шифрования.
В проекте использован метод систематизации и обработки данных, в том числе: анализ учебной, справочной, энциклопедической, познавательной, научно-популярной и занимательной литературы.

1. История вопроса
О важности сохранения информации в тайне знали уже в древние времена, когда с появлением письменности появилась и опасность прочтения ее нежелательными лицами. Более того, первоначально письменность сама по себе была криптографической системой, так как в древних обществах ею владели только избранные. С широким распространением письменности криптография стала формироваться как самостоятельная наука. В документах древних цивилизаций - Индии, Египта, Месопотамии - есть сведения о системах и способах составления шифрованных писем.
Точное время возникновения этих способов обмена тайной информацией теряется в глубине веков, и установить его невозможно. Историки полагают, что первые протокриптографические приемы появились в Древнем Египте около 4 тыс. лет назад. Писцы, составлявшие жизнеописания правителей, стремились придать стандартным иероглифам необычный вид на монументах и гробницах, чтобы сообщить надписям менее обыденный и более почтительный стиль. Жрецы пользовались этим же приемом при переписывании религиозных текстов, чтобы те выглядели для мирян загадочнее и внушительнее. Такие «переводы» становились все менее понятными простому люду, который в результате оказывался во все большей зависимости от жрецов.
По мере развития египетской цивилизации ширилось использование иероглифов. С увеличением количества надписей, высекавшихся на стенах храмов, люди теряли к ним интерес. Египтологи считают, что писцы тогда стали еще больше видоизменять некоторые знаки в стремлении пробудить любопытство и привлечь внимание населения. Эти модификации никоим образом не были кодами или шифрами, но они заключали в себе два основных принципа криптологии, а именно: изменение письма и сокрытие его смысла. Бесспорных доказательств, указывающих на широкое использование модификаций иероглифов для сокрытия дипломатических, торговых или военных планов в Древнем Египте, нет.
Более явные криптологические примеры дошли до нас от цивилизаций Месопотамии — от вавилонян, ассирийцев, халдеев, использовавших особую систему письма — клинопись. В 1500 г. до н. э. на глиняной табличке был записан тщательно охраняемый рецепт глазури для гончарных изделий. Знаки, определяющие необходимые ингредиенты, были намеренно перемешаны. Таким образом, мы имеем право утверждать, что эта табличка является самой ранней известной секретной записью.
Примерно с 500 г. до н. э. в Индии также широко применялись секретные записи, в частности в донесениях шпионов и текстах, предположительно использовавшихся Буддой. Методы засекречивания включали в себя фонетическую замену, когда согласные и гласные менялись местами, использование перевернутых букв и запись текста под случайными углами. Различные индийские трактаты, ярким примером которых является «Артхашастра» (около 321—300 гг. до н. э.), показывают, что индийцы были хорошо знакомы со способами сокрытия информации.
2. Криптография и криптоанализВ криптологии существует два направления: криптография, обеспечивающая секретность шифров и криптоанализ, направленный на дешифровку закодированной системы. Криптограф работает с открытым текстом (исходное сообщение), зашифровывая его в криптограмму. При шифровании требуется секретный ключ, который позволяет криптографу зашифровать исходное сообщение, а адресату его в дальнейшем расшифровать.
Согласно правилу Керкхоффа, механизм шифрования и текст криптограммы известны криптоаналитику, неизвестен только секретный ключ, который и обеспечивает стойкость шифра. Если же криптоаналитик знает часть исходного сообщения и соответствующую ему часть криптограммы, то на основе этих данных, он может воссоздать секретный ключ, таким образом расшифровать шифртекст. Если криптограф допускает такую возможность, то нужно создать такую систему, которая будет стойкой при криптоанализе и на основе шифрованного текста и на основе открытого. Большинство современных криптографов стремятся создать более сложный шифр, стойкий к анализу на основе как шифртекста, так и открытого текста.
3. Надежность криптографического алгоритма
Криптология – «исключительный» раздел науки. Все чаще об этой науке пишут не только в научной и научно-популярной литературе, но и в обычной прессе. В последние года за границей наблюдается неслыханное оживление касаемо криптологии. Это объясняется тем, что достижения этой науки применяются не только в узкоспециализированных сферах научного развития, но и в жизни обывателей.
Мы живем в век информационных технологий, когда большей властью обладает тот, кто имеет наибольшее количество ценной информации. И если раньше защита информации была прерогативой специальных секретных служб, то сейчас, когда большинство людей являются пользователями интернета, необходимость обезопасить информацию стала всеобщей необходимостью, кроме того раньше информация передавалась на физических носителях, преимущественно бумаге, теперь же, когда информация лишилась своего физического воплощения и стала передаваться с помощью цифр, стала еще более актуальней проблема нарушения авторских прав, таким образом, криптология призвана обеспечить не только конфидециальность и секретность информации, но и ее целостность и подлинность. В наше время, когда в интернет-магазине можно приобрести продукт интеллектуального, творческого труда(музыкальный альбом или книгу), криптология должна обеспечить и разноуровневый доступ к информации: в зависимости от того, оплатил ли пользователь покупку, он получает доступ к нему. Еще более важный вопрос – проблема компьютерного терроризма, особенно актуально это для крупных компаний, банков и тд. Все вышеперечисленное и делает криптологию одной из самых необходимых, активно развивающихся сфер нашей жизни.
Сложность работы систем и средств защиты информации (СЗИ) заключается в том, что невозможно проверить степень защиты информации, поскольку нет простых алгоритмов, позволяющих убедиться в их надежности. Кроме того, работоспособность основной системы (например, системы связи) и работоспособности встроенной в нее подсистемы СЗИ не зависят друг от друга. Вообще, зачастую определить эффективность работы системы и средств защиты информации гораздо труднее, чем разработать эту систему. Эта задача требует наличия более глубоких знаний и большего опыта работы в данной сфере. Анализ эффективности - это скорее не инженерная, практическая задача, а научная, теоритическая. И на самом деле это большая проблема, поскольку не только потребитель, но и даже специалист в области криптологии не может определить эффективность представленных на рынке средств защиты информации. Разработчики криптоалгоритмов естественно знают механизм их построения и это уже делает средство криптографической защиты не столь безопасным и надежным, поэтому пользователи системы защиты информации в определенном смысле зависят от разработчиков криптоалгоритмов.
4. Надежность криптосистемы
Надежность криптосистемы – это ее способность охранять данные от атак криптоаналитика. Надежность высчитывается как сложность лучшего алгоритма, дающего криптоаналитику шанс на успех с возможной вероятностью. Надежность меняется в зависимости от того, чего хочет добиться криптоаналитик и какие возможности он имеет. Различают:
- надежность ключа (возможность раскрытия лучшим найденным алгоритмом);
- надежность бесключевого чтения;
- имитостойкость (возможность навязывания лживой информации лучшим найденным алгоритмом);
- вероятность навязывания лживой информации.
Часто эти понятия не совершенно сходятся по смыслу друг с другом. Существуют криптосистемы, такие как RSA, позволяющие навязывать неверную информацию со сложностью, которая лишь частично зависит от надежности ключа. Так же возможно различение надежности криптоалгоритма, протокола, алгоритма генерации и распространения ключей.
Уровень надежности криптосистемы зависит от возможностей как криптоаналитика, так и от пользователя. Таким образом, распознают криптоанализ на базе только зашифрованного текста, когда криптоаналитик имеет только набор шифрограмм и не имеет представления об открытых текстах, и криптоанализ на базе открытого текста, когда криптоаналитик располагает и открытым текстом, и соответствующим зашифрованным текстом.
Чтобы криптоалгоритм был в достаточной мере универсальным, к нему предоставляют требование – стойкость ключа не должна зависеть от возможного распределения источника информации. В ряде случаев источник информации может вырабатывать «подходящие» для нарушителя сообщения, которые станут ему известными. В таких случаях говорят о криптоанализе на базе доступных тектов, а она, в свою очередь, не должна превышать надежности относительно к анализу на базе зашифрованных текстов. Время от времени разработчики СЗИ допускают, что криптоаналитик противника может иметь открытый доступ к криптосистеме.
Чаще всего криптоалгоритмы разрабатывают таким образом, чтобы они были стойкими относительно к криптоанализу на базе намеренно выбранных доступных текстов.
Понятие «лучшего алгоритма» распознания ключа в определенной стойкости является субъективным понятием и не применимо к данной системе, так как для кого-то лучшим алгоритмом может стать незатейный перебор ключей.
В настоящее время ни для одного из многих криптоалгоритмов не найден наилучший алгоритм распознания ключа, таким образом задача нахождения лучшего алгоритма предстает одной из самых сложных задач.
Из вышесказанного можно сделать вывод, что понятие «наилучшего известного» алгоритма не постоянно: в любой момент может появиться новый, усовершенствованный и более качественный алгоритм распознания, который приведет к значительному снижению надежности криптоалгоритма. С развитием таких наук, как математика, статистика, появлением новейшей вычислительной техники, надежность криптоалгоритма стремительно уменьшается. Для уменьшения урона, обусловленного неподходящей заменой криптоалгоритма, утратившего свою надежность и стойкость, рекомендательна перепроверка надежности с периодичной последовательностью.
Тем самым, разумно утверждение, что понятие надежности криптосистемы весьма многогранно. Надежность зависит не только от разработчика, но и от специфики использования данного алгоритма в системе организации или связи, от физической реализации криптоалгоритма, от последующих успехов математики и вычислительной техники.
5. Инструменты криптоанализаПри анализе шифров используются многообразные математические инструменты. Но фактически присутствуют общепринятые принципы решения трудоемких задач.
При решении задачи на вычисление ключа рекомендуется переформулировать ее как задачу нахождения внутри огромного множества М элемента т, наделенного требующими свойствами. “Разделяй и властвуй” – именно такое название получил подход к решению этой задачи, смысл его – разделить изначальную сложную задачу на несколько более простых подзадач и решать их отдельно. Первый шаг этого подхода – поиск подмножества, содержащего искомый элемент (решается первая подзадача), далее выполняется поиск требуемого элемента внутри уже найденного подмножества, таким образом выполняется решение второй подзадачи. Этот алгоритм может повторяться неограниченное количество раз. Отличный пример такого подхода к решению задачи – игра, суть которой заключается в угадывании одного игрока слова из энциклопедии, загаданным другим игроком. Этот подход используется так же и при анализе шифров. Без сомнений, для каждого криптоалгоритма применение этого подхода требует абсолютной индивидуальности, объясняемой спецификой каждого криптоалгоритма.
Еще один мощный подход к решению вычислительных задач состоит в том, что множество М упорядочивается в порядке уменьшения вероятности того, что найденный элемент имеет нужное свойство. После выполняется диагностика элементов М, начиная с наиболее вероятных. Данный подход реализован в дифференциальном методе анализа. Если же вероятности расположены ощутимо неравномерно, то получается существенный выигрыш в сложности. Также допустима ситуация, в которой вероятности формируют геометрическую прогрессию, тогда трудность поиска нужного элемента является линейной от объема задачи (логарифма эффективности исходного множества).
На самом деле методов решения вычислительных задач существует огромное множество, и будет несправедливо не сказать о том, что по мере создания новейших способов вычисления становится все сложнее и сложнее сформировать такой шифр, безопасность которого будет универсальна, то есть эффективна относительно каждого способа решения этого шифра. Подытожив, можно вынести вывод: вражеский криптоаналитик стремится создать универсальный и эффектный метод для взлома системы, что является не совсем простой задачей, в свою очередь союзный криптоаналитик должен периодически проверять безопасность своего шифра при помощи новейших инструментов и обеспечить поддержание уровня защиты, что предстает еще более сложной задачей.
6. Примеры наиболее известных шифров
Шифр Цезаря является одним из самых легких методов подстановки или замены.
Предположим, что нам необходимо зашифровать предложение: «Идем на север». Шифр Цезаря заключается в замене каждой буквы доступного текста буквами этого же алфавита, но расположенными на определенное число позиций вперед, допустим две позиции, тогда мы получим предложение: «Лёжо пв ужджт». Если использовать смещение на 5 позиций, то получится предложение: «Оикс те цкжкх».
В данном шифре ключ будет представлять собой количество позиций между буквами, т.е. число ключей малое количество (столько же, сколько и букв в алфавите). Криптоаналитику противника не составит труда взломать эту шифрограмму перебором всевозможных ключей.
Ключ к шифру можно усложнить, использовав, к примеру, алфавит другого языка, дополнительные знаки, введя числа и т.д.
Шифр Виженера состоит из последовательности нескольких шифров Цезаря с различными значениями сдвига. Для зашифровывания может использоваться таблица алфавитов, называемая квадратом Виженера. Применительно к русскому алфавиту таблица Виженера составляется из строк по 32 символа, причем каждая следующая строка сдвигается на несколько позиций. Таким образом, в таблице получается 32 различных шифров Цезаря.
Если взять весь русский алфавит плюс пробел (34 символа в итоге), то квадрат будет 34×34.
Зашифруем текст «Мы за Родину». 
Пусть ключевым словом является слово «бег». Ключевое слово записывается циклически до тех пор, пока его длина не будет соответствовать длине исходного текста.
Сначала текущий символ ключа - Б (сдвиг 1), потому М сдвигаем на 1 и получаем Н. Потом берем символ ключа Е (сдвиг 5) и применяем к Ы (символ номер 28, если А считать нулевым), (28 + 5) mod 34 = 33, то есть получаем пробел. Теперь на очереди символ ключа Г (сдвиг 3), шифруем пробел (номер 33): (33 + 3) mod 34 = 2, то есть это В, ибо А имеет номер 0. Далее опять переходим к началу ключа, то есть Б (сдвиг 1). Шифруем З, меняя на следующую букву (так как сдвиг = 1). В итоге получаем И. И так далее.
Алфавит: АБВ...ЕЁЖ...Я_
Открытый текст М Ы _ З А _ Р О Д И Н У
Применение ключа Б Е Г Б Е Г Б Е Г Б Е Г
Сдвиг 1 5 3 1 5 3 1 5 3 1 5 3
Шифрованный текст Н _ В И Е В С У Ж Й Т Ц
Если использовать большой квадрат Виженера, включающий пунктуацию и пробелы, шифр будет сложнее расшифровать, особенно если «ключевое слово» или «ключевая фраза» длиннее, чем сообщение.
Рассмотрим еще один шифр простой замены. Шифр Атбаш изначально был придуман для ивритского алфавита древними евреями. Суть шифра состоит в следующем: если символ шифруемого текста i-ый в алфавите, если считать с начала алфавита, он заменяется символом, i-ым с конца алфавита. Сейчас шифром Атбаш называется шифр, который работает по такому правилу с каким-либо алфавитом, не важно, каким именно. 
Например, русский алфавит:
А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я
Я Ю Э Ь Ы Ъ Щ Ш Ч Ц Х Ф У Т С Р П О Н М Л К Й И З Ж Ё Е Д Г В Б А
Шифр Атбаш является шифром без ключа, то есть ведет замену символов всегда одинаково при заданном алфавите. Это значит, что требуется исключить знание противником, что используется именно этот шифр, иначе даже вручную зашифрованный текст быстро прочитывается.
7. Пример самостоятельно созданного шифра
Попробуем составить собственный шифр на основе шифра Цезаря, усложнив его до неузнаваемости. Для этого составим таблицу, содержащую все буквы исходного текста и соответствующие этим буквам числа.
Например:
Б Г Д Е И Л М Н Ы
31 78 21 51 19 41 97 48 54
57 24 96 32 13 68 25 79 95
85 64 53 42 75 92 73 63 86
91 69 35 46 87 26 27 12 47
После создания таблицы, определим алгоритм шифрования:
- шифровка начинается с первой буквы, для которой соответствует первое число из таблицы, относящееся к этой букве;
- все последующие буквы будут обозначаться числом, относящимся к этой букве, но на одну позицию ниже;
- действия с числами будут иметь циклический характер, то есть после четвертого числового значения для данной буквы, для следующей буквы будет использоваться первое числовое значение;
- отступ между числовыми значениями будет обозначаться знаком «-»;
- отступ между словами будет обозначаться цифрой 0.
Допустим, нам необходимо зашифровать сообщение:
Где бы ни были мы
В результате применения алгоритма и таблицы, получим следующее:
78-96-42-0-91-54-0-79-75-0-91-54-68-75-0-27-54
Таким образом, каждое число зашифрованного текста соответствует определенной букве из таблицы. Чтобы расшифровать это сообщение криптоаналитику потребуется больше усилий, нежели при расшифровке зашифрованного текста путем применения шифра Цезаря. Обосновано это тем, что ключ этого шифра состоит из нескольких частей, доступных только для нас – это и таблица, и алгоритм шифровки, и условия шифрования, и все это нужно криптоаналитику для расшифровки текста.

Заключение
Приступая к работе, была поставлена задача: ознакомиться с основными понятиями криптологии и изучить механизм шифровки/дешифровки данных.
Для достижения целей были:
- изучены учебная, справочная и познавательная литература, а также интернет-ресурсы;
- разобраны основные виды шифров;
- систематизированы сведения по данной тематике.
Проект позволил научиться шифровать простейшие тексты и расшифровывать их.
В ходе выполнения проекта был создан простейший алгоритм шифрования.

Список используемой литературы
Златопольский Д.М. Простейшие методы шифрования текста. /Д.М. Златопольский - М.: Чистые пруды, 2007
Молдовян А. Криптография. /А. Молдовян, Н.А. Молдовян, Б.Я. Советов - СПб: Лань, 2001
С.Г. Баричев, В.В. Гончаров, Р.Е. Серов Основы современной криптографии

Приложенные файлы

  • docx file37
    Размер файла: 128 kB Загрузок: 3