code: def serialize_non_framed_open(algorithm, iv, plaintext_length, signer=None):
      
      body_start_format = (">" "{iv_length}s" "Q").format(iv_length=algorithm.iv_len)  # nonce (IV)  # content length
      body_start = struct.pack(body_start_format, iv, plaintext_length)
      if signer:
          signer.update(body_start)
      return body_start
docs: Serializes the opening block for a non-framed message body.
  
      :param algorithm: Algorithm to use for encryption
      :type algorithm: aws_encryption_sdk.identifiers.Algorithm
      :param bytes iv: IV value used to encrypt body
      :param int plaintext_length: Length of plaintext (and thus ciphertext) in body
      :param signer: Cryptographic signer object (optional)
      :type signer: aws_encryption_sdk.internal.crypto.Signer
      :returns: Serialized body start block
      :rtype: bytes