def OnClientClick(self, event): global key,masKey,public_key,private_key self.clientname=self.InputText1.GetValue() self.socketmode=0 #self.cButton.SetLabel("Client") key=RSA.Build_key(self.clientname) masKey=RSA.Build_key(self.clientname)#Masquerader attack test public_key = key.split('/')[0]+'/'+key.split('/')[1] # n/e pair private_key = key.split('/')[0]+'/'+key.split('/')[2] # n/d pair thread.start_new_thread(self.SocketProc_client,())
def OnSeverClick(self, event): global key self.servername=self.InputText2.GetValue() self.socketmode=1 #self.sButton.SetLabel("Server") key=RSA.Build_key(self.servername) print key thread.start_new_thread(self.SocketProc_server,())
class Handler(BaseRequestHandler): def handle(self): global key global public_key global private_key address, pid = self.client_address print('%s connected!' % address) while True: data = self.request.recv(BUF_SIZE) if len(data) > 0: print('receive=', data.decode('utf-8')) cur_thread = threading.current_thread() hdata = crypto.md5(data) print(hdata) response = RSA.encrypt(hdata, private_key) + '/' + public_key self.request.sendall(response) if __name__ == '__main__': HOST = '127.0.0.1' PORT = 8998 ADDR = (HOST, PORT) key = RSA.Build_key('CA') # CA build public and private key public_key = key.split('/')[0] + '/' + key.split('/')[1] # n/e pair private_key = key.split('/')[0] + '/' + key.split('/')[2] # n/d pair server = ThreadingTCPServer(ADDR, Handler) print('Listening Client Application') server.serve_forever() print(server)