Name : Amit Jaiswal Roll No. : 03329011 Assignment : Network Security , Assignment 1 email : amitj@it.iitb.ac.in The readme file for the statistical analysis of the RSA key generation. The program consists of the following files. RSA.java : The source code of the RSA encryption RSA.class : The bytecode FileMessage.txt : The file from which messages are taken template : A file required by the program testRSA.sh : The script file that is used to execute the program WriteToFile.class : The byte code of the compiled class ReadFromFile.class : The byte code of the compiled class The usage is $testRSA.sh The first three parameters are integer values which are for specifying keysize, the probability factor for P, Q to be prime and the length of the message encrypted and decrypted. The last parameter is a string : "keysize" or "certainty" or "msgLen" or "setup" It means if the last parameter is keysize then the first paarmeter means the upper limit till which the program will give the keysize value. For eg. $testRSA.sh 512 10 100 keysize It means that the program will fix the probabilty for P, Q to be prime at {1-1/(2^10)}, the length of the message at 100 and since the last parameter is "keysize" so , the program will find the various time values for keysizes = 128, 256, 512. The lower limit for key sizes is 128. Same holds for $testRSA.sh 512 10 100 msgLen It means that keysize=512 bits, Probabilty value={1-1/(2^10)} and the message length varies from 2 to 100 in factor of 2 i.e 2, 4, 8, 16, 32, 64. The lower value for the certainty factor is 2 and it increases linearly in step of 2 The "setup" in the last parameter means that clean all the previous data. After various executions, the summary of the various execution are put in log/FileOutDiffKeyTmp : For the variations in Key sizes log/FileOutDiffCertTmp : For the variations in Certainty log/FileOutDiffMsgLenTmp : For the variations in Message Length In these files the meaning of various fields are Key : Key size Prob. : the certainty factor = {1-1/(2^certainty)} MsgLen : The message lengths TimePQ : Time (in milliseconds) taken to generate P, Q TimeN : Time (in milliseconds) taken to find N =P*Q TimeE : Time (in milliseconds) taken to find E TimeD : Time (in milliseconds) taken to calculate D = mod inverse of E TimeEnc : Time (in milliseconds) taken for encryption TimeDcr : Time (in microseconds) taken for decryption Some sample run are kept in the foler samples