1.4. Практические требования к симметричным криптосистемам
Один из основополагающих принципов построения криптографических систем или как их часто называют на практике – шифров – был сформулирован в XVII веке голландским офицером В.Керкхофсом. Он гласит, что стойкость шифра не должна зависеть от знания злоумышленником особенностей построения шифра и должна определяться только секретностью ключа, знание алгоритма шифрования не должно влиять на надежность защиты.
Впоследствии в одной из своих фундаментальных работ американский математик К.Шеннон строго обосновал еще ряд важных принципов построения симметричных шифров.
Важнейшим свойством любой криптосистемы является криптостойкость, характеризующая ее способность противостоять криптоаналитическим атакам и исключающая в некоторых допустимых пределах возможность дешифрования зашифрованных сообщений без знания ключа или подделки сообщения. Существует несколько подходов к оценке криптостойкости, в зависимости от комплекса условий, облегчающего криптоанализ. Отметим только некоторые:
1) среднее время, необходимое для поиска истинного ключа путем полного перебора всех возможных вариантов ключей;
2) сложность наилучшего алгоритма решения задачи вскрытия ключа при наличии шифрованного и соответствующего ему открытого текста;
3) сложность наилучшего алгоритма решения задачи вскрытия ключа с помощью специально подобранных пар шифрованных и соответствующих им открытых текстов и др.
Комплекс условий, соответствующий последнему случаю, в криптографии часто используется для разграничения стойких и слабых криптосистем в том смысле, что криптосистема, допускающая вскрытие ключа при данном комплексе условий (не говоря уж про менее опасные ситуации) считается слабой, иначе – стойкой. Понятно, что при этом вскрытие ключа должно осуществляться в приемлемое время.
Ряд требований к шифру обусловлен необходимостью обеспечения простоты его технической реализации в программном и аппаратном виде.
Отметим, что при аппаратной реализации шифров достигаются высокая скорость обработки информации, надежная защита от несанкционированного доступа к конфиденциальным данным, однако для нее характерна высокая стоимость. Программная реализация более дешевая, характеризуется известной гибкостью применения, в тоже время она менее защищена от различных хакерских атак.
С учетом того факта, что большинство реальных каналов связи в той или иной мере подвержены воздействию шумов, выдвигается требование, что искажение шифрованного сообщения путем замены любого символа не должно приводить к существенному распространению искажений при расшифровании.
Если в результате искажения одного символа в шифрованном сообщении может быть искажен только один символ в расшифрованном тексте, то соответствующий шифр называется не распространяющим искажения.
Необходимость обеспечения высокой пропускной способности системы связи и требование экономного использования ресурса памяти в вычислительных системах выдвигают следующее условие: шифрование не должно существенно увеличивать длину исходного текста, а дополнительные биты, вводимые в сообщение в процессе шифрования, должны быть полностью и надежно скрыты в шифрованном тексте
К современным криптографическим системам защиты информации предъявляются и другие требования:
1) зашифрованное сообщение должно поддаваться прочтению только при наличии ключа;
3) любой ключ из допустимого множества должен обеспечивать надежную защиту информации;
4) незначительное изменение ключа должно приводить к существенному изменению вида зашифрованного сообщения;
5) число операций, необходимых для расшифрования информации путем перебора всевозможных ключей, должно превышать прогнозируемые на перспективу вычислительные возможности компьютеров с учетом методов использования сетевых вычислений;
6) не должно быть простых и легко устанавливаемых зависимостей между ключами, используемыми в процессе эксплуатации криптосистемы;
7) число операций, необходимых для определения ключа с использованием шифрованного сообщения и соответствующего ему открытого текста, должно быть не меньше общего числа возможных ключей;
8) структурные элементы алгоритма шифрования должны быть неизменными.