(self, other)
return encryptednumber
return PaillierEncryptedNumber: z = E(x) + E(y)
return PaillierEncryptedNumber: z = E(x) + E(y)
return PaillierEncryptedNumber : z = E ( x ) + E ( y )
def __add_encryptednumber(self, other):
        """return PaillierEncryptedNumber: z = E(x) + E(y)
        """
        if self.public_key != other.public_key:
            raise ValueError("add two numbers have different public key!")

        # their exponents must match, and align.
        x, y = self.__align_exponent(self, other)

        encryptednumber = self.__raw_add(x.ciphertext(False), y.ciphertext(False), x.exponent)

        return encryptednumber
def __add_encryptednumber ( self , other ) : if self . public_key != other . public_key : raise ValueError ( "add two numbers have different public key!" ) # their exponents must match, and align. x , y = self . __align_exponent ( self , other ) encryptednumber = self . __raw_add ( x . ciphertext ( False ) , y . ciphertext ( False ) , x . exponent ) return encryptednumber