code: def obfuscate(self):
          
          r = self.public_key.get_random_lt_n()
          r_pow_n = powmod(r, self.public_key.n, self.public_key.nsquare)
          self.__ciphertext = self.__ciphertext * r_pow_n % self.public_key.nsquare
          self.__is_obfuscated = True
docs: Disguise ciphertext by multiplying by r ** n with random r.
  
          This operation must be performed for every `EncryptedNumber`
          that is sent to an untrusted party, otherwise eavesdroppers
          might deduce relationships between this and an antecedent
          `EncryptedNumber`.
  
          For example::
  
              enc = public_key.encrypt(1337)
              send_to_nsa(enc)       # NSA can't decrypt (we hope!)
              product = enc * 3.14
              send_to_nsa(product)   # NSA can deduce 3.14 by bruteforce attack
              product2 = enc * 2.718
              product2.obfuscate()
              send_to_nsa(product)   # NSA can't deduce 2.718 by bruteforce attack