El algoritmo que pensé para crear la clave aes y iv es: obtener dos valores de un determinado punto de curva elíptica que se acordó anteriormente mediante el uso de cifrado asimétrico. (x, y)
Aes.Key <- HASH(x)
(string)unique <- timestamp()
(string)unpre <- y
Aes.IV <- HASH(unique + unpre)
Y comparte datos como {encryptedmessage, timestamp}
marca de tiempo para la singularidad y valor de y para imprevisibilidad.
¿Está bien esta lógica?