Uploaded by shulga.ivan.dm

Введение в криптографию

advertisement
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ КАЗЕННОЕ ОБЩЕОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ
«ТЮМЕНСКОЕ ПРЕЗИДЕНТСКОЕ КАДЕТСКОЕ УЧИЛИЩЕ»
ВВЕДЕНИЕ В КРИПТОГРАФИЮ
Автор: Шульга Иван, кадет 11 В класса
Руководитель: Яцукова К.А.,
преподаватель математики
Тюмень, 2021г.
Цель: изучить применение основ математики (алгебры) в криптографии, познакомить
со способами передачи информации зашифрованным путём.
Задачи проекта:
1.
2.
3.
4.
5.
изучить историю криптографии;
познакомиться с разными видами шифров;
рассмотреть способы шифрования, применяющие математику;
рассмотреть примеры на шифровку и дешифровку текста;
анализ и систематизация материала, представление в виде информационной статьи
Вопросы проекта:
1. Выяснить, что включают в себя понятия «криптология» и «криптография»
2. Какие математические понятия используются при шифровании информации?
3. Какие исторические личности и события связаны с шифрами?
Проект актуален учащимся 10 и 11 класса, представляет собой изучение истории
криптографии, знакомит с разными видами шифров, рассматривает основные способы
шифрования, применяющие математику, и приводит примеры на шифровку и
дешифровку текста.
Оглавление:
1. Введение в криптографию.
2. Теория.
3. Шифры замены.
4. Шифр маршрутной перестановки (с пояснением)
5. Шифр цезаря (с пояснением)
6. Пример дешифровки шифра Цезаря.
7. Шифр Плейфера (с пояснением)
8. Шифр Виженера (с пояснением)
9. Шифр перестановки столбцов (с пояснением)
10.Заключение
11.Список использованной литератур
Примерный
срок
сентябрь
октябрь
ноябрь
декабрь
январь
Этап работы
Определение сферы и темы: математика и информатика, а также
выбор руководителя: К.А. Яцукова
Постановка цели и задачи проекта, написание введения
Работа над источниками информации, сбор данных
Описание теоретической части проекта
Формирование общего текста и картинок исследовательской работы
в соответствии со структурой
февраль
март
апрель
Создание оглавления, оформление работы
Корректировка текста работы с учётом замечаний, предложений
Окончательное оформление работы, защита проекта на школьной
конференции
Введение
В данной работе описываются виды шифров, методы их применения на практике, а
также история криптографии и криптологии. Вместе с тем, приведены примеры на
шифровку текста всеми видами представленных шифров. Возможность и умение
использовать знания о математике и ее роли в шифровании в частности, поможет людям
начать меньше беспокоиться за сохранность важных данных. Кроме того, применение
подобных знаний помогает в развитии логического мышления и приобретения навыков
исследовательской деятельности.
Еще в древние времена, люди начали задумываться над тем, как донести сообщение до
определенного человека, исключив из этого процесса посторонних. Именно тогда
начали зарождаться науки «криптография» и «криптология».
Криптография — научная и практическая деятельность, связанная с разработкой
криптографических средств защиты информации, а также анализом и обоснованием их
криптографической стойкости. Проще говоря, криптография занимается шифрованием
сообщений.
Криптоанализ — научная и практическая деятельность по исследованию
криптографических алгоритмов с целью получения обоснованных оценок их
криптографической стойкости.
Стеганография - способ передачи или хранения информации с учётом сохранения
в тайне самого факта такой передачи (или хранения). Дословно стеганография
расшифровывается как тайнопись.
Заметим, что криптография не старается скрыть факт передачи сообщений, а
стеганография их не шифрует.
Шифр замены
Шифры замены – это, как несложно понять, шифр, в котором одни символы
заменяются на другие по какому-то правилу. При этом, они могут заменяться на
символы этого же алфавита, или же символы другого алфавита. Могут заменяться по
одиночке (поточные) и группами (блочные, или n-арные). Пары символов могут
заменяться на единичные символы, тройки могут заменяться на последовательность
битов, столбцы таблиц открытого текста могут заменяться на буквы шумерского языка
– вариантов очень много.
Самый известный шифр – это шифр простой замены. В таком шифре каждая буква
алфавита заменяется на какой-то другой символ (например, на пляшущих человечков,
как было в рассказе про Шерлока Холмса «Пляшущие человечки»). Ключом к такому
шифру является таблица, в которой указано, чем заменяется каждая буква алфавита. Как
правило, состоит из двух строк – в первой записаны буквы алфавита, а во второй – их
новые обозначения (так называемая таблица замены). При этом повторяющихся
символов в таблице быть не должно, иначе нельзя будет расшифровать текст
единственным образом.
Шифр маршрутной перестановки
Широкое распространение получили шифры перестановки, использующие некоторую
геометрическую фигуру. Преобразования из этого шифра состоят в том, что в фигуру
исходный текст вписывается по ходу одного «маршрута», а затем по ходу другого
выписывается с нее. Такой шифр называют маршрутной перестановкой.
Например, можно вписывать исходное сообщение в прямоугольную таблицу, выбрав
такой маршрут: по горизонтали, начиная с левого верхнего угла, поочередно слева
направо и справа налево. Выписывать же сообщение будем по другому маршруту: по
вертикали, начиная с верхнего левого угла и двигаясь поочередно сверху вниз и снизувверх.
В данную категорию попадает несколько однотипных шифров. Мы же рассмотрим
один из них.
Открытым текстом в нашем примере будет: «пример маршрутной перестановки».
Ключом данного шифра являются два числа, например, «6» и «5». После чего
строится прямоугольная таблица, которая состоит из 6 строк и 5 столбцов, после чего в
нее слева направо сверху вниз (по строкам) записывается открытый текст.
п
Р
и
м
е
р
М
а
р
ш
р
У
т
н
о
й
П
е
р
е
с
Т
а
н
о
в
К
и
*
*
После чего текст выписывается сверху вниз слева направо (по столбцам):
«пррйсврмупткиатеаимрнрн*ешоео*» - шифртекст
Потеря пробелов между словами, как правило, несущественна. Если же сохранить
пробелы необходимо, то можно использовать пробел как еще одну букву алфавита.
Пустые клетки для простоты будем заменять звездочками.
Заметим, что этот шифр шифрует не посимвольно, а блоками по 30 символов.
Поэтому, если требуется зашифровать текст длиннее, он разбивается на блоки. Поэтому
этот шифр будет блочным.
Прилагательное «маршрутная» говорит нам, что в данном классе шифров
задействован какой-то маршрут. Действительно, в данном случае под маршрутом
понимается, в каком порядке мы будем выписывать символы из таблицы на этапе
шифрования и дешифрования. Заметим, что маршрут является частью алгоритма, а не
ключа.
Зная ключ, т.е. размер таблицы, исходное сообщение восстановить очень просто –
достаточно внести буквы шифртекста обратно в таблицу и выписать их в правильном
порядке.
Шифр Цезаря
Гай Юлий Цезарь (100 или 102 до н. э. – 44 до н. э.) – древнеримский государственный
и политический деятель, диктатор, полководец, писатель. Хотя Цезарь был первым
зафиксированным человеком, использующим эту схему, другие шифры подстановки,
как известно, использовались и ранее. Его племянник, Август, также использовал этот
шифр, но со сдвигом вправо на один, и он не повторялся к началу алфавита.
Итак, нам нужно зашифровать некоторое сообщение, например
«Мама мыла раму».
Для этого, мы берем некоторое число от 1 до 32, после чего «сдвигаем» буквы
нашего сообщения по алфавиту на это число по кругу ( «а» превращается в «б», «б»
превращается в «в» и т.д., «я» превращается в «а», потому как является последней
буквой).
Например, если выбранное число «2», то шифрование сообщения выглядит
следующим образом:
М ->О
А ->В
А -> В М ->О
М -> О
А -> В
М -> О
Ы -> Э
Л -> Н
А -> В
Р -> Т
У -> Х
Тогда, зашифрованное сообщение будет выглядеть так:
«Овов оэнв твох»
Вспомним введенные ранее термины:
«Мама мыла раму» - открытый текст
«Овов оэнв твох» - шифртекст
«2» - ключ
Несложно понять, каким образом, зная ключ, получатель может расшифровать
сообщение – для этого нужно просто сдвинуть буквы в обратную сторону на значение
ключа.
Заметим, что Шифр Цезаря шифрует посимвольно, поэтому является поточным
шифром.
Пример дешифровки шифра Цезаря.
Допустим, дана задача расшифровать латинскую пословицу. При этом, известно, что
был произведен сдвиг на 5.
Зашифрованная пословица выглядит так:
XN ANX UFHJR, UFWF GJQQZR
Зашифрованный алфавит: «FGHIJKLMNOPQRSTUVWXYZABCDE»
Исходный алфавит: «ABCDEFGHIJKLMNOPQRSTUVWXYZ»
Если заменить каждую букву зашифрованного текста на соответствующую ему букву
алфавита со сдвигом -5, то получим:
SI VIS PACEM, PARA BELLUM
Что значит: «Хочешь мира, готовься к войне».
Шифр Плейфера
Классический шифр Плейфера предполагает в основе матрицу 5х5, заполненную
символами латинского алфавита (i и j пишутся в одну клетку), кодовое слово и
дальнейшую
манипуляцию
над
ними.
Пусть кодовым словом (ключом) у нас будет «HELLO». Уберем из этого слова
повторяющиеся буквы, после чего запишем слово в начало таблицы. Затем выпишем в
таблицу все остальные не использованные буквы алфавита.
Теперь
возьмем
любое
сообщение.
Например,
«I
LOVE
YOU».
Разобьем его на пары символов, не учитывая пробелы.
«IL OV EY OU»
Если бы сообщение было из нечетного количества символов, или в паре были бы
два одинаковых символа (LL, например), то на место недостающего или
повторившегося символа ставился бы символ X.
Шифрование выполняется по нескольким несложным правилам:
1) Если символы в паре находятся в матрице на одной строке — смещаем их вправо
на одну позицию. Если символ был крайним в ряду — он становится первым.
2) Если символы в паре находятся в одном столбце, то они смещаются на одну
позицию вниз. Если символ находился в самом низу столбца, то он принимает значение
самого верхнего.
3) Если символы не находятся ни на одной строке, ни на одном столбце, то строим
прямоугольник, где наши символы — края диагонали. И меняем углы местами.
Осуществим шифрование:
Пара «IL» - символы находятся в разных строках и столбцах, поэтому строится
прямоугольник, в противоположных вершинах которого находятся символы «I» и «L».
Значит «IL» заменяется на «HM»
Аналогично с остальными парами:
«IL» ->«HM»
«OV» -> «HY»
«EY» -> «WO»
«OU» -> «TA»
Следовательно, результатом шифрования будет:
«HMHYWOTA» - пробелы убираем
Заметим, что этот шифр тоже является блочным – каждый блок состоит из двух
символов.
Шифры
с
короткими
блоками
принято
называть
n-граммными (в нашем случае – биграммными), где n- длинна блока в символах.
Понятно, что в качестве способа записи алфавита в таблицу можно предложить
какой-нибудь другой (например, в качестве ключа использовать не слово, а
последовательность из 25 чисел – каждое число обозначает букву в латинском алфавите,
а порядок записи чисел – это порядок букв алфавита, в котором они будут записаны в
таблицу)
Шифр Виженера
Этот шифр является одним из самых известных шифров за всю историю. Этот шифр
является шифром гаммирования.
Сперва возьмем какой-нибудь открытый текст:
«Карл у Клары украл кораллы»
Теперь представим каждую букву ее номером в алфавите – от 0 до 32.
к а р л у к л а р ы у к р а л к о р а л л ы
11 0 17 12 20 11 12 0 17 28 20 11 17 0 12 11 15 17 0 12 12 28
Гаммой (ключом) будет слово «Кларнет»
к
11
л
12
А
0
р
17
н
14
е
5
т
19
Теперь запишем числовую гамму под открытым текстом несколько раз:
к
1
1
1
1
к
а
0
1
2
л
р
1
7
0
а
л
1
2
1
7
р
у
2
0
1
4
н
к
1
1
5
е
л
1
2
1
9
т
а
0
1
1
к
р
1
7
1
2
л
ы
2
8
0
а
у
2
0
1
7
р
к
1
1
1
4
н
р
1
7
5
е
а
0
1
9
т
л
1
2
1
1
к
к
1
1
1
2
л
о
1
5
0
а
р
1
7
1
7
р
а
0
1
4
н
л
1
2
5
е
л
1
2
1
9
т
ы
2
8
1
1
К
Теперь сложим по модулю 33 вторую и третью строчки, после чего получившиеся числа
заменим соответствующими буквами алфавита (от 0 до 32):
11 0
1
1
2
2
х
1
2
1
2
л
1
7
0
1
7
р
1
2
1
7
2
9
ь
2
0
1
4
1
б
1
1
5
1
6
п
1
2
1
9
3
1
ю
0
1
1
1
1
к
1
7
1
2
2
9
ь
2
8
0
2
8
ы
2
0
1
7
4
д
1
1
1
4
2
5
ш
1
7
5
2
2
х
0
1
9
1
9
т
1
2
1
1
2
3
ц
1
1
1
2
2
3
ц
1
5
0
1
5
о
1
7
1
7
1
б
0
1
4
1
4
н
1
2
5
1
7
р
1
2
1
9
3
1
ю
2
8
1
1
6
Ё
Таким образом, шифртекстом будет «хлрьбпюкьыдшхтццобнрюё»
Для расшифрования нужно просто произвести обратную процедуру – из
шифртекста вычесть по модулю гамму ключа, получив номера открытого текста.
Шифр перестановки столбцов
Данный шифр очень прост в эксплуатации и понимании.
Ключом является последовательность из n чисел от 1 до n
Возьмем, например, (2 5 3 1 4)
Далее, рисуется таблица из n столбцов (в нашем случае – 5 столбцов) и в нее
побуквенно записывается открытый текст («Карл украл у Клары кораллы, а Клара
украла у Карла кларнет»), а столбцы нумеруются обычным образом.
1
К
К
К
К
Л
А
Р
К
К
Е
2
А
Р
Л
О
Ы
Р
А
А
Л
Т
3
Р
А
А
Р
А
А
Л
Р
А
*
4
Л
Л
Р
А
К
У
А
Л
Р
*
5
У
У
Ы
Л
Л
К
У
А
Н
*
Теперь столбцы меняются местами и записываются в той последовательности,
которая указана в ключе.
2
А
Р
Л
О
Ы
Р
А
А
Л
Т
5
У
У
Ы
Л
Л
К
У
А
Н
*
3
Р
А
А
Р
А
А
Л
Р
А
*
1
К
К
К
К
Л
А
Р
К
К
Е
4
Л
Л
Р
А
К
У
А
Л
Р
*
После чего текст выписывается из таблицы обычным способом:
«аурклруакллыакролркаылалкркаауаулраааркллнакрт**е*»
Для дешифрования нужно просто нарисовать таблицу и заполнить ее, после чего,
зная ключ, разместить столбцы в старом порядке.
Заключение
Во время написания данного проекта, я взялся за детальное рассмотрение связи
математики, криптографии и шифров в частности. Поскольку в современных реалиях,
люди встречаются с шифрами гораздо чаще, чем думают и лишь единицы
интересуются, тем, как они появились, какую роль сыграли в мировой истории и как, в
принципе, они работают.
Несколько примеров их применения в сферах жизни общества:
Где используется
Назначение
Военное
дело, Передача секретных сообщений и информации, Азбука Морзе,
политика, флот
Международный свод сигналов с помощью флагов, семафорная
азбука
Экономика и бизнес Передача секретных сообщений и информации, передача
документов в электронном виде, шифровка платежей
История
Шифр
Цезаря,
Августа,
Полибия,
заговорщиков,
революционеров, тайная переписка монархов, взлом Сигмы
Математика
Теория чисел, логические задачи
Литература
Шифровка черновиков известных писателей, например Пушкина
Личная жизнь
Тайная переписка, переписка через Интернет, передача
документов в электронном виде, оплата услуг
Выполняя данную работу, я ставил цель познакомиться с применением основ
математики в криптографии. Внимательно изучая данную тему, я осознал, что основы
математики используются практически в любом шифре, а также, что криптография и
стеганография будут востребованы повсеместно, так как потребность в сокрытии
важных данных и информации становится только более актуальной и необходимой
Список используемой литературы
1.
2.
3.
4.
5.
6.
7.
8.
9.
Виленкин Н.Я Математика и шифры. - Квант, № 8, 1997.
Аршинов М.Н., Садовский Л.Е. Коды и математика. - М.: Наука, 1983.
Гонина Е.Е. Шифры, коды, тайны. - Живая математика, № 1, 2008.
Ященко В.В., ред. Введение в криптографию. - М: МЦНМО, 2000.
К. Шеннон. Работы по теории информации и кибернетике. - М., ИЛ, 1963.
Жельников В. Криптография от папируса до компьютера. - М.: "АВF", 1996 -335с.
Г. Фролов. Тайны тайнописи. - М., 1992.
М. Гарднер. От мозаик Пенроуза к надежным шифрам. - М.; Мир, 1993.
Виноградов И. М. Основы теории чисел. М.: Наука. 1972.
Download