Методы шифрования текстовой информации. Шифр Цезаря. Шифр Виженера
Шифрование – это способ сокрытия исходного смысла сообщения или другого документа, обеспечивающей искажение его первоначального содержимого. Преобразование обычного, понятного содержимого в код называется кодированием. При этом подразумевается, что имеется взаимное однозначное соответствие между символами текста и кода – в этом и заключается основополагающее отличие кодирования от шифрования. Часто кодирование и шифрование ошибочно принимают за одно и тоже, забыв о том, что для восстановления закодированного сообщения, достаточно знать правило замены, в то время как для расшифровки уже зашифрованного сообщения помимо знания правил шифрования, требуется ключ к шифру. Под ключом в данном случае подразумевается конкретное секретное состояние параметров алгоритмов шифрования и дешифрования. Зашифровать можно не только текст, но и различные данные – от файлов баз данных и текстовых процессоров до файлов изображений.
|
|
Алфавит – законченное множество используемых для кодирования информации символов.
Текст – последовательность из символов алфавита.
Ключ – последовательность из символов алфавита, необходимая для беспрепятственного шифрования и дешифрования текстов.
Шифр Цезаря
Шифр Цезаря, также известный как шифр сдвига, код Цезаря или сдвиг Цезаря – один из самых простых и наиболее широко известных методов шифрования.
Шифр Цезаря – это вид шифра подстановки, в котором каждый символ в открытом тексте заменяется буквой находящейся на некоторое постоянное число позиций правее (или левее, в случае отрицательного числа) него в алфавите.
Если полученный номер символа выходит за пределы алфавита, отсчет позиции символа продолжается с начала алфавита.
Задача. Вводятся строка-алфавит, непустая строка и целое число. Непустая строка содержит текст, который нужно зашифровать, целое число – сдвиг в алфавите. Необходимо зашифровать введённый текст и расшифровать результат. (Проверять, что текст состоят только из символов алфавита, не нужно.)