public PaillierCryptoSystem(int a, int b) {
   p = a;
   q = b;
   n = BigInteger.valueOf(p).multiply(BigInteger.valueOf(q));
   lambda = psi = lcm(p - 1, q - 1);
   g = n.add(BigInteger.valueOf(1));
   nu = psi.modInverse(n);
 }
 public PaillierCryptoSystem() {
   p = 100000 + (new Random().nextInt(4) + 1) * 10000 + 1;
   while (!isPrime(p)) p += 2;
   q = p + 2;
   while (!isPrime(q)) q += 2;
   n = BigInteger.valueOf(p).multiply(BigInteger.valueOf(q));
   lambda = psi = lcm(p - 1, q - 1);
   g = n.add(BigInteger.valueOf(1));
   nu = psi.modInverse(n);
 }