Цель криптографической системы заключается в том, чтобы зашифровать осмысленный исходный текст (также называемый открытым текстом), получив в результате совершенно бессмысленный на взгляд шифрованный текст (шифртекст, криптограмма). Получатель, которому он предназначен, должен быть способен расшифровать (говорят также "дешифровать") этот шифртекст, восстановив, таким образом, соответствующий ему открытый текст. При этом противник (называемый также криптоаналитиком) должен быть неспособен раскрыть исходный текст. Существует важное отличие между расшифрованием (дешифрованием) и раскрытием шифртекста.
Раскрытием криптосистемы называется результат работы криптоаналитика, приводящий к возможности эффективного раскрытия любого, зашифрованного с помощью данной криптосистемы, открытого текста. Степень неспособности криптосистемы к раскрытию называется ее стойкостью.
Вопрос надёжности систем ЗИ - очень сложный. Дело в том, что не существует надёжных тестов, позволяющих убедиться в том, что информация защищена достаточно надёжно. Во-первых, криптография обладает той особенностью, что на "вскрытие" шифра зачастую нужно затратить на несколько порядков больше средств, чем на его создание. Следовательно, тестовые испытания системы криптозащиты не всегда возможны. Во-вторых, многократные неудачные попытки преодоления защиты вовсе не означают, что следующая попытка не окажется успешной. Не исключён случай, когда профессионалы долго, но безуспешно бились над шифром, а некий новичок применил нестандартный подход - и шифр дался ему легко. В результате такой плохой доказуемости надёжности средств ЗИ на рынке очень много продуктов, о надёжности которых невозможно достоверно судить. Естественно, их разработчики расхваливают на все лады своё произведение, но доказать его качество не могут, а часто это и невозможно в принципе. Как правило, недоказуемость надёжности сопровождается ещё и тем, что алгоритм шифрования держится в секрете.
На первый взгляд, секретность алгоритма служит дополнительному обеспечению надёжности шифра. Это аргумент, рассчитанный на дилетантов. На самом деле, если алгоритм известен разработчикам, он уже не может считаться секретным, если только пользователь и разработчик - не одно лицо. К тому же, если вследствие некомпетентности или ошибок разработчика алгоритм оказался нестойким, его секретность не позволит проверить его независимым экспертам. Нестойкость алгоритма обнаружится только тогда, когда он будет уже взломан, а то и вообще не обнаружится, ибо противник не спешит хвастаться своими успехами.
Поэтому криптограф должен руководствоваться правилом, впервые сформулированным голландцем Керкхоффом: стойкость шифра должна определяться только секретностью ключа. Иными словами, правило Керкхоффа состоит в том, что весь механизм шифрования, кроме значения секретного ключа априори считается известным противнику.
Все методы шифровки можно разделить на две группы: шифры с секретным ключом и шифры с открытым ключом.
Первые характеризуются наличием некоторой информации (секретного ключа), обладание которой даёт возможность как шифровать, так и расшифровывать сообщения. Поэтому они именуются также одноключевыми. Шифры с открытым ключом подразумевают наличие двух ключей - открытого и закрытого; один используется для шифровки, другой для расшифровки сообщений. Эти шифры называют также двухключевыми.
Этот тип шифров подразумевает наличие некой информации (ключа), обладание которой позволяет как зашифровать, так и расшифровать сообщение. С одной стороны, такая схема имеет те недостатки, что необходимо кроме открытого канала для передачи шифрограммы наличие также секретного канала для передачи ключа, а кроме того, при утечке информации о ключе, невозможно доказать, от кого из двух корреспондентов произошла утечка.
С другой стороны, среди шифров именно этой группы есть единственная в мире схема шифровки, обладающая абсолютной теоретической стойкостью. Все прочие можно расшифровать хотя бы в принципе. Такой схемой является обычная шифровка (например, операцией XOR) с ключом, длина которого равна длине сообщения. При этом ключ должен использоваться только раз. Любые попытки расшифровать такое сообщение бесполезны, даже если имеется априорная информация о тексте сообщения. Осуществляя подбор ключа, можно получить в результате любое сообщение.
Шифры с открытым ключом подразумевают наличие двух ключей - открытого и закрытого; один используется для шифровки, другой для расшифровки сообщений. Открытый ключ публикуется - доводится до сведения всех желающих, секретный же ключ хранится у его владельца и является залогом секретности сообщений. Суть метода в том, что зашифрованное при помощи секретного ключа может быть расшифровано лишь при помощи открытого и наоборот. Ключи эти генерируются парами и имеют однозначное соответствие друг другу. Причём из одного ключа невозможно вычислить другой.
Характерной особенностью шифров этого типа, выгодно отличающих их от шифров с секретным ключом, является то, что секретный ключ здесь известен лишь одному человеку, в то время как в первой схеме он должен быть известен по крайней мере двоим. Это даёт такие преимущества:
· не требуется защищённый канал для пересылки секретного ключа, вся связь осуществляется по открытому каналу;
· «что знают двое, знает свинья» - наличие единственной копии ключа уменьшает возможности его утраты и позволяет установить чёткую персональную ответственность за сохранение тайны;
· наличие двух ключей позволяет использовать данную шифровальную систему в двух режимах - секретная связь и цифровая подпись.
Все государства уделяют пристальное внимание вопросам криптографии. Наблюдаются постоянные попытки наложить некие рамки, запреты и прочие ограничения на производство, использование и экспорт криптографических средств. Например, в России лицензируется ввоз и вывоз средств защиты информации, в частности, криптографических средств, согласно Указу Президента Российской Федерации от 3 апреля 1995 г. N 334 и постановлению Правительства Российской Федерации от 15 апреля 1994 г. N 331.
Криптографическая защита относительно дёшева, а средства её преодоления либо очень дороги, либо вообще не существуют.
Криптосистема не может считаться надёжной, если не известен полностью алгоритм её работы. Только зная алгоритм, можно проверить, устойчива ли защита. Однако проверить это может лишь специалист, да и то зачастую такая проверка настолько сложна, что бывает экономически нецелесообразна.
Чтобы продавать средства информационной защиты, сертификация необходима. Такие положения действуют в России и в большинстве стран.
У нас единственным органом, уполномоченным проводить сертификацию, является Федеральное агентство правительственной связи и информации при Президенте Российской Федерации (ФАПСИ). Орган этот подходит к вопросам сертификации очень тщательно. Совсем мало разработок сторонних фирм смогли получить сертификат ФАПСИ. Иногда можно наблюдать такую картину. Фирма торгует неким программным, программно аппаратным комплексом или техническим решением, при этом гордо заявляет: «Продукция имеет сертификат ФСБ, Минсвязи, Госсвязьнадзора и т.п.» Надо сознавать, что документы эти юридически ничтожны.