docs: def getPlaintextLen(self, ciphertext):
          """Given a ``ciphertext`` with a valid header, returns the length of the plaintext payload.
          """
  
          completeCiphertextHeader = (len(ciphertext) >= 16)
          if completeCiphertextHeader is False:
              raise RecoverableDecryptionError('Incomplete ciphertext header.')
  
          ciphertext_header = ciphertext[:16]
          L = self._ecb_enc_K1.decrypt(ciphertext_header)
  
          padding_expected = '\x00\x00\x00\x00'
          padding_actual = L[-8:-4]
          validPadding = (padding_actual == padding_expected)
          if validPadding is False:
              raise UnrecoverableDecryptionError(
                  'Invalid padding: ' + padding_actual)
  
          message_length = fte.bit_ops.bytes_to_long(L[-8:])
  
          msgLenNonNegative = (message_length >= 0)
          if msgLenNonNegative is False:
              raise UnrecoverableDecryptionError('Negative message length.')
  
          return message_length