Создает ли это проблему с безопасностью, пока ключ и iv хранятся в секрете, но одинаковы? Спасибо.
ОБНОВЛЕНИЕ: я провел небольшое исследование и выяснил, почему используется iv. Как упоминалось в ответе ниже, это способ защиты от частотных атак. И есть два требования при создании iv: уникальность и непредсказуемость.
Алгоритм, который я придумал для создания ключа aes и iv, таков: получить два значения из определенной точки эллиптической кривой, которые были согласованы ранее, с использованием асимметричного шифрования. (x, y)
Aes.Key <- HASH(x)
(string)unique <- timestamp()
(string)unpre <- y
Aes.IV <- HASH(unique + unpre)
И делитесь данными как {encryptedmessage, timestamp}
С этой логикой все в порядке?