def send_aes_crypt(clientsocket, address, data, encryption_key): crypt = AESCipher(encryption_key) chunk_size = 1024 chunk_count = int(math.ceil(len(data) / float(chunk_size))) digest = MD5.new(data).digest() send_dyn(clientsocket, address, str(chunk_count)) send_dyn(clientsocket, address, digest) bytes_encrypted = 0 encrypted_data = "" while bytes_encrypted < len(data): encrypted_chunk = crypt.encrypt(data[bytes_encrypted:min(bytes_encrypted+chunk_size, len(data))]) bytes_encrypted = bytes_encrypted + chunk_size send_dyn(clientsocket, address, encrypted_chunk)