The software should have the ability to monitor a port and connect to incoming request or to request a connection to another computer that is waiting for the request. When a connection is made, each side creates a one-time use public and private key (preferably using random input from the user).Each public key is sent to the other computer. When a sentence is typed on one side, I'd like to have it encrypted then sent to the other computer which decrypts and displays the text. At the end of the conversation, the key pairs would be deleted. The initial encryption type needs to be either:128-bit Rijndael and/or Twofish (there is code on the internet to show how these work: [login to view URL]~rijmen/rijndael/ and [login to view URL] So you can plan accordingly.... Possible future expansions (hopefully using the same coder) may add the ability to choose different key and block lengths, signing of the encrypted text, changing the monitored port, different encryption types (maybe pgp?), logging onto a server to find another user's IP address, connection to multiple clients, drawing board sharing, and perhaps the ability to transfer files (excel, access, and PDF especially) in the same secure fashion while continuing the ability to chat. Please let me know if this is not a good project to implement (and why). This program should be created in Visual C++, Visual Basic 6.0, Visual C#, or VB.Net.
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. 2) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request. 3) Complete ownership and Exclusive distribution copyrights to all work purchased. 4) Proper in-Code documention of what each procedure/function does. 5) A short encrypted chat on the finished software between myself and the coder (to demonstrate the encryption/decryption works w/o errors).
## Platform
Pentium/Athlon or Higher, Windows 98, 2000, XP, 128M Ram, Dial-up or continuous internet connection/Lan connection.