Введение
Простой и широко известный метод шифрования
В криптографии шифр Цезаря, также известный как шифр Цезаря, шифр сдвига, код Цезаря или сдвиг Цезаря, является одним из самых простых и широко известных методов шифрования. Это тип шифра подстановки, в котором каждая буква открытого текста заменяется буквой, отстоящей от неё на фиксированное число позиций в алфавите. Например, при сдвиге влево на 3, A будет заменена на X, B станет Y, и так далее. Метод назван в честь Юлия Цезаря, который использовал его в своей личной переписке. Операция шифрования, выполняемая шифром Цезаря, часто включается в состав более сложных схем, таких как шифр Виженера, и до сих пор находит применение в системе ROT13. Как и все шифры подстановки с использованием одного алфавита, шифр Цезаря легко взламывается и в современной практике практически не обеспечивает конфиденциальность связи.
Разгадываю шифр .
Дешифровка сдвига Кандидатский открытый текст 0 1 2 3 4 5 6 23 24 25 Шифр Цезаря может быть легко взломан даже при наличии только зашифрованного текста. Поскольку существует ограниченное количество возможных сдвигов (25 в английском языке), злоумышленник может осуществить атаку полным перебором, расшифровывая сообщение или его часть, используя каждый возможный сдвиг. Правильным будет тот вариант расшифровки, который имеет смысл как английский текст. Пример показан справа для зашифрованного текста ""; кандидат на открытый текст при сдвиге четыре "" является единственным, который имеет смысл как английский текст. Другой тип атаки полным перебором — это написание алфавита под каждой буквой зашифрованного текста, начиная с этой буквы. Опять же, правильная расшифровка — это та, которая имеет смысл как английский текст. Этот метод иногда называют "дополнением открытого компонента". Другой подход — сопоставить частотное распределение букв. Построив график частоты букв в зашифрованном тексте и зная ожидаемое распределение этих букв в исходном языке открытого текста, человек может легко определить значение сдвига, обращая внимание на смещение определенных особенностей графика. Это известно как частотный анализ. Например, в английском языке частоты букв , , (обычно наиболее часто встречающиеся) и , (обычно наименее часто встречающиеся) в открытом тексте особенно характерны. Компьютеры могут автоматизировать этот процесс, оценивая сходство между наблюдаемым частотным распределением и ожидаемым распределением. Этого можно достичь, например, с помощью статистики хи-квадрат или путем минимизации суммы квадратов ошибок между наблюдаемым и известным языковым распределением. Расстояние однозначности для шифра Цезаря составляет около 2, что означает, что в среднем требуется как минимум два символа зашифрованного текста для определения ключа. В редких случаях может потребоваться больше текста. Например, слова "" и "" могут быть преобразованы друг в друга с помощью сдвига Цезаря, что означает, что они могут создавать один и тот же зашифрованный текст с разными сдвигами. Однако на практике ключ почти наверняка можно найти, используя как минимум 6 символов зашифрованного текста. При использовании шифра Цезаря многократное шифрование текста не обеспечивает дополнительной безопасности. Это связано с тем, что два шифрования, например, сдвигами A и B, эквивалентны одному шифрованию сдвигом A + B. В математическом плане набор операций шифрования под каждым возможным ключом образует группу относительно композиции.
The Caesar cipher can be easily broken even in a ciphertext only scenario. Since there are only a limited number of possible shifts (25 in English), an attacker can mount a brute force attack by deciphering the message, or part of it, using each possible shift. The correct description will be the one which makes sense as English text. An example is shown on the right for the ciphertext ""; the candidate plaintext for shift four "" is the only one which makes sense as English text. Another type of brute force attack is to write out the alphabet beneath each letter of the ciphertext, starting at that letter. Again the correct decryption is the one which makes sense as English text. This technique is sometimes known as "completing the plain component". Another approach is to match up the frequency distribution of the letters. By graphing the frequencies of letters in the ciphertext, and by knowing the expected distribution of those letters in the original language of the plaintext, a human can easily spot the value of the shift by looking at the displacement of particular features of the graph. This is known as frequency analysis. For example, in the English language the plaintext frequencies of the letters , , (usually most frequent), and , (typically least frequent) are particularly distinctive. Computers can automate this process by assessing the similarity between the observed frequency distribution and the expected distribution. This can be achieved, for instance, through the utilization of the chi squared statistic or by minimizing the sum of squared errors between the observed and known language distributions. The unicity distance for the Caesar cipher is about 2, meaning that on average at least two characters of ciphertext are required to determine the key. In rare cases more text may be needed. For example, the words "" and "" can be converted to each other with a Caesar shift, which means they can produce the same ciphertext with different shifts. However, in practice the key can almost certainly be found with at least 6 characters of ciphertext. With the Caesar cipher, encrypting a text multiple times provides no additional security. This is because two encryptions of, say, shift A and shift B, will be equivalent to a single encryption with shift A + B. In mathematical terms, the set of encryption operations under each possible key forms a group under composition.