"Информатика", Рудченко Т.А., Семёнов А.Л. / Под ред. Семёнова А.Л.
Шифрование превращает понятное сообщение в такой вид, чтобы посторонний не смог прочитать его при передаче. Отправитель применяет к открытому тексту правило шифра и ключ, а адресат использует подходящий способ расшифровки, чтобы восстановить исходные слова. На примере шифра Цезаря можно увидеть, как буквы заменяются со сдвигом по алфавиту. Но простые шифры не всегда надёжны: возможные ключи можно перебрать, а особенности текста — проанализировать.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Шифрование — преобразование открытого сообщения в вид, который нельзя прочитать без знания способа расшифровки. Оно нужно, чтобы скрыть содержание сообщения от посторонних во время передачи или хранения. Само преобразование выполняется по определённому правилу, поэтому получатель может вернуть сообщению исходный вид.
Открытый текст — сообщение до шифрования, понятное отправителю и адресату. Это исходные слова или символы, которые нужно передать. Например, если отправитель хочет послать слово «КОТ», до преобразования оно является открытым текстом.
Шифр — правило, по которому открытый текст преобразуют в зашифрованный и обратно. Он определяет, какие действия выполнить с буквами или другими символами. Чтобы адресат смог восстановить сообщение, ему нужно знать правило, по которому оно было зашифровано.
Ключ — секретное значение или параметр, который используют при шифровании и расшифровке. В разных шифрах ключ может задавать разные действия, а в шифре Цезаря он определяет величину сдвига букв. Ключ помогает применять одно правило по-разному и подсказывает адресату, как выполнить обратное преобразование.
Сообщение часто передают по каналу, к которому могут получить доступ посторонние: например, его могут перехватить при отправке. Если передавать исходные слова без изменений, любой, кто увидит их, сможет прочитать содержание. Поэтому отправитель преобразует сообщение так, чтобы без нужного способа расшифровки оно не было понятным. Адресату при этом должна быть доступна возможность вернуть исходный текст.
Сначала отправитель подготавливает открытый текст, а затем применяет к нему правило шифра и ключ. Правило указывает, какие действия выполнить с символами, а ключ задаёт нужный параметр этих действий. Полученная последовательность называется зашифрованным сообщением. Например, если шифр заменяет каждую букву следующей в алфавите, ключ определяет сам сдвиг, а не исходные слова.
Адресат получает зашифрованное сообщение и применяет к нему подходящее обратное преобразование. Для этого ему нужны правило шифра и верный ключ: без них нельзя надёжно определить, как вернуть символы на прежние места. При правильной расшифровке результатом становится исходный открытый текст. Если правило или ключ выбраны неверно, вместо понятного сообщения может получиться бессмысленная последовательность.
В шифре Цезаря букву заменяют другой буквой, отстоящей от неё на заданное число позиций в алфавите. Например, при сдвиге на три позиции буква А превращается в Г, а Б — в Д. Величина сдвига является ключом. Если при движении вперёд достигнута последняя буква алфавита, отсчёт продолжают с его начала, иначе часть букв нельзя было бы зашифровать.
Простая замена букв не гарантирует надёжную защиту, потому что вариантов ключа у такого шифра немного. Если ключ неизвестен, можно попробовать все возможные сдвиги и посмотреть, какой из результатов похож на осмысленный текст. Иногда помогают и повторы: одна и та же буква при одинаковом правиле заменяется одинаково, а частые буквы и сочетания в языке могут выдать особенности исходного сообщения. Поэтому шифр Цезаря полезен для знакомства с идеей шифрования, но не подходит для серьёзной защиты данных.
| Элемент или этап | Что используется или происходит | Результат |
|---|---|---|
| Исходные данные | Сообщение, которое отправитель хочет передать | Открытый текст |
| Шифрование | К открытому тексту применяют правило шифра и ключ | Символы сообщения преобразованы |
| Зашифрованное сообщение | Полученная после преобразования последовательность | Текст, который нельзя прочитать без расшифровки |
| Расшифровка | Адресат применяет обратное преобразование | Восстановленный открытый текст |
| Роль ключа | Задаёт параметр преобразования, например величину сдвига | Помогает шифровать и правильно расшифровывать |
Читай таблицу сверху вниз, чтобы проследить путь сообщения от исходных данных до восстановления. Строки о шифровании и расшифровке показывают два противоположных преобразования. Последняя строка поясняет, почему одного знания названия шифра иногда недостаточно: нужен подходящий ключ.
Условие. Зашифруем короткое слово «КОТ» шифром Цезаря со сдвигом на одну позицию вперёд по русскому алфавиту. Считаем, что алфавит включает букву Ё. Чтобы получить шифротекст, нужно заменить каждую букву следующей и не забыть правило перехода от конца алфавита к началу.
Ответ: слово «КОТ» превращается в «ЛПУ». В этой задаче переход через границу алфавита не встретился, но при сдвиге последней буквы алфавита на одну позицию результатом была бы первая буква.
Условие. Получено сообщение «ТУЛЕИХ», зашифрованное шифром Цезаря со сдвигом на три позиции вперёд. Нужно восстановить открытый текст. Если при шифровании буквы двигали вперёд, для расшифровки следует перемещать их назад на то же число позиций.
Ответ: открытый текст — «ПРИВЕТ». Проверка помогает убедиться в результате: если сдвинуть его буквы на три позиции вперёд, снова получится «ТУЛЕИХ».
Условие. Получено короткое сообщение «ТУЛЕИХ», зашифрованное шифром Цезаря, но величина сдвига неизвестна. Нужно найти исходный текст. Поскольку в шифре Цезаря ключ задаёт число позиций, можно проверить все возможные сдвиги, а не угадывать один заранее.
Ответ: исходный текст — «ПРИВЕТ», ключ — сдвиг на три позиции вперёд при шифровании. Перебор здесь сработал, потому что вариантов сдвига немного, а правильный результат читается как обычное слово.
Считать зашифрованный текст и открытый текст одним и тем же — ошибка: зашифрованный текст получен преобразованием и без расшифровки не предназначен для чтения. Путаница возникает, когда оба варианта называют просто сообщением. Проверь себя: открытый текст должен быть исходным, а зашифрованный — результатом применения шифра и ключа.
При расшифровке сдвигать буквы в ту же сторону, что и при шифровании, — значит не отменять исходное действие. Так можно ошибиться, если запомнить только величину сдвига и забыть его направление. Проверь себя обратным шифрованием: после расшифровки снова зашифруй результат; должна получиться исходная зашифрованная строка.
Забыть о переходе через границу алфавита — значит остановить сдвиг на последней букве, хотя правило требует продолжить с начала. Обычно это случается, когда алфавит воспринимают как прямую линию, а не как последовательность с повторяющимся циклом. Проверь себя на последних буквах: после конца алфавита при движении вперёд должны идти первые буквы.
Считать, что любое шифрование надёжно защищает сообщение, неверно: простые шифры можно взломать перебором или анализом текста. Ошибочное впечатление возникает потому, что зашифрованная строка с первого взгляда не читается. Проверь себя вопросом, сколько вариантов ключа нужно испытать и могут ли повторы букв подсказать исходное сообщение.
Для работы с шифром Цезаря нужно уметь пользоваться алфавитом: находить порядок букв и заменять символы по правилу. Шифрование связано с кодированием информации, потому что в обоих случаях данные преобразуются, но цели различаются: кодирование меняет форму представления, а шифрование скрывает содержание. Понимание этой темы пригодится при дальнейшем изучении защиты информации, паролей и безопасной передачи данных. Оно также помогает замечать, почему для защиты важны не только сам способ преобразования, но и сохранность ключа.
Чем шифрование отличается от кодирования?
Кодирование меняет форму представления информации, например превращает буквы в последовательность условных знаков, чтобы её было удобнее хранить или передавать. Шифрование нужно прежде всего для того, чтобы скрыть содержание от тех, кому оно не предназначено.
Зачем при шифровании нужен ключ?
Ключ задаёт параметр, который используют при преобразовании сообщения. Например, в шифре Цезаря он определяет, на сколько позиций сдвигать буквы. Адресату нужен подходящий ключ, чтобы выполнить обратное преобразование.
Как расшифровать сообщение, если известен шифр Цезаря?
Нужно узнать величину сдвига, то есть ключ, и для каждой буквы выполнить такой же сдвиг в обратную сторону. Если при расшифровке дошли до начала алфавита, продолжают с его конца.
Что делать, если ключ неизвестен?
Для шифра Цезаря можно по очереди попробовать все возможные сдвиги. Затем нужно сравнить полученные варианты и выбрать тот, который образует осмысленный текст. Такой подбор называют перебором ключей.
Почему шифр Цезаря считается ненадёжным?
У него мало возможных ключей, поэтому все сдвиги можно проверить по очереди. Кроме того, повторяющиеся буквы и сочетания в зашифрованном сообщении могут подсказать, какие буквы были в исходном тексте.
Шифрование