В криптографии шифр Цезаря, также известный как шифр сдвига, код Цезаря или сдвиг Цезаря, является одним из самых простых и широко известных методов шифрования. Это вид шифра подстановки, в котором каждый символ в открытом тексте заменяется символом, находящимся на некотором постоянном числе позиций левее или правее него в алфавите. Например, в шифре со сдвигом вправо на 3
, D
была бы заменена на A
, E
станет B
, и так далее. Метод назван в честь Юлия Цезаря, который использовал его в своей личной переписке.
Это преобразование можно представить как выравнивание двух алфавитов; алфавит шифра - это обычный алфавит, повёрнутый влево или вправо на некоторое количество позиций. Например, здесь приведен шифр Цезаря, использующий поворот влево на три позиции, что эквивалентно сдвигу вправо на 23 (параметр сдвига используется в качестве ключа):
Обычный: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Шифрованный: XYZABCDEFGHIJKLMNOPQRSTUVW
При шифровании человек просматривает каждую букву сообщения в "открытой" строке и записывает соответствующую букву в "шифрованной" строке.
Обычный текст: THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG
Шифрованный текст: QEB NRFZH YOLTK CLU GRJMP LSBO QEB IXWV ALD
- Время:
O(|n|)
- Пространство:
O(|n|)