Something came to my mind, and I wonder if this is proper method for client-server communication, and if this method is wide-used.
On connection, client generates seed, encrypts it using asymmetric algorithm(RSA for example), and sends it to the server.
Using CSPRNG, both client and server generate array of random bytes(using the same seed known only to client and server).
When client/server communicate, it adds random byte to each byte of message depending on offset.
For example, first byte of message since begging of connection is added to first byte of random bytes array. Opposite client/server then subtracts random byte from message byte.
Is it secure method? How is it different from sending key of XTEA (for example) using asymmetric algorithm, and using symmetric algorithm(XTEA) for rest of communication?