1. Server sends the p,g, and server Public key.
2. Decrypt the packet using the game key and get those values.
3. Generate a new public key using the p,g and random value.
4. Edit the packet by replacing the old public key using the generated key.
5. Encrypt and send the packet to the client.
6. Receive the client dh packet and edit it with the generated client public key.
7. Generate Client and server encryption keys using the real server/client keys
8. After that has been set up do you use ClientEncryptIV to encrypt client packet and vice versa for the server packets to. Or do you still need to use the game key and such.
2. Decrypt the packet using the game key and get those values.
3. Generate a new public key using the p,g and random value.
4. Edit the packet by replacing the old public key using the generated key.
5. Encrypt and send the packet to the client.
6. Receive the client dh packet and edit it with the generated client public key.
7. Generate Client and server encryption keys using the real server/client keys
8. After that has been set up do you use ClientEncryptIV to encrypt client packet and vice versa for the server packets to. Or do you still need to use the game key and such.