Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы криптографии. Учебное пособие.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
706 Кб
Скачать

зашифрование – процесс преобразования открытого текста в шифрованный;

расшифрование – процесс преобразования шифрованного текста в открытый с использованием известного ключа;

дешифрование – процесс преобразования шифрованного текста в открытый без знания ключа (предмет изучения криптоанализа);

открытый текст (или открытое сообщение) – сообщение, к кото-

рому применяется процесс зашифрования;

шифрованный текст (или шифрованное сообщение) – сообщение,

полученное из открытого текста в результате зашифрования.

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

Кодирование, как и зашифрование, является методом преобразования текстов. Отчетливой границы, разделяющей эти два понятия, не существует. Различие состоит, например, в том, что шифры оперируют с исходными единицами текста постоянной длины (биты, группы битов), а коды – с единицами переменной длины (слоги, слова, фразы). Более глубоким различием является то, что коды оперируют с лингвистическими элементами, разделяя исходный текст на смысловые элементы. Наконец, кодирование текста не всегда имеет своей целью сокрытие его смысла, а может применяться, например, для уменьшения его размера (сжимающие коды, применяемые в алгоритмах архивирования).

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

1.2. Математические основы криптографии

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

7

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

С другой стороны, многие криптографические задачи влияют на проблематику математических наук. Рассмотрим некоторые направления математики, которые, с одной стороны, дают развитие криптографическим методам, а с другой – сами развиваются благодаря потребностям криптографии.

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

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

Комбинаторный анализ. Эта наука во многом развивалась в интересах криптографии. Особенно это касается комбинаторных проблем, связанных с подстановками и дискретными функциями.

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

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

8

1.3. Математическая модель шифра

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

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

Формальное определение математической модели звучит следующим образом. Математическая модель – это класс неопределяемых математических понятий и отношений между ними.

Например, математической моделью физического трехмерного пространства является евклидова геометрия, где неопределяемыми понятиями являются понятия точки, прямой и направления.

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

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

чение однозначности расшифрования – каждому фиксированному шифро-

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

Пусть X ={x1 ,x2 ,x3 ,...} – множество всех возможных открытых текстов, Y ={y1 ,y2 ,y3 ,...} – множество всех возможных шифрованных текстов. Изобразим эти множества и отношения между ними, как показано на рис. 1.1.

9

X K Y

 

k6

 

 

k1

 

 

k2

 

 

k3

 

 

k

 

 

k5

 

. . .

. . .

. . .

Рис. 1.1. Множества открытых текстов, ключей, шифрованных текстов и отношения между ними

Отношения между множествами X, Y строятся следующим образом. Правило преобразования множества X во множество Y (преобразование зашифрования) обозначим E : X Y, не забывая о том, что преобр а-

зование E должно быть обратимым. При этом преобразовании каждому открытому тексту может ставиться в соответствие несколько шифрованных текстов. Чтобы установить однозначное соответствие, введем параметр, который обозначим k и назовем его ключом. Множество всех возможных ключей обозначим K. Преобразование E с фиксированным параметром k будем называть зашифрованием на ключе k и будем далее обо-

значать E ={Ek : k K}. На рис. 1.1 преобразования Ek

изображены

сплошными стрелками.

 

Обозначим Dk : Ek (X)X обратное преобразование к

Ek и назо-

вем его преобразованием расшифрования на ключе k. Множество всех Dk обозначим D ={Dk : k K}. На рис. 1.1 эти преобразования изображены пунктирными стрелками.

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

На основании проведенных построений сформулируем определение:

10