
 Name : K.Timma Reddy.

 Rollno : 03329022.


 Files :

    part1 : MD5DigestCal.java for MD5, SHA1DigestCal.java for SHA.

    part2 : DSASignGen.java for DSA, RSASignGen.java for RSA.

    Table Files : rsa.out for RSA.
                  dsa.out for DSA.
                  sha.out for SHA.
                  md5.out for MD5.

    Test File : "test" which contains the 71 lines of Kanwal Rekhi School of Information Technology, IIT Bombay.

    Iam not sending the sigantures and digests generated by my programs.

    I have calculated for three different key sizes.
    The different key sizes are 512,768,1024.

    I have calculated for different message sizes those are
    2,4,8,16,32,64,128,256,512,1024,2048,4096.

  
  Analysis :

    SHA & MD5 :

      For SHA the digest time is almost constant, independent of size except for 4096 bytes message a little bit more.

      For MD5 the digest time is constant for message size upto 1024 bytes. For 2048 and 4096 bytes message it is more.


    DSA & RSA :

      For DSA the Sign generation time increased with the key size. Sign verification time for 512 bit keysize it is less.
      For 768 bit and 1024 bit key size it is more and in both cases almost same. Times are almost independent of message
      sizes.

      For RSA the Sign generation time is almost constant independent of the keysize. Sign verification time is also almost
      same in all cases. Times are almost independent of message sizes.


      For DSA the Sign generation takes less time than RSA.
      For RSA the Sign verification takes less time than DSA.



 I have written this analysis based on the result i got.
