Программное обеспечение
Любой алгоритм шифрования может быть реализован программно. Недостатками являются скорость, стоимость и легкость модификации (или манипулирования). К преимуществам относятся гибкость и переносимость, простота использования и обновления. Алгоритмы, приведенные в конце этой книги написанные на C, с небольшими изменениями могут быть реализованы на любом компьютере. Они могут быть скопированы и установлены на многих машинах. Они могут быть встроены в большие приложения, такие как программы связи или текстовые процессоры.
Программы шифрования широко распространены и доступны для всех основных операционных систем. Они предназначены для защиты личных файлов, пользователям обычно нужно вручную шифровать и дешифрировать конкретные файлы. Важно, чтобы была безопасной схема управления ключами: ключи не должны храниться нигде на диске (или в области памяти, которую операционная система может сохранить на диске). После шифрования ключи и открытые тексты файлов должны быть удалены. Многие программы неаккуратны в этом отношении, и пользователь должен тщательно выбирать программу шифрования.
Конечно, Мэллори может всегда заменить алгоритм программного шифрования чем-нибудь мерзким. Но для большинства пользователей это не проблема. Если Мэллори может вломиться в наш офис и изменить нашу программу шифрования, он также может вмонтировать в стену скрытую камеру, жучка в телефон и детектор TEMPEST на улице. Если Мэллори настолько могущественнее пользователя, то пользователь проиграет игру, прежде чем она начнется.