Общие сведения
Прежде чем перейти к рассмотрению криптографических протоколов, а также к их практическому применению, необходимо уделить внимание вопросам, которые в рамках криптографии давно признаются классическими, а именно - основам построения систем засекреченной связи.
Под системой засекреченной связи будем понимать систему передачи информации, в которой смысл передаваемой информации скрывается с помощью криптографических преобразований. При этом сам факт передачи информации не утаивается. В основе каждой системы засекреченной связи - использование алгоритмов шифрования как основного средства сохранения конфиденциальности.
Зашифрование - процесс криптографического преобразования множества открытых сообщений в множество закрытых сообщений.
Расшифрование - процесс криптографического преобразования закрытых сообщений в открытые.
Дешифрование - процесс нахождения открытого сообщения, соответствующего заданному закрытому при неизвестном криптографическом преобразовании.
Множество открытых сообщений может быть представлено в виде битового потока, сетевого фрейма, файла и т.д.
Абстрактно систему засекреченной связи можно описать как множество отображений множества открытых сообщений в множество закрытых. Выбор конкретного типа преобразования определяется ключом расшифрования (или зашифрования). Отображения должны обладать свойством взаимооднозначности, то есть при расшифровании должен получаться единственный результат, совпадающий с первоначальным открытым
сообщением . Ключи зашифрования и расшифрования могут в общем случае быть различными, хотя для простоты рассуждений (применительно к этой главе) предположим, что они идентичны. Множество, из которого выбираются ключи, называется ключевым пространством. Совокупность процессов зашифрования, множества открытых сообщений, множества возможных закрытых сообщений и ключевого пространства называется алгоритмом зашифрования. Совокупность процессов расшифрования, множества возможных закрытых сообщений, множества открытых сообщений и ключевого пространства называется алгоритмом расшифрования.
Работу системы засекреченной связи можно описать следующим образом:
1. Из ключевого пространства выбирается ключ зашифрования К и отправляется по надежному каналу передачи.
2. К открытому сообщению С, предназначенному для передачи, применяют конкретное преобразование Fk, определяемое ключом К, для получения зашифрованного сообщения М - М = Fk(C).
3. Полученное зашифрованное сообщение М пересылают по каналу передачи данных.
4. На принимающей стороне к полученному сообщению М применяют конкретное преобразование Dk, определяемое из всех возможных преобразований ключом К, для получения открытого сообщения С: С = Dk(M).
Канал передачи данных, используемый для отправки зашифрованных сообщений, считается ненадежным, то есть любое зашифрованное сообщение может быть перехвачено противником (злоумышленником). Здесь мы предполагаем, что передаваемая информация сохраняет целостность, хотя на практике это не менее важная задача по сравнению с обеспечением конфиденциальности передаваемых сообщений.
Наличие потенциального противника приводит к тому, что система засекреченной связи может быть скомпрометирована. На практике обеспечение надежности функционирования подобной системы сводится к стойкости используемых алгоритмов шифрования, лежащих в основе всех операций. Это обусловлено тем, что стойкость всей системы не может быть выше стойкости алгоритмов шифрования, однако может быть и гораздо ниже, хотя бы в силу технической реализации самой системы. Так, противник, анализируя побочные излучения от аппаратуры, на которой реализуются алгоритмы шифрования, в состоянии получить интересующий его ключ. Использование технических средств для обработки, передачи и хранения конфиденциальной информации порождает сложную научно-техническую задачу обеспечения ее защиты (под защитой мы будем подразумевать сохранение свойств информации, необходимых пользователям). В рамках данной книги технические аспекты защиты информации рассматриваться не будут, мы остановимся только на криптографических методах и средствах.
Каким требованиям должны удовлетворять алгоритмы шифрования, чтобы не быть скомпрометированными в случае, если противник обладает неограниченными возможностями (временем, вычислительными средствами, количеством перехваченных зашифрованных сообщений), что такое стойкость алгоритмов шифрования - эти и подобные вопросы будут рассмотрены в настоящей главе.