|    import java.math.BigInteger;
 import java.security.SecureRandom;
 
 public class Main {
 public static void main(String[] args) throws Exception {
 int bitLength = 512; // 512 bits
 SecureRandom rnd = new SecureRandom();
 int certainty = 90; // 1 - 1/2(90) certainty
 System.out.println("BitLength : " + bitLength);
 BigInteger mod = new BigInteger(bitLength, certainty, rnd);
 BigInteger exponent = BigInteger.probablePrime(bitLength, rnd);
 BigInteger n = BigInteger.probablePrime(bitLength, rnd);
 
 BigInteger result = n.modPow(exponent, mod);
 System.out.println("Number ^ Exponent MOD Modulus = Result");
 System.out.println("Number");
 System.out.println(n);
 System.out.println("Exponent");
 System.out.println(exponent);
 System.out.println("Modulus");
 System.out.println(mod);
 System.out.println("Result");
 System.out.println(result);
 }
 }
 
 
 
 
 
 |