Mega Code Archive

 
Categories / Java Tutorial / Data Type
 

Performing the modular exponential

import java.math.BigInteger; import java.security.SecureRandom; public class MainClass {   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);   } } /*BitLength : 512 Number ^ Exponent MOD Modulus = Result Number 12429010321466148979282045876615924104266625036004424072013594464398465860901924701756511994455904802521087513832503046348373547015122338773846757329693089 Exponent 7960165959547365392190891717471267683026232484827038749061088628549083772881870434293423234456457412681666128278442829496431230428387587660778678814696147 Modulus 10339566307708626815760173877230355067432306461489808819560490502837798859869280782572410563219404567771359973589211641725154894564515306242543575863832237 Result 4664677700053277466905242082951352345941397508884099204138151141886794649976135281786429283508499942760627515243676288735812526509264162843510761720483915 */