Reputation: 5
I'll explain better my problem.
I have a C# client which connects to a Python server, this client should send (just once) some data to the server when the connection is established, this data shouldn't be tampered.
I have no idea about cryptography but I read some algorithms like RSA, where a public key is used for crypt the data and the private key is used for decrypt it.
What I wanna try to do is to create a pair of keys and send the public key to the client, encrypt the data with this key and send the encrypted data to the server, I think using this way the data can't be decrypted nor tampered, every client connected will have a different pair of keys. Is this possible? I've been searching but I don't really understand how RSA works. Any ideas on how to do this?
Upvotes: 0
Views: 1349
Reputation: 94058
A very simple answer: don't try and create your own protocol, use SSL (or rather TLS) instead. Especially if you are not sure how to implement this. You can use your own self signed (thus gratis) certificates.
Upvotes: 2