logo
Информатика учебник

13.3.1. Основные понятия криптографии

История криптографии насчитывает несколько тысяч лет. Потребность скрывать написанное появилась у человека почти сразу, как только он научился писать. Предполагается, что криптография была известна в древнем Египте и Вавилоне. До нашего времени дошли указания на то, что искусство секретного письма использовалось в древней Греции. Широко известным историческим примером криптосистемы является так называемый шифр Цезаря, который представляет из себя простую замену каждой буквы открытого текста третьей следующей за ней буквой алфавита (с циклическим переносом, когда это необходимо). Например, "A" заменялась на "D", "B" на "E", "Z" на "C".

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

Появление первых электронно-вычислительных машин кардинально изменило ситуацию:

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

Криптография (иногда употребляют термин криптология) – это область знаний, изучающая тайнопись (криптография) и методы ее раскрытия – криптоанализ - Криптография считается разделом математики.

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

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

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

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

Существует важное отличие между расшифрованием (дешифрованием) и раскрытием шифротекста.

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

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

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

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

Криптография часто используется и для других целей:

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

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

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

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

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

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

  5. Вскрытие с использованием выбранного шифротекста. Криптоаналитик может выбрать различные шифротексты для шифрования и имеет доступ к дешифрованным открытым текстам.