При шифровании конфиденциальной информации с использованием библиотеки .NET AesCryptoServiceProvider
я генерирую уникальный вектор инициализации (IV) для каждого зашифрованного значения. В записи базы данных, где я сохраняю зашифрованные данные, у меня есть поле с именем «IV», которое хранит вектор инициализации для использования в дальнейшем расшифровке.Сохранение вектора инициализации - отдельное поле?
Есть ли другой способ, с помощью которого вектор инициализации может храниться вместе с шифротекстом? Возможно, добавив IV в текст шифрования? Если да, существует ли стандартный подход?
Thanks! Интересно, было ли распространено разделение текста IV и Cipher на дефис '-' или какой-то другой« стандартный »символ. – webworm
Никогда не видел. IV обычно имеет предопределенную длину. Для режима CBC он всегда совпадает с размером блока. Для режима CFB это то же самое, что и размер сегмента, а для режима CTR обычно составляет от 64 до 96 бит. Если вы разрешаете переменные CTR IVs (технически nonces), вы можете добавить байт к IV, который обозначает длину IV. –
В области PHP Laravel JSON кодирует IV, зашифрованный текст и MAC отдельно (как один массив). –