Sorry about the horrible title, didn't now what to say.
I'm trying to avoid having to send an IV with every message purely to keep packet sizes down, so I thought of a method to establish a "IV Pool".
This is how I thought it should be:
Client ---- Handshake ---> Server
Server ---- Handshake ---> Client
Client and Server now have a shared 1024-bit secret
First 256-bit's of the key are used as AES Key.
Now what I thought is, could I take the next 128-bits of the secret as the IV for the first encryption, and then send a massive list of random bytes to the server to use as IV's? For example:
Client ---- Sends 1024 bytes of random ---> Server
Then the client and server both take 128-bits of the random bytes each time they send a message as the IV. That way the IV is synced across both parties and the IV does not change and is theoretically "not-predictable".
My question is, is this safe? Or does it still defeat the purpose of having an IV?