Сегодня я делал некоторое неторопливое чтение и наткнулся на раздел 5.8 (на странице 45) Рекомендация для схем установления ключей с использованием дискретного логарифмического криптографии ( Пересмотренный вариант) (Специальная публикация NIST 800-56A). Я был очень смущен этим:
Утвержденная функция вывода ключа (KDF) используется для получения секретности ключевой материал из общего секрета. Выход из KDF должен быть равен используется для секретного ключевого материала, такого как симметричный ключ, используемый для данных шифрования или целостности сообщения, секретный вектор инициализации или мастер-ключ, который будет использоваться для генерировать другие ключи (возможно, используя другой процесс). Несекретная манипуляция материала (например, несекретного вектор инициализации) не должно быть сгенерированный с использованием общего секрета.
Теперь я не Алан Тьюринг, но я думал, что векторы инициализации не должны храниться в секрете. При каких обстоятельствах вам нужен "секретный вектор инициализации"? Томас Порнин говорит, что IV являются публичными, и он, похоже, хорошо разбирается в криптографии. Аналогично caf.