3.8. Производительность
57
в состоянии позволить себе такие расходы, могут не рассчитывать на высокий
уровень безопасности. Все очень просто. Современное программное обеспече-
ние затрачивает громадное количество циклов работы процессора на рисова-
ние красивых трехмерных окошек с альфа-сопряжением, которые нисколько
или почти нисколько не улучшают
функциональность. Безопасность — одна
из главных
проблем современной индустрии. Несмотря на это, люди упорно
не желают тратить на нее столько процессорного времени, сколько уходит на
рисование красивых окошек.
Разрабатывая криптографическую систему, мы пытаемся сделать ее как
можно более эффективной. Тем не менее, начиная с определенного момента,
каждая единица прироста производительности обходится слишком дорого.
Любое уклонение от проторенной дорожки в сфере обеспечения безопасно-
сти оборачивается необходимостью
проведения масштабного анализа, гаран-
тирующего, что мы не допустили ошибку и не занимаемся разработкой заве-
домо слабой системы.
Проведение такого анализа требует привлечения опыт-
ных специалистов по криптографии, а их услуги обходятся весьма недешево.
В большинстве случаев клиентам намного дешевле купить быстрый компью-
тер, чем ввязываться во все
проблемы и расходы, касающиеся разработки
и реализации более эффективной системы безопасности.
Для большинства компьютеров системные требования криптографиче-
ских алгоритмов не составляют проблемы. Современные процессоры настоль-
ко быстры, что могут справиться практически с любым потоком данных. На-
пример, шифрование канала передачи данных, обладающего пропускной спо-
собностью 100 Мбит/с, с помощью алгоритма AES отнимает всего лишь 20%
процессорного времени старенького процессора Pentium III 1 ГГц. (В реаль-
ной жизни эта величина еще меньше, поскольку добиться скорости передачи
данных 100 Мбит/с невозможно из-за особенностей протокола обмена данны-
ми.) Подождав еще пару месяцев, вы сможете купить по той же цене гораздо
более мощный процессор, а значит, затраты на повышение производитель-
ности будут равны нулю. Одна компания когда-то жаловалась на высокую
стоимость шифрования канала передачи данных с пропускной
способностью
1 Гбит/с. Машина, которая обрабатывала эти данные, стоила более полумил-
лиона долларов. Думается, эта компания могла бы позволить себе установить
дополнительный процессор или обновить материнскую плату для ускорения
обработки криптографии.
Иногда применение криптографии действительно приводит к появлению
“узких мест” в производительности системы. Хорошим примером являются
Web-серверы, использующие большое число SSL-соединений. Процедура ини-
циализации SSL-соединения предполагает применение шифрования с откры-
тым ключом и требует большого объема вычислительной мощности на сто-
роне сервера. Разумеется, мы могли бы разработать замену протоколу SSL,