CS475 Project 2

Due Monday, October 9

For project 2, send a secure message from one person to another. You can be both people if you want to, but could also do this project with somebody else. The message must be encrypted, and key exchange must be done in some secure manner. You must not send the actual message encrypted with a public key cipher, but rather use a symmetric cipher. I expect quite a few people will choose RSA and AES because we've talked about them a lot in class, but you can substitute a different cipher for either or both of these if you wish.
Turn in this project by demonstrating it to me. I suspect these will be somewhat difficult to run, since there's no official language, UI plan, etc. You can show me after class, or at office hours, or arrange some other time.
Protocol:
	Key exchange!
		Alice generates public/private key pair
		Alice send the public key to Bob
		Bob generates a session key
		Bob sends the session key to Alice, encrypted with the public key
		Alice encrypts the message and sends it to Bob
		Trudy will have:
			The public key
			The session key encrypted with the public key
			The message encrypted with the session key