code: def decrypt_encoded(self, encrypted_number, Encoding=None):
          
          if not isinstance(encrypted_number, EncryptedNumber):
              raise TypeError('Expected encrypted_number to be an EncryptedNumber'
                              ' not: %s' % type(encrypted_number))
  
          if self.public_key != encrypted_number.public_key:
              raise ValueError('encrypted_number was encrypted against a '
                               'different key!')
  
          if Encoding is None:
              Encoding = EncodedNumber
  
          encoded = self.raw_decrypt(encrypted_number.ciphertext(be_secure=False))
          return Encoding(self.public_key, encoded,
                               encrypted_number.exponent)
docs: Return the :class:`EncodedNumber` decrypted from *encrypted_number*.
  
          Args:
            encrypted_number (EncryptedNumber): an
              :class:`EncryptedNumber` with a public key that matches this
              private key.
            Encoding (class): A class to use instead of :class:`EncodedNumber`, the
              encoding used for the *encrypted_number* - used to support alternative
              encodings.
  
          Returns:
            :class:`EncodedNumber`: The decrypted plaintext.
  
          Raises:
            TypeError: If *encrypted_number* is not an
              :class:`EncryptedNumber`.
            ValueError: If *encrypted_number* was encrypted against a
              different key.