Если я сохраню параметр iv в секрете, должен ли он по-прежнему быть случайным в AES/CBC?

Создает ли это проблему с безопасностью, пока ключ и iv хранятся в секрете, но одинаковы? Спасибо.

ОБНОВЛЕНИЕ: я провел небольшое исследование и выяснил, почему используется iv. Как упоминалось в ответе ниже, это способ защиты от частотных атак. И есть два требования при создании iv: уникальность и непредсказуемость.

Алгоритм, который я придумал для создания ключа aes и iv, таков: получить два значения из определенной точки эллиптической кривой, которые были согласованы ранее, с использованием асимметричного шифрования. (x, y)

Aes.Key <- HASH(x)
(string)unique <- timestamp()
(string)unpre <- y
Aes.IV <- HASH(unique + unpre)

И делитесь данными как {encryptedmessage, timestamp}

С этой логикой все в порядке?


person ahfakt    schedule 15.01.2016    source источник
comment
Это зависит от того, как вы применяете асимметричный шифр. Если вы используете подход KEM, в котором вы создаете новую точку эллиптической кривой для каждого шифрования, то это выглядит нормально, но если ваша точка (x, y) является долгосрочным секретом, тогда в этом все еще отсутствует рандомизация и Ответ LDMJoe применим. Так или иначе...   -  person Artjom B.    schedule 17.01.2016
comment
Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что он не имеет прямого отношения к программированию. Он гораздо лучше подходит для криптографии. Следует уточнить, как выглядит протокол и как часто меняется точка эллиптической кривой.   -  person Artjom B.    schedule 17.01.2016


Ответы (1)


Вам нужен случайный (или, по крайней мере, псевдослучайный) вектор инициализации для блочных шифров, таких как AES.

Взято прямо из Википедии:

Рандомизация имеет решающее значение для схем шифрования для достижения семантической безопасности, свойство, благодаря которому повторное использование схемы с одним и тем же ключом не позволяет злоумышленнику установить отношения между сегментами зашифрованного сообщения.

person LDMJoe    schedule 15.01.2016
comment
Да, говорит. Но я думаю, что это требование для сценария, который я отправил с сообщением публично. ключ, iv, открытый текст, все они секретные, это другая ситуация. Я ошибся? - person ahfakt; 15.01.2016