Человеческий фактор
В любой критической системе ошибки человека-оператора являются чуть ли не самыми дорогостоящими и распространенными. В случае криптосистем непрофессиональные действия пользователя сводят на нет самый стойкий криптоалгоритм и самую корректную его реализацию и применение.
В первую очередь это связано с выбором паролей. Очевидно, что короткие или осмысленные пароли легко запоминаются человеком, но они гораздо проще для вскрытия. Использование длинных и бессмысленных паролей безусловно лучше с точки зрения криптостойкости, но человек обычно не может их запомнить и записывает на бумажке, которая потом либо теряется, либо попадает в руки злоумышленнику.
Если ключь шифрования генерируется из вводимого пользователем пароля, то целесообразно не перебирать все возможные варианты ключей, а просто генерировать их из словарных слов.
Атакой по словарю взламываются 90% паролей придуманных неподготовленными пользователями.