Let's say I have a message (eg:
Hello, world!) and I want to encrypt this message using symmetric encryption (AES-256). I am using a list of keys, where I randomly take one as a key (so that each message has a random key). My opponent also has this list of keys, but due to its size it will take too much time to brute-force.
I would like to somehow share either the key, or the index number of the key in the key-list with my opponent, but I have to do it at the same time I am sending the message.
Is there an algorithm or protocol which I can use to handle this scenario?