Загрузил truffald

Альянов Неликаева ЖГМК

реклама
ШИФР ЦЕЗАРЯ НА PYTHON
автор: Альянов Даниил Александрович
руководитель: Неликаева Нина Сергеевна
ОБПОУ «Железногорский горно-металлургический колледж»,
Курская область, г. Железногорск
Одним из способов обеспечения конфиденциальности информации является
использование систем шифрования. Криптография - это наука и искусство шифрования. Она
появилась задолго до создания компьютеров и перенесения значительной части информации
в цифровой мир. Еще в давние времена люди стремились защитить важные сообщения,
прежде всего в виде текстов, от чужих глаз. Тогда они начали их шифровать, то есть
преобразовывать текст в такой вид, в каком он был непонятен посторонним лицам. При этом
адресат этого текста имел возможность и инструменты для прочтения послания. Для этого
ему нужно было знать, по какому принципу шифр построен, и какие средства нужно
использовать для его прочтения. Мы рассмотрим шифр цезаря.
Шифр Цезаря
Шифр Цезаря является одним из самых древних дошедших до нас шифров. Данный
шифр является представителем группы шифров замены, для которой характерна замена
символа сообщения другим символом. Это один из самых простых и наиболее известных
методов шифрования, который был использован в Древнем Риме, названный так в честь
римского императора Гая Юлия Цезаря, который использовал его для секретной переписки
со своими генералами. Он очень полезен тем, что иллюстрирует принципы модульной
арифметики, одной из математических основ кодированного письма.
Принцип сокрытия информации в данном шифре довольно не сложен. Каждая буква в
сообщении заменяется другой буквой, расположенной в алфавите на определенной позиции
правее. Чтобы расшифровать данное сообщение, нужно всего лишь знать на какое
количество позиций необходимо сместить буквы. Специалисты расходятся во мнениях по
поводу практического применения шифра Цезаря. Кто-то утверждает, что сам Гай Юлий
Цезарь заменял букву текста, смещая на четыре позиции в алфавите, а кто-то говорит, что он
смещал на 3 позиции относительно первоначальной буквы. Также нет точного ответа, в
какую именно сторону необходимо было двигаться по алфавиту, вправо или влево.
Преимущества и недостатки системы шифрования Цезаря
Недостатки: низкая стойкость к взлому, ограниченное ключевой пространство,
отсутствие поддержки специальных символов.
Преимущества: быстрота, простота, историческое значение.
Практическое применение
 Личная переписка
 Бизнес-коммуникации
 Военная связь.
 И другие
Моя разработка
Исходя из приведенной выше информации, я разработал консольное приложение с
данным шифром на языке python.
Рисунок 1. Функция
Разберемся шаг за шагом. Посмотрим на рисунок 1. В данной функции мы шифруем с
данным нам ключом введенную фразу. Мы проходим циклом for по каждой букве в строке,
и, если она есть в нашем алфавите, то сдвигаем ее на key символов вправо, полученную
букву добавляем в переменную finally_stroke. Обращу ваше внимание, что если при
добавлении ключа наш индекс выходит больше длины словаря, то мы отнимаем длину
словаря. Функция шифрует как на английском, так и на русском языке. Работа функции
заканчивается на печати зашифрованной строки, которую мы передали.
Рисунок 2. Обратная функция
Посмотрим на рисунок 2. Следующая функция выполняет задачу, обратную
предыдущей, то есть – расшифровку. Данная функция почти ничем не отличается от
предыдущей, только вместо прибавления ключа, мы его отнимаем. Результат –
расшифрованная строчка.
Рисунок 3. Работа с пользователем
Посмотрим на рисунок 3. В данной функции мы просим пользователя ввести язык
фразы, саму фразу и ключ шифрования. Далее через оператор if'/elif мы шифруем/дешифруем
сообщение, и в последней строчке вызываем нашу главную функцию.
1.
2.
3.
Список использованной литературы и источников
https://foxford.ru/wiki/informatika/iz-istorii-shifrovaniya?ysclid=lu9ojw2pkl5447008
https://nauchniestati.ru/spravka/sistema-shifrovaniya-czezarya/?ysclid=lu9oivlvur849948943
https://pakhotin.org/technologies/caesars-code/?ysclid=lu9ol1syf141125892
Скачать