I'm building an application and want it to securely transfer data to a server. Thinking to use public/private keys for initial handshake to encrypt a key with which to encrypt subsequent data.
Is it reasonable to have the private key integrated in the executable which will be distributed out in the wild for anyone to reverse-engineer? I also thought of using three-pass protocol, but read about some of its weaknesses and it probably won't work for me
(originally asked in stackoverflow.com, somebody suggested i post it here instead)