示例#1
0
 def __decrypt(self, data):
     data, hashed = data.split(IN_PACK_SEPARATOR)
     data = self.__key.decrypt(data)
     if Cipher.hash(data) == hashed:
         return data
     else:
         raise EnvironmentError("Server Unauthorised")
示例#2
0
 def __key_exchange(self):
     server_public_key_data = self.__socket.recv(BUFFER_SIZE)
     server_public_key = Cipher.unpack(server_public_key_data)
     to_send = self.__key.pack() + IN_PACK_SEPARATOR + Cipher.hash(self.__key.pack())
     to_send = server_public_key.encrypt(to_send)
     self.__socket.send(to_send)
     return True
示例#3
0
 def __decrypt(self, data):
     result, hashed = data.split(IN_PACK_SEPARATOR)
     result = self.__key.decrypt(result)
     if Cipher.hash(result) == hashed:
         return result
     else:
         raise EnvironmentError("CLIENT UNAUTHORISED")
示例#4
0
 def __key_exchange(self, sock):
     sock.send(self.__public_key.public_key().pack())
     data = sock.recv(BUFFER_SIZE)
     key = self.__public_key.decrypt(data)
     key, his_hashed_key = key.split(IN_PACK_SEPARATOR)
     if Cipher.hash(key) == his_hashed_key:
         key = Cipher.unpack(key)
         return key
示例#5
0
 def __encrypt(self, data):
     result = self.__key.encrypt(data) + IN_PACK_SEPARATOR + Cipher.hash(data)
     return result