Парольная фраза — это секретная фраза, в идеале сгенерированная случайным образом из большого списка слов. Например, «SportyBoroughSubtitleHandclapMundanePostnasalCladPassableDuvetFootwear» — это кодовая фраза. Я сгенерировал это из списка из 7776 слов, и в нем 10 слов, так что в нем около 128 битов. энтропия.
Ключевой файл — это файл, содержащий криптографический ключ. Криптографический ключ (для симметричного шифрования, который обычно используется при работе с ключевыми файлами) состоит как минимум из 112 бит случайных двоичных данных (обычно 128 или 256 бит). Это не текст.
Алгоритмы шифрования используют ключи, а не парольные фразы (или пароли). Некоторые программы будут использовать «Функция хеширования паролей» для получения ключа из пароля, а затем использовать этот ключ для выполнения шифрования или дешифрования. Такие программы, как Veracrypt, фактически случайным образом генерируют один ключ, используют этот ключ для шифрования интересующих данных, а затем шифруют первый ключ с помощью ключа, полученного из парольной фразы пользователя. Это позволяет пользователю изменить свою парольную фразу без необходимости повторного шифрования больших объемов данных, вместо этого им нужно повторно зашифровать только первый ключ.
Шифрование не более надежно, чем ключ или фраза-пароль, используемая для получения ключа. Эта сила измеряется в «битах энтропии» и зависит от длины ключа (или фразы-пароля) и процесса, используемого для создания этого ключа (все, кроме равномерного случайного выбора, снижает энтропию). Zip и Rar могут быть взломаны так же медленно, как и Veracrypt, если используются соответствующие версии программного обеспечения (некоторые старые версии не использовали надежные методы шифрования) и парольная фраза достаточно длинная.
Ключевые файлы, содержащие секрет или частное, всегда должны храниться в секрете.
Одним из распространенных способов использования ключевых файлов являются менеджеры паролей, такие как KeePassXC и Bitwarden. Когда они используют ключевые файлы, ключевой файл используется в дополнение к парольной фразе пользователя, оба необходимы для расшифровки базы данных паролей. Таким образом, ключевой файл служит вторым фактором, необходимым для расшифровки базы данных. Базу данных можно безопасно синхронизировать через облачное хранилище, такое как Dropbox или iCloud, в то время как ключевой файл должен передаваться между устройствами только локальными средствами, такими как USB-кабель. Без ключевого файла и парольной фразы невозможно расшифровать базу данных.
Я не знаком с EncryptPad, поэтому не могу ответить на конкретные вопросы о нем, а вопросы о конкретных программах в любом случае не по теме на этом сайте.