I made a simple server program that is able to receive data from 4 different clients at a time. Now I want to send some data with AES-128 Encryption but that should be decoded at the server side. Here is my code for server:
from socket import *
from threading import Thread
def clientHandler():
conn, addr = s.accept()
print addr, "is connected"
while 1:
data = conn.recv(1024)
if not data:
break
print "Received Message", repr(data)
HOST = "" #localhost
PORT = 15000
s = socket(AF_INET, SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(4)
print "Server is runnig"
#Thread(target=clientHandler).start()
#Thread(target=clientHandler).start()
#Thread(target=clientHandler).start()
for i in range(4):
Thread(target=clientHandler).start()
s.close()
And I am sending data like this from my client side
from socket import *
s = socket()
s.connect(("localhost",15000))
s.send()
How should I modify my client code and server code to include AES-128 Encryption inside of it .. Kindly help me in this regard.
`BLOCK_SIZE=16`
`PADDING='{'`
`pad = lambda s:s+(BLOCK_SIZE-len(s)%BLOCK_SIZE)*PADDING` `EncodeAES = lambda c, s: base64.b64encode(c.encrypt(pad(s)))`
`secret="secret_key"`
`print "encryption key:",secret`
`cipher = AES.new(secret)`
`encoded = EncodeAES(cipher,privateInfo)`
`print"Encrypted string:",encoded`
– Asad Irfan Dec 04 '14 at 06:56