def verify_signature(username) : infilename = raw_input("Enter name of the file : ") signature_filename = raw_input("Enter name of the signature file : ") name = raw_input("Enter name of creator : ") sql_command = "SELECT public_exp, modulus FROM main WHERE username like '%s'" %name cursor.execute(sql_command) result = cursor.fetchall() exp = int(result[0][0]) modulus = int(result[0][1]) file_text = "" f = open(infilename, "r") for line in f.readlines(): file_text = file_text + line file_fingerprint = Toolkit.get_fingerprint(file_text) f = open(signature_filename, "r") signature_file_text = "" for line in f.readlines(): signature_file_text = signature_file_text + line try : decrypted_signature = Toolkit.decrypt(signature_file_text, exp, modulus) except Exception : print "-------------------------------------------" print "Verification Failed" print "-------------------------------------------" start_session(username) if decrypted_signature == file_fingerprint : print "-------------------------------------------" print "Verification Successful!" print "-------------------------------------------" start_session(username)
def sign(username): print "-------------------------------------------" sql_command = "SELECT private_exp, modulus FROM main WHERE username like '%s'" %username cursor.execute(sql_command) result = cursor.fetchall() exp = int(result[0][0]) modulus = int(result[0][1]) infilename = raw_input("Enter name of file to be signed : ") f = open(infilename, "r") file_text = "" for line in f.readlines(): file_text = file_text + line fingerprint = Toolkit.get_fingerprint(file_text) c = Toolkit.encrypt(fingerprint,exp,modulus) outfilename = raw_input("Enter name of file to store the signature : ") f = open(outfilename, "w", 0) f.write(c) start_session(username)