Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
avineshwar authored Jun 16, 2016
1 parent 3c13c1f commit 258694c
Showing 1 changed file with 15 additions and 1 deletion.
16 changes: 15 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,15 @@
# Socket-based-AES-key-exchange
# Socket-based-AES-key-exchange




This project has 2 parts. A client and a server. Client is Android. Server is a basic Java server; socket-supporting and just does the job.

I tried to implement an unsual way of exchanging AES (symmetric) keys. What I am effectively doing is once public keys are exchanged, public keys will be used to encrypt AES keys and then sent over (an unsecure channel). Post this exchange, the job of RSA algorithm is done and from that point in time, one should use AES keys for further exchange or communication, of whatsover type.


Following is the process of exchange:
- Client sends his locally generated RSA public key, as a string, to Server.
- Server sends his locally generated RSA public key, as a string, to Client.
- Since the received public keys are actually received as strings, they have to realised back as public keys for any usage. This is possible using the components of that string, i.e., public key's modulus and exponent. It is being done on both sides.
- Once this is done, both the parties will move ahead with the encryption and forwarding of encrypted AES keys. Note that we are just interacting with the Android-type client. Server is going to be responding in a specific manner to the communication being done.

0 comments on commit 258694c

Please sign in to comment.