Ключ
Криптографический ключ — значение, управляющее преобразованием и определяющее возможность шифровать, расшифровывать или аутентифицировать данные.
Определение
Криптографический ключ — параметр алгоритма, выбирающий конкретное преобразование. Сам алгоритм может быть публичным. Симметричные системы используют общий секретный ключ, а асимметричные — математически связанную пару открытого и закрытого ключей.
Ключи и пароли
Ключ обычно представляет собой случайные байты нужной длины. Пароль имеет меньшую предсказуемую энтропию, поэтому из него получают ключ функцией выработки с солью. Nonce, вектор инициализации и соль решают другие задачи и не заменяют ключ.
Управление ключами
Стойкий алгоритм не спасёт раскрытый или плохо сгенерированный ключ. Необходимы безопасные генерация, хранение, доступ, резервирование, ротация, отзыв и уничтожение. Открытый ключ можно распространять, но его подлинность нужно проверять; закрытые и симметричные ключи хранят в секрете.
Нет. Пароль выбирает человек, а ключ обычно является высокоэнтропийными двоичными данными. KDF может безопасно вывести ключ из пароля.
Только в рамках конкретного алгоритма. Размеры разных семейств нельзя сравнивать напрямую, а большой ключ не исправит слабый алгоритм.
Обычно нет, но в зависимости от режима он должен быть уникальным или непредсказуемым. Неправильный повтор может разрушить безопасность.