Шифр Цезаря или как просто зашифровать текст

Шифр Цезаря

1. Введение

С быстрым развитием обмена цифровыми данными в электронном виде, информационная безопасность приобретает все большее значение при хранении и передаче данных. Поэтому для обмена данными необходимо обеспечить их шифрование. Шифрование — это процесс кодирования сообщения таким образом, чтобы его мог прочитать только предполагаемый получатель. Шифр Цезаря — моноалфавитный шифр. Это тип шифра подстановочного типа, где каждая буква в открытом тексте заменяется на другую букву, смещенную на некоторое фиксированное количество позиций в алфавите. Шифрование представлено с использованием модульной арифметики.

С развитием интернет-технологий возникает множество проблем с безопасностью. Безопасность — это большая проблема, и защита конфиденциальных данных очень важна, чтобы данные не могли быть изменены или использованы в незаконных целях. Например, в Интернет-банкинге, в системе электронного бронирования, в СМИ, безопасность данных является очень важным вопросом. В большинстве случаев провайдер должен обеспечить безопасность своей инфраструктуры и защиту личных данных и приложений своего клиента, в то время как клиент должен убедиться, что облачный провайдер принял надлежащие меры безопасности для защиты своей информации. Чтобы избежать такой ситуации необходимо преобразовать данные в нечитаемую форму на стороне отправителя, а затем снова преобразовать эти данные в читаемую форму на стороне получателя. Таким образом, проблема сохранения данных в конфиденциальности является актуальной, как для больших компаний, так и для каждого человека. Техника и наука создания нечитаемых данных или шифров, таких что только уполномоченное лицо сможет прочитать данные, называется криптографией.

2. Криптография

Криптография — это наука защиты информации от нежелательных лиц путем преобразования ее в форму, не распознаваемую злоумышленниками при хранении и передаче. Криптология не нова, она существует более 2000 лет. Слово криптология происходит от двух греческих слов: kryptos, что означает «скрытый или секретный» и graphein что означает писать.  Криптология — наука позволяющая делать общение непонятным для всех, кроме предполагаемых получателей. На языке криптографии сообщение, которое человек намеревается отправить, называется открытым текстом, в то время как фактически отправленное сообщение называется зашифрованным текстом. Существует две основные категории криптографии (асимметричные и симметричные методы шифрования) в зависимости от типа ключей безопасности, используемых для зашифровывания /расшифровывания данных.

ec3d6a023017c5cd92f9245fd9267b8accea7e026b17282e27f58206f5e4c0e6

Рис. 2 Схема шифрования и дешифрования

3. Симметричное шифрование

Когда один и тот же ключ используется для шифрования и дешифрования сообщения, это называется криптографией с симметричным ключом. Это также известно как криптография с закрытым ключом; пользователи могут обновлять ключи и использовать их для получения дополнительных ключей. Это гораздо более эффективный и быстрый подход по сравнению с криптографией с асимметричным ключом. В криптографии с симметричным ключом, ключ был сгенерирован алгоритмом шифрования и затем отправлен в секцию получателя, где и происходит дешифрование. В этом методе есть несколько проблем:

  1. Ключ должен быть передан по защищенному каналу от отправителя к получателю. Дело в том, что если защищенный канал уже существует, то данные передаются по тому же каналу, тогда зачем в таком случае шифрование. 

  2. Защищенного канала практически не существует, поэтому ключ должен быть передан вместе с данными, что увеличивает накладные расходы и снижает эффективную полосу пропускания. 

  3. В-третьих, шум канала наносит вред ключу и данным во время передачи.

a5e0f4b5968e7f5add6697441941d21d

Рис. 3 Симметричное шифрование

4. Асимметричное шифрование

Это также называется криптографией с открытым ключом. Он использует два ключа: открытый ключ, который известен широкой публике, используемый для шифрования, и закрытый ключ, который известен только пользователю этого ключа, используемый для дешифрования. Открытый и закрытый ключи связаны друг с другом математическими вычислениями. Другими словами, данные, зашифрованные одним открытым ключом, могут быть расшифрованы только соответствующим закрытым ключом. Эта возможность решает проблему симметричного шифрования управления секретными ключами. Но с другой стороны, эта уникальная особенность шифрования с открытым ключом делает его математически более уязвимым для атак. Более того, методы асимметричного шифрования почти в 1000 раз медленнее, чем методы симметричного шифрования, поскольку они требуют большей вычислительной мощности. 

Есть два метода преобразования данных в нечитаемую форму:  

1. Метод перестановки 

2. Метод замены

Процедура шифрования и дешифрования, показана ниже на рисунке 5:

b264ca38f490f3d3c1cf2d691dedd399

Рис. 4 Шифрование и дешифрование с открытым ключом

Шифр Цезаря является примером метода подстановки. Дальнейшее усовершенствование оригинального сдвига символа на три позиции в шифре Цезаря состоит в использовании арифметики по модулю двадцать шесть для ключа шифрования, который больше двадцати шести. 

? n (?) = (?  + ?) ???  26,  

где x — значение открытого текста, n — номер сдвига. 

Большим существенным недостатком этого шифра является простота его алгоритмов шифрования и дешифрования. Система может быть расшифрована без знания ключа шифрования. Его легко взломать, изменив порядок шифрования и просто изменив порядок алфавита. 

? n (?) = (?  − ?) ???  26

Если известно, что данный зашифрованный текст является шифром Цезаря, то криптоанализ методом грубой силы выполняется легко: попробуем все 25 ключей. У шифра Цезаря есть некоторые слабые места, которые позволяют нам использовать атаку методом грубой силы. 

1. Алгоритм шифрования и дешифрования известен. 
2. Всего 25 ключей. 

3. Язык открытого текста известен и легко узнаваем.

Еще одна проблема безопасности заключается в том, что если одна буква уже известна, то смещение можно определить и расшифровать все сообщение. Лучшим подходом было бы использование статистических данных о частотности английских букв. 

Рассмотрим более подробно «Частотный анализ» (один из методов в криптоанализе). Частотный анализ предполагает, что частота появления заданной буквы алфавита в достаточно длинных текстах одна и та же для разных текстов одного языка. В моноалфавитном шифровании, если в шифротексте будет символ с аналогичной вероятностью появления, то можно предположить, что он и является указанной зашифрованной буквой.

Метод частотного криптоанализа наиболее известен при дешифровке египетских иероглифов Ж.-Ф. Шампольоном в 1822 году.

Начиная с середины XX века большинство используемых алгоритмов шифрования разрабатываются устойчивыми к частотному криптоанализу, поэтому он применяется в основном в процессе обучения будущих криптографов.

17d24c65ab16a5dbb3c492117202270e

Рис. 6 Классификация методов шифрования

Вывод

Шифр Цезаря — это простейший тип шифра, который используется чаще всего. Метод перестановки чаще всего сочетается с другими техниками. Шифрование как методом замены, так и методом перестановки легко выполняется с помощью компьютеров. Комбинация этих двух классических методов обеспечивает более безопасный и надежный шифр.

Окончательный зашифрованный текст настолько силен, что его очень сложно взломать. Вышеописанный второй метод (алгоритм) представляет собой комбинацию методов перестановки и замены, которая обеспечивает гораздо более безопасный шифр. 

© Habrahabr.ru