Что касается возможности использовать ' key files
' с KeePass .
Для генерации 256-битного ключа для блочных шифров используется алгоритм Secure Hash SHA-256. Этот алгоритм сжимает пользовательский ключ, предоставленный пользователем (состоящий из пароля и / или файла ключа), в ключ фиксированного размера в 256 бит. Это преобразование является односторонним, то есть вычислительно невозможно инвертировать хеш-функцию или найти второе сообщение, которое сжимается в тот же хеш.
Недавно обнаруженная атака на SHA-1 не влияет на безопасность SHA-256. SHA-256 по- прежнему считается очень безопасным .
(есть еще одно недавнее обновление, но я думаю, что такие новости здесь не актуальны ).
На данный момент ,
Вывод ключа :
если используется только пароль (т.е. без файла ключа), пароль плюс 128-битная случайная соль хэшируются с использованием SHA-256 для формирования окончательного ключа (но обратите внимание, что есть некоторая предварительная обработка: защита от атак по словарю). Случайная соль предотвращает атаки, основанные на предварительно вычисленных хэшах.При использовании файла пароля и ключа окончательный ключ получается следующим образом: SHA-256 (SHA-256 (пароль), содержимое файла ключа), т. Е. Хэш мастер-пароля объединяется с байтами файла ключа и полученным байтом. строка снова хешируется с помощью SHA-256 . Если файл ключа не содержит ровно 32 байта (256 бит), они также хэшируются с помощью SHA-256, чтобы сформировать 256-битный ключ. Затем приведенная выше формула меняется на: SHA-256 (SHA-256 (пароль), SHA-256 (содержимое файла ключа)).
Если вы считаете, что ваш пароль будет немного слабее (и лучше для вашей памяти), ключевой файл является хорошим вторым фактором . Итак, используйте оба (вместе).