На Горох
Информатика, 10 класс

§ 78. Шифрование

"Информатика (базовый и углублённый уровни) (в 2 частях)", Поляков К.Ю., Еремин Е.А.

Объяснение темы В оглавлении: § 78. Шифрование

Кратко о теме

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

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

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

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

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

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

Шифртекст — результат шифрования открытого текста. Внешне он может выглядеть как набор букв или других символов, смысл которого не очевиден без расшифрования. Получатель преобразует его обратно, если располагает нужными сведениями.

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

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

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

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

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

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

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

Сравнение способов шифрования

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

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

Разбор задач

Шифр сдвига

Задача: зашифровать слово «КОТ» сдвигом на две позиции вперёд в русском алфавите без буквы Ё, а затем расшифровать результат. Чтобы не ошибиться, сначала зафиксируем алфавит: АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ. При шифровании каждую букву заменяем следующей через две позиции, считая от исходной.

  1. Для К отсчитываем две позиции вперёд: Л, М. Значит, К заменяется на М.
  2. Для О две позиции вперёд — П, Р, поэтому О заменяется на Р.
  3. Для Т две позиции вперёд — У, Ф, поэтому Т заменяется на Ф. Записываем новые буквы в прежнем порядке.
  4. Чтобы расшифровать результат, от каждой буквы МРФ отсчитываем две позиции назад: М → К, Р → О, Ф → Т.

Ответ: «КОТ» превращается в «МРФ», а обратный сдвиг восстанавливает «КОТ». Направление сдвига задаётся условием, поэтому при расшифровании его нельзя повторять: нужно двигаться назад. Если бы при сдвиге встретился конец алфавита, отсчёт продолжился бы с первой буквы.

Простая замена

Задача: дан короткий шифртекст, полученный заменой каждой буквы одной и той же другой буквой; нужно предположить, какие буквы заменены. Точный текст задачи не задан, поэтому сначала рассмотрим метод на условном фрагменте «ССЛЛ». В нём видны два одинаковых подряд символа, а затем повторяется ещё одна пара.

  1. Отметим структуру повторов: в исходном тексте тоже должны быть две пары одинаковых букв подряд, поскольку одна и та же буква всегда заменяется одинаково.
  2. Посчитаем частоты символов и сравним их с тем, какие буквы часто встречаются в текстах на русском языке. Частая буква шифртекста может соответствовать частой букве открытого текста.
  3. Предложим возможные замены, подставим их и проверим, образуются ли осмысленные слова. Затем проверим, согласуется ли предположение с остальным шифртекстом.
  4. Если подходящих вариантов несколько, оставим их как гипотезы и проверим на дополнительных фрагментах. Короткий отрывок может не дать достаточных подсказок.

Ответ: повторы и частоты позволяют предположить соответствия, но не гарантируют правильного восстановления. Для «ССЛЛ» можно уверенно выделить только повторяющийся рисунок, а без более длинного текста нельзя установить конкретные буквы. Это подбор, а не однозначный способ расшифрования.

Асимметричное шифрование

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Можно ли раскрыть сообщение, если алгоритм шифрования известен?

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

Почему шифр сдвига легко взломать?

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

Какой ключ используют для расшифрования при асимметричном шифровании?

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

Почему для защиты важен не только алгоритм, но и ключ?

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

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

§ 78. Шифрование

Эта же тема в других учебниках

Учебник

Оглавление →
Предмет
Информатика
Класс
10 класс
Учебник
"Информатика (базовый и углублённый уровни) (в 2 частях)", Поляков К.Ю., Еремин Е.А.