def quickEncrypt(event): global messageWindow inFile = openFunc(None) if inFile == None: print("Encryption Error: File Not Opened!") return #convert jpeg to png if needed if inFile[-4:] == ".jpg": im = Image.open(inFile) im.save(inFile[:-4] + ".png") inFile = (inFile[:-4] + ".png") setSecretWindow() while lock == 0: messageWindow.update_idletasks() messageWindow.update() outFile = filedialog.asksaveasfilename(defaultextension="png", initialdir='/', title='Save As...', filetypes=(("PNG files", "*.png"), ("all files", "*.*"))) if outFile: x = DCT() secret = x.DCTEn(inFile, quickMess, outFile) else: print('No filename given') return
def encryptFn(event): global inFile global outFile global newImgFrame global endImage global inputBox outFile = filedialog.asksaveasfilename(defaultextension="png", initialdir='/', title='Save As...', filetypes=(("PNG files", "*.png"), ("all files", "*.*"))) if outFile: x = DCT() secretMess = inputBox.get() inputBox.delete(0, 'end') secret = x.DCTEn(inFile, secretMess, outFile) newImgFrame.pack_forget() if endImage: endImage.pack_forget() #resize image to fit in display viewer image = Image.open(outFile) newImgFrame = tk.Frame(imageFrame, height=450, width=300, relief='ridge') newImgFrame.pack(side='right', padx=25, pady=25) basewidth = 300 wpercent = (basewidth / float(image.size[0])) hsize = int((float(image.size[1]) * float(wpercent))) image = image.resize((basewidth, hsize), Image.ANTIALIAS) photo = ImageTk.PhotoImage(image) endImage = tk.Label(newImgFrame, image=photo, height=450, width=300, text='Encrypted Image') endImage.image = photo endImage.pack() else: print('No filename given') return
def lsbAlgoStegano(type, secret_string, encrypt_decrypt, encryption_technique): if (encrypt_decrypt == options[0]): if (len(secret_string) == 1): print("Empty Secret:: Showing warning") tk.messagebox.showwarning( "Data Required", "Please enter secret data to be encoded") return if (type == "DCT"): if (encrypt_decrypt == options[0]): file_name = encryption_technique + "DCT.txt" text_file = open(file_name, "w") text_file.write(str(secret_string)) text_file.close if encryption_technique == "OTP": enc = OneTimePad(secret_string, "DCT") enc_string = enc.run(encrypt_decrypt) elif encryption_technique == "RSA": enc = RSACipher(secret_string, "DCT") enc_string = enc.run(encrypt_decrypt) elif encryption_technique == "AES": enc = AESCipher(secret_string, "DCT") enc_string = enc.run(encrypt_decrypt) elif encryption_technique == "DES": enc = DESCipher(secret_string, "DCT") enc_string = enc.run(encrypt_decrypt) outFile = "secret/secretDCT.png" x = DCT(image_path) secret = x.DCTEn(enc_string, outFile) print("secret :: DCT:: ", secret) # secret = red.hide(image_path, secret_string) # secret.save("secret.png") displayImage("secret/secretDCT.png") img1 = cv2.imread(image_path, cv2.IMREAD_UNCHANGED) print(img1.shape) img2 = cv2.imread("secret/secretDCT.png", cv2.IMREAD_UNCHANGED) print(img1.shape, img2.shape) if is_grey_scale(image_path) and len(img2.shape) == 3: imgA = cv2.cvtColor(img1, cv2.COLOR_BGRA2GRAY) imgB = cv2.cvtColor(img2, cv2.COLOR_BGRA2GRAY) else: imgA = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY) imgB = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY) compare_images(imgA, imgB, "DCT", encryption_technique) else: y = DCT(image_path) secret = y.DCTDe() # secret = red.reveal(image_path) print("Secret is ", secret) if encryption_technique == "OTP": dec = OneTimePad(secret, "DCT") secret_message = dec.run(encrypt_decrypt) elif encryption_technique == "RSA": dec = RSACipher(secret, "DCT") secret_message = dec.run(encrypt_decrypt) elif encryption_technique == "AES": dec = AESCipher(secret, "DCT") secret_message = dec.run(encrypt_decrypt) elif encryption_technique == "DES": dec = DESCipher(secret, "DCT") secret_message = dec.run(encrypt_decrypt) #dec = OneTimePad(secret, "DCT") #secret_message = dec.run(encrypt_decrypt) filename = encryption_technique + "DCT.txt" key_file = open(filename, "r") original_message = key_file.readline() key_file.close() precentage_comparison = compare_strings(original_message, secret_message) print("The strings are equal by", precentage_comparison, "parts") addtofile("DCT", encryption_technique[:3], precentage_comparison) displaySecret(secret_message) saveSecretToFile(secret_message)