This app is a simple, no frills, implementation of the Diffie-Hellman key exchange algorithm. Using this app, two parties can agree on a secret key value without ever exchanging what the value actually is, and therefore avoiding a man in the middle situation. To do this, a sender picks a public key value and generates an interim public key and interim secret key and sends the public key information as well as the public interim key values to the receiver. The sender does not send his secret interim key information. The receiver can then take the public key information and generate a public and secret interim key value. The receiver sends the public interim key value back to the sender, but does not send the secret interim key information. Now both parties have the necessary information to compute a shared secret value. The shared secret value is the same for both parties, but was never communicated publicly! A person listening in on the values being sent between the two parties does not have enough information to compute the shared secret key because they do not know either of the secret interim keys. The two parties can then use the shared secret key to encrypt their further communications using another application.