# Randomly shuffle a larger key based on the IV to make the private key unique?

Suppose you have a larger secret key than you need, e.g. 512 bits for a 128 bit symmetric encryption algorithm. For something like AES-GCM the IV is random, unique, and public. So both Alice and Bob could use the IV to randomly shuffle their larger shared secret key to produce a unique encryption key for the message.

It would be mathematically very unlikely for IV and thus for the key to ever be repeated between messages. Wouldn't that make any encryption algorithm more secure? If you took a 512bit key and randomly choose 16 bytes without replacement, you have `(64−16)!/64!​= 48!/64!​ = 1.0221346459144×10^28 or about 2^93` unique permutations. So practically speaking, both the IV and the secret key would be unique for every message.

That should be more secure right? Not that it matters that much, because it was already secure. But, it would seem to me that the benefit would be that if you were somehow able to break one message (e.g. with a known plaintext attack) you don't automatically break any others. I know it's usually a bad idea to get creative with crypto, but this does seem interesting to me.

• What you are describing is not a private key. Private keys are define in asymmetric cryptography. In symmetric algorithms like AES there are no private or public keys. There are just keys. Jun 17 at 21:10
• Yes, sorry I mean secret key. This is symmetric encryption. Jun 18 at 0:11