| 
     
    
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); 
  } 
} 
 
    
     
     
   
    
    |