В литературе имеется несколько определений термина «криптография», они близки по смыслу и отличаются в основном отражением применения.
Так краткое определение в толковом словаре звучит так: «Криптография – система защиты сообщений, при которой передаваемые данные можно понять, только зная ключ к расшифровке. Широко используется для защиты от несанкционированного доступа к данным».
Другое определение: «Криптография – это наука об обеспечении секретности и / или аутентичности (подлинности) передаваемых сообщений».
Часто криптографию заменяют одним словом «шифрование» и относят к средствам программного обеспечения, хотя при криптографии могут использоваться не только программные средства, но и целый ряд других, а методы криптографического преобразования информации включают не только шифрование [15].
Мы остановимся на таком (наиболее полном) определении. Под криптографической защитой информации понимается такое преобразование исходной информации, в результате которого она становится недоступной для ознакомления и использования лицами, не имеющими на это полномочий.
Сущность криптографических методов заключается в следующем. Готовое к передаче информационное сообщение, первоначально открытое и незащищенное, зашифровывается и тем самым преобразуется в шифрограмму, т. е. в закрытые текст или графическое изображение документа. В таком виде сообщение и передается по каналу связи, пусть даже и незащищенному. Санкционированный пользователь после получения сообщения дешифрует его (т.е. раскрывает) посредством обратного преобразования криптограммы, вследствие чего получается исходный, открытый вид сообщения, доступный для восприятия санкционированным пользователем. Таким образом, даже в случае перехвата сообщения взломщиком текст сообщения становится недоступным для него.
Методу преобразования в криптографической системе соответствует использование специального алгоритма. Действие такого алгоритма запускается уникальным числом (последовательностью бит), обычно называемым шифрующим ключом.
Каждый использованный ключ может производить различные шифрованные сообщения, определяемые только этим ключом. Для большинства систем закрытия схема генератора ключа может представлять собой набор инструкций команд, либо все это вместе, но в любом случае процесс шифрования (дешифрования) определяется только этим специальным ключом. Чтобы обмен зашифрованными данными проходил успешно, как отправителю, так и получателю необходимо знать правильную ключевую установку и хранить ее в тайне.
Стойкость любой системы закрытой связи определяется степенью секретности используемого в ней ключа. Тем не менее этот ключ должен быть известен другим пользователям сети, чтобы они могли обмениваться свободно зашифрованными сообщениями. В этом смысле криптографические системы также помогают решить проблему аутентификации (установления подлинности) принятой информации. Взломщик в случае перехвата сообщения будет иметь дело только с зашифрованными, а истинный получатель принимая сообщения, закрытые ему и отправителю ключом, будет надежно защищен от возможной дезинформации.
Механизмы шифрования все шире применяются как при обработке, так и при хранении информации на магнитных носителях. При передаче информации (см. рис. 1) по каналам связи большой протяженности этот метод является единственно надежным.
Процесс шифрования заключается в проведении обратимых математических, логических комбинаторных и других преобразований исходной информации, в результате которых зашифрованная информация представляет собой хаотичный набор букв, цифр, других символов и двоичных кодов.
Для шифрования информации используются алгоритм преобразования и ключ. Как правило, алгоритм для определенного метода шифрования является неизменным. Исходными данными для алгоритма шифрования служат информация, подлежащая шифрованию, и ключ шифрования. Ключ содержит управляющую информацию, которая определяет выбор преобразования на определенных шагах алгоритма и величины операндов, используемые при реализации алгоритма шифрования.
Атаку на шифр называют криптоанализом (процесс расшифрования закрытой информации без знания ключа и, возможно, при отсутствии сведений об алгоритме шифрования).
Современные методы шифрования должны отвечать следующим требованиям:
- стойкость шифра противостоять криптоанализу (криптостойкость) должна быть такой, чтобы вскрытие его могло быть осуществлено только путем решения задачи полного перебора ключей;
- криптостойкость обеспечивается не секретностью алгоритма шифрования, а секретностью ключа;
- шифротекст не должен превосходить по объему исходную информацию;
- ошибки, возникающие при шифровании, не должны приводить к искажениям и потерям информации;
- время шифрования не должно быть большим;
- стоимость шифрования должна быть согласована со стоимостью информации.
Криптостойкость шифра является его основным показателем эффективности. Она измеряется временем или стоимостью средств, необходимых криптоаналитику для получения исходной информации по шифротексту, при условии, что ему не известен ключ.
Сохранить в секрете широко используемый алгоритм шифрования практически невозможно. Поэтому алгоритм не должен иметь скрытых слабых мест, которыми могли бы воспользоваться криптоаналитики. Если это условие выполняется, то криптостойкость шифра определяется длиной ключа, т.к. единственный путь вскрытия зашифрованной информации – перебор комбинаций ключа и выполнение алгоритма расшифрования. Таким образом, время и средства, затрачиваемые на криптоанализ, зависят от длины ключа и сложность алгоритма шифрования.
В настоящее время есть два способа цифровой криптографии: традиционная криптография и криптография с открытым ключом.
В традиционной криптографии для шифрования и дешифрования используется один и тот же ключ, основанный на каком-либо стандарте. В США, например, сегодня для шифрования используется стандарт DES (Data Encription Standart). Алгоритм шифрования с одним ключом называется симметричным. Его можно использовать для шифрования файлов на жестком диске.
В криптографии с открытым ключом используются два различных ключа: открытый ключ для шифрования и закрытый ключ (секретный или частный) – для дешифрования.
Алгоритм шифрования с двумя ключами называется ассиметричным. Такой алгоритм удобен для передачи зашифрованной информации по компьютерным сетям. Для этого отправитель должен сначала получить от адресата его открытый ключ, а затем переслать зашифрованную открытым ключом информацию. Адресат расшифровывает ее своим закрытым ключом. Понятие «открытый ключ» означает, что ключ пересылается по сетям ЭВМ, например по электронной почте, в то время как закрытый ключ таким способом не пересылается.
Теория шифрования с использованием открытого ключа была разработана Уэтфилдом Диффи и Мартином Хэлманом [2]. Развивая эту теорию, трое ученых Р. Л. Риверст, А. Шамир и Л. Адельман создали алгоритм реализации криптографии с открытым ключом и основали затем компанию RSA Data Security. Криптографический алгоритм с открытым ключом получил краткое название RSA (от первых букв фамилий авторов – Rivest, Shamir, Adelman). Этот алгоритм обеспечивает более высокую степень защиты. Применяемый ключ основан на применении необратимой функции с потайным кодом, которая определяется как семейство обратимых функций.
Криптография с открытым ключом наиболее эффективна при шифровании передаваемых, а не хранящихся в запоминающемся устройстве данных. Кроме того, она прекрасно подходит для замены обычной подписи электронной, так называемой цифровой подписью, применяемой в системах электронных платежей и при передаче сообщений с помощью устройств телесвязи [6,7,14].
Криптография не занимается защитой от обмана, подкупа или шантажа законных абонентов, кражи ключей и других угроз информации, возникающих в защищённых системах передачи данных.