Vipul Mathur
03405001

IT 653: Network Security
Assignment 2

(1) Do the following to compile and run the program:
	$ gcc difhell.c -o difhell
	$ ./difhell

(2.1) Message digests (hashing):
	$ javac SHA1.java
	$ java SHA1 <input_file>
		example
	$ java SHA1 kresit.txt
	SHA-1 Hash of input file saved as kresit.txt.sha1


	$ javac MD5.java
	$ java MD5 <input_file>
		example
	$ java MD5 kresit.txt
	MD5 Hash of input file saved as kresit.txt.md5

(2.2) RSA and DSA signatures of a message with SHA-1 or MD5 as digests.
	$ javac Sign.java
	$ java Sign <encryption_algo> <hash_algo> <input_file_to_sign>
		example
	$ java Sign RSA MD5 kresit.txt
	Files created (self explanatory) are:
		kresit.txt.RSA.MD5_sign
		kresit.txt.RSA.MD5_sign_private_key
		kresit.txt.RSA.MD5_sign_public_key
	Valid options are:
		SHA-1 or MD5 as <hash_algo>
		RSA   or DSA as <encryption_algo>

Rest of the answers coming up in more updates.

--
Vipul