'Rebuild the master key from header settings and key-hash list. Encrypt
the stream start bytes and the out-buffer formatted as hashed block
stream with padding added as needed.'

def _encrypt(self):

    self._make_master_key()
    block_buffer = HashedBlockIO()
    block_buffer.write(self.out_buffer.read())
    self.out_buffer = io.BytesIO()
    self.out_buffer.write(self.header.StreamStartBytes)
    block_buffer.write_block_stream(self.out_buffer)
    block_buffer.close()
    self.out_buffer.seek(0)
    data = pad(self.out_buffer.read())
    self.out_buffer = aes_cbc_encrypt(data, self.master_key, self.header.EncryptionIV)
