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

8. Кодирование и шифрование данных

"Информатика (в 2 частях)", Матвеева Н.В., Челак Е.Н., Конопатова Н.К., Панкратова Л.П., Нурова Н.А.

Объяснение темы В оглавлении: 8. Кодирование и шифрование данных

Кратко о теме

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

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

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

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

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

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

Шифрование — это преобразование данных, которое скрывает их содержание от посторонних. Сообщение после такого преобразования выглядит иначе, и прочитать его без нужных сведений сложнее. Цель здесь не просто изменить форму записи, а ограничить доступ к смыслу. Это помогает защищать данные при передаче или хранении.

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

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

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

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

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

В простом шифре исходное сообщение преобразуют по заранее заданному правилу, а получатель выполняет обратные действия. Например, при шифре Цезаря со сдвигом на одну букву вперёд буква М заменяется на Н, И — на Й, а Р — на С. Так получается НЙС вместо МИР. Чтобы восстановить сообщение, получатель сдвигает каждую букву назад на одну позицию.

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

Кодирование и шифрование данных

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

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

Разбор задач

Задача 1. Представить слово «КОТ» условными знаками, если К обозначается треугольником, О — кружком, а Т — квадратом. Сначала нужно выписать соответствие для каждой буквы слова. Затем заменяем буквы, сохраняя их порядок. Так как все символы слова есть в таблице, можно закодировать каждую букву.

  1. Для первой буквы К выбираем знак △.
  2. Для второй буквы О выбираем знак ○.
  3. Для третьей буквы Т выбираем знак □.
  4. Записываем полученные знаки в исходном порядке: △○□.

Ответ: △○□. Чтобы прочитать запись обратно, нужно воспользоваться той же таблицей соответствия.

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

  1. М заменяем следующей буквой Н.
  2. И заменяем следующей буквой Й.
  3. Р заменяем следующей буквой С.
  4. Собираем заменённые буквы в том же порядке: НЙС.

Ответ: НЙС. Шифрование затронуло каждую букву слова, а не только его часть.

Задача 3. Восстановить сообщение «НЙС», если оно зашифровано шифром Цезаря со сдвигом на одну букву вперёд. Для расшифрования нужно выполнить обратное преобразование: каждую букву передвинуть на одну позицию назад. После замены проверяем, складываются ли буквы в исходное слово.

  1. Н заменяем предыдущей буквой М.
  2. Й заменяем предыдущей буквой И.
  3. С заменяем предыдущей буквой Р.
  4. Записываем результат в том же порядке: МИР.

Ответ: МИР. Полученное слово подтверждает, что направление обратного сдвига выбрано верно.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как расшифровать сообщение, если известен сдвиг букв?

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

Почему простой шифр может быть ненадёжным?

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

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

8. Кодирование и шифрование данных

Учебник

Оглавление →
Предмет
Информатика
Учебник
"Информатика (в 2 частях)", Матвеева Н.В., Челак Е.Н., Конопатова Н.К., Панкратова Л.П., Нурова Н.А.