code: def read(self, size=-1):
          
          self._check_not_closed()
          if self.state == "EOF" or size == 0:
              return b""
          elif size < 0:
              return self._read_all()
          else:
              return self._read_block(size)
docs: Read up to size decrypted bytes