예제 #1
0
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)
예제 #2
0
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)