コード例 #1
0
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
コード例 #2
0
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
コード例 #3
0
ファイル: window.py プロジェクト: divyesh98/SOMeT
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)