Основные требования к криптографическим системам
Процесс криптографического закрытия данных может осуществляться как программно, так и аппаратно. Аппаратная реализация отличается существенно большей стоимостью, однако ей присущи и преимущества: высокая производительность, простота, защищенность и т.д. Программная реализация более практична, допускает известную гибкость в использовании. Для современных криптографических систем защиты информации сформулированы следующие общепринятые требования:
зашифрованное сообщение должно поддаваться чтению только при наличии ключа
число операций, необходимых для определения использованного ключа шифрования по фрагменту шифрованного сообщения и соответствующего ему открытого текста, должно быть не меньше общего числа возможных ключей
число операций, необходимых для расшифровывания информации путем перебора всевозможных ключей должно иметь строгую нижнюю оценку и выходить за пределы возможностей современных компьютеров (с учетом возможности использования сетевых вычислений)
знание алгоритма шифрования не должно влиять на надежность защиты
незначительное изменение ключа должно приводить к существенному изменению вида зашифрованного сообщения даже при шифровании одного и того же исходного текста
незначительное изменение исходного текста должно приводить к существенному изменению вида зашифрованного сообщения даже при использовании одного и того же ключа
структурные элементы алгоритма шифрования должны быть неизменными
дополнительные биты, вводимые в сообщение в процессе шифрования, должен быть полностью и надежно скрыты в шифрованном тексте
длина шифрованного текста должна быть равной длине исходного текста
не должно быть простых и легко устанавливаемых зависимостей между ключами, последовательно используемыми в процессе шифрования
любой ключ из множества возможных должен обеспечивать надежную защиту информации
алгоритм должен допускать как программную, так и аппаратную реализацию, при этом изменение длины ключа не должно вести к качественному ухудшению алгоритма шифрования
Дешифровка
Прочитывание зашифрованного текста без представления каким образом он зашифрован, требует железной логики, интуиции, знания лингвистической статистики. Отдельные нюансы дешифрирования конкретных шифров упоминались нами ранее, а теперь мы приведем несколько дополнительных соображений.
Систему шифра (перестановка, замена...) пытаются определить методикой частотного анализа, выявляя сравнительную частоту присутствия различных букв и сравнивая ее с известным эталоном (см. таблицу 1).
Значительную помощь в расшифровывании дают таблицы по встречаемости двух букв (биграмм), а также знания о встречаемости отдельных букв в началах и в концах различных слов (к примеру, буква "П" часто имеется в началах слов, но редка в их окончаниях, тогда как "Ы", наоборот, любит конец и крайне редко может быть в начале...). Полезен будет и словарь для предугадывания слов по их известному началу.
Весьма используем прием с попыткой просто угадать какое-либо (подпись, термин...) слово в криптограмме, в особенности, если лексика послания известна. Затем через вычитание предполагаемого слова (или фразы) из шифротекста, можно попробовать найти ключ к шифру многоалфавитной замены.
Дешифрование систем шифроблокнотов и МК возможно при повторном применении какого-либо из участков случайной числовой последовательности (грубейшая ошибка!). При этом вычтя из одной шифропоследовательности другую, можно освободиться от ключа, имея в результате разность двух совершенно незакрытых текстов. Предположив в одном из них какое-либо вероятное слово, последнее пытаются "сложить" с имеющейся "разностью". При правильном угадывании в этом случае становится читабельным и второй текст.
Атака на различные сложные шифры довольно часто завершается вскрытием шифра простой замены, а этот шифр не очень сложен в расшифровывании ввиду избыточности текста.
Опыт, приобретаемый при расшифровывании одной системы обычно слабо помогает при дешифрировании другой, и здесь лучше воспользоваться ЭВМ, хотя при слишком большой длительности ключа машина может выдать и случайные осмысленные, хотя совсем не истинные куски якобы дешифрированного текста.