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)
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()