code: def _add_encrypted(self, other):
          
          if self.public_key != other.public_key:
              raise ValueError("Attempted to add numbers encrypted against "
                               "different public keys!")
  
          # In order to add two numbers, their exponents must match.
          a, b = self, other
          if a.exponent > b.exponent:
              a = self.decrease_exponent_to(b.exponent)
          elif a.exponent < b.exponent:
              b = b.decrease_exponent_to(a.exponent)
  
          sum_ciphertext = a._raw_add(a.ciphertext(False), b.ciphertext(False))
          return EncryptedNumber(a.public_key, sum_ciphertext, a.exponent)
docs: Returns E(a + b) given E(a) and E(b).
  
          Args:
            other (EncryptedNumber): an `EncryptedNumber` to add to self.
  
          Returns:
            EncryptedNumber: E(a + b), calculated by taking the product
              of E(a) and E(b) modulo :attr:`~PaillierPublicKey.n` ** 2.
  
          Raises:
            ValueError: if numbers were encrypted against different keys.