На Горох
Информатика

25. Кодируем. Шифруем

"Информатика (в 2 частях)", Павлов Д.И., Полежаева О.А., Коробкова Л.Н. и др./ Под ред. Горячева А.В.

Объяснение темы В оглавлении: 25. Кодируем. Шифруем

Кратко о теме

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

Объяснение темы

Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.

Определения и обозначения

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

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

Декодирование — восстановление исходного сообщения по его кодовой записи. Для этого кодовую последовательность читают по тому же правилу, по которому её получили. Без декодирования получатель увидит только условные знаки, а не исходный смысл.

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

Как это устроено

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

Код образует соответствия между знаками исходного сообщения и кодовыми символами. Если каждой букве по правилу назначен один определённый знак или набор знаков, порядок элементов сохраняется. Однозначность нужна затем, чтобы одна кодовая запись не давала несколько разных исходных сообщений.

Для восстановления сообщения необходимо знать правило кодирования и уметь выполнять декодирование. Получатель сопоставляет кодовые элементы с исходными знаками и собирает их в прежнем порядке. Если правило неизвестно или применено непоследовательно, результат может оказаться неполным или ошибочным.

Обычное кодирование обычно делает запись удобной для передачи или обработки, но не скрывает её смысл. Шифрование ставит другую цель: посторонний должен увидеть преобразованную запись и не понять содержание. Поэтому кроме способа преобразования нужен ключ или секретное правило, известное тем, кто должен прочитать сообщение.

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

Сравнение кодирования и шифрования

ПризнакКодированиеШифрование
Основная цельИзменить форму записи для удобстваСкрыть содержание от посторонних
Правило преобразованияЗаранее известное правило соответствийАлгоритм, зависящий от способа и ключа
Наличие ключаОбычно отдельный секретный ключ не нуженИспользуется ключ или секретный параметр
Кто должен уметь восстановить сообщениеЛюбой, кто знает правило кодаТот, у кого есть способ расшифрования и ключ
Пример примененияПредставление текста в компьютереЗащита переписки или файла

Сначала найдите в таблице признак, который нужно сравнить, а затем прочитайте ячейки в одной строке. Так видно, что оба процесса преобразуют запись, но причины преобразования различаются. Если цель — удобство представления, речь идёт о кодировании, а если защита смысла — о шифровании.

Разбор задач

Задача 1. Закодируем слово по таблице соответствий: А — ▲, Б — ●, В — ■, Г — ◆. Пусть исходное слово — АВГА. Нужно заменить каждый знак, не меняя порядок букв. Это показывает, почему одинаковые буквы должны получать одинаковые кодовые обозначения.

  1. Разделим слово на буквы: А, В, Г, А.
  2. По таблице найдём соответствия: А → ▲, В → ■, Г → ◆.
  3. Запишем найденные символы в прежнем порядке: ▲ ■ ◆ ▲.

Ответ: кодовая запись слова — ▲ ■ ◆ ▲. Для проверки можно выполнить обратную замену и получить АВГА.

Задача 2. Декодируем последовательность ● ◆ ▲ ■ по той же таблице. Сначала нужно рассматривать запись как отдельные кодовые элементы, а затем для каждого найти исходную букву. Нельзя менять порядок элементов, иначе получится другое сообщение.

  1. Сопоставим ● с буквой Б, ◆ — с Г, ▲ — с А, ■ — с В.
  2. Соединим полученные буквы в исходной последовательности.

Ответ: БГАВ. Если повторно закодировать это слово, получится исходная последовательность символов.

Задача 3. Зашифруем слово МИР шифром Цезаря со сдвигом на 2 позиции вправо в русском алфавите. Каждую букву заменяем буквой, стоящей через две позиции после неё. При расшифровке нужно будет сдвигать буквы на 2 позиции влево.

  1. М заменяем на О, И — на К, Р — на Т.
  2. Получаем зашифрованную запись ОКТ.
  3. Для проверки сдвигаем О, К и Т на две позиции назад и возвращаем М, И и Р.

Ответ: МИР → ОКТ, а ОКТ → МИР. Если буква находится близко к концу алфавита, после последней буквы продолжают счёт с начала.

Типичные ошибки

Путают кодирование и шифрование. Ошибка возникает, когда любую изменённую запись считают секретной. Проверьте цель: кодирование делает представление удобным, а шифрование должно скрывать содержание.

Используют разные правила для одинаковых символов. Так происходит, когда замену выполняют без единой таблицы или меняют её по ходу работы. Проверьте каждую повторяющуюся букву: при однозначном коде она должна получать одинаковое обозначение.

Забывают переход через начало алфавита. Ученик останавливается на последней букве, хотя сдвиг нужно выполнить полностью. Проверьте число шагов: после конца алфавита продолжайте отсчёт с первой буквы.

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

Связь с другими темами

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

Что запомнить

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

Частые вопросы по теме

Чем кодирование отличается от шифрования?

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

Можно ли декодировать сообщение, не зная правила кодирования?

Обычно нельзя однозначно восстановить исходное сообщение без правила. Можно пробовать угадать способ по образцам, но результат не будет надёжным.

Что такое ключ шифра?

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

Почему при шифре Цезаря буквы переходят с конца алфавита в его начало?

Алфавит рассматривают как замкнутую последовательность. После последней буквы снова начинают отсчёт с первой, поэтому одинаковый сдвиг можно выполнить для любой буквы.

Как проверить, правильно ли выполнены шифрование и расшифрование?

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

Спросить по теме параграфа

25. Кодируем. Шифруем

Учебник

Оглавление →
Предмет
Информатика
Учебник
"Информатика (в 2 частях)", Павлов Д.И., Полежаева О.А., Коробкова Л.Н. и др./ Под ред. Горячева А.В.