Beispiel #1
0
from LSBSteg import LSBSteg
import cv2
import matplotlib.pyplot as plt

#encoding
steg = LSBSteg(cv2.imread("carrier.png"))
new_im = steg.encode_image(cv2.imread("lena.png"))
cv2.imwrite("new_image.png", new_im)

#decoding
steg = LSBSteg(cv2.imread("new_image.png"))
orig_im = steg.decode_image()
cv2.imwrite("recovered.png", orig_im)
Beispiel #2
0
def lis(s):
    my=[s]
    while True:
        r,w,e=select.select(my,[],[])
        if s in r:
            try:
                global bob_pub
                global bob_priv
                (p,te)=pickle.loads(s.recv(100000000))
                if p==1:
                    (bob_pub,bob_priv,info)=te
                    temp= rsa.decrypt(info, bob_priv)
                    print(temp.decode('utf8')+"\n\n")
                elif p==2:
                    # print(lsb.reveal("lena_hide.png")+"\n\n")
                    print(lsb.reveal(te)+"\n\n")
                elif p==3:
                    (bob_pub,bob_priv,info)=te
                    temp= rsa.decrypt(info, bob_priv)
                    print(temp.decode('utf8')+"\n\n")
                elif p==4:
                    
                    crypto = rsa.encrypt(te,bob_pub)
                    s.send(pickle.dumps((55,(bob_pub,bob_priv,crypto))))
                elif p==55:
                    (bob_pub,bob_priv,info)=te
                    temp= rsa.decrypt(info, bob_priv)
                    print(temp.decode('utf8')+"\n\n")
                elif p==5:
                    (my_priv,my_pub,info)=te
                    temp= rsa.decrypt(info,my_pub)
                    print(temp.decode('utf8')+"\n\n")
                elif p==6:
                    (bob_pub,bob_priv,cipher_data,encrypted_aes_key)=te
                    cipher = AES.new(rsa.decrypt(encrypted_aes_key, bob_priv), AES.MODE_ECB)
                    plain_data = unpad(cipher.decrypt(cipher_data), AES.block_size)
                    cv2.imwrite('receiced6.png', pickle.loads(plain_data))
                    print('Image received6. \n')
                elif p==7:
                    steg = LSBSteg(te)
                    orig_im = steg.decode_image()
                    cv2.imwrite("recovered7.png", orig_im)
                    print('Image received7. \n')
                elif p==8:
                    (bob_pub,bob_priv,cipher_data,encrypted_aes_key)=te
                    cipher = AES.new(rsa.decrypt(encrypted_aes_key, bob_priv), AES.MODE_ECB)
                    plain_data = unpad(cipher.decrypt(cipher_data), AES.block_size)
                    cv2.imwrite('receiced8.png', pickle.loads(plain_data))
                    print('Image received8. \n')
                elif p==9:
                    aes_key = rsa.randnum.read_random_bits(128)
                    cipher = AES.new(aes_key, AES.MODE_ECB)
                    cipher_data = cipher.encrypt(pad(pickle.dumps(cv2.imread(te.decode('utf8'))), AES.block_size))
                    encrypted_aes_key = rsa.encrypt(aes_key, bob_pub)
                    s.send(pickle.dumps((99,(bob_pub,bob_priv,cipher_data,encrypted_aes_key))))
                elif p==99:
                    (bob_pub,bob_priv,cipher_data,encrypted_aes_key)=te
                    cipher = AES.new(rsa.decrypt(encrypted_aes_key, bob_priv), AES.MODE_ECB)
                    plain_data = unpad(cipher.decrypt(cipher_data), AES.block_size)
                    cv2.imwrite('receiced99.png', pickle.loads(plain_data))
                    print('Image received99. \n')
                elif p==10:
                    (my_priv,my_pub,cipher_data,encrypted_aes_key)=te
                    cipher = AES.new(rsa.decrypt(encrypted_aes_key, my_pub), AES.MODE_ECB)
                    plain_data = unpad(cipher.decrypt(cipher_data), AES.block_size)
                    cv2.imwrite('receiced10.png', pickle.loads(plain_data))
                    print('Image received10 \n')
                        
            except socket.error:
                print('socket is error')
                exit()