package com.rau.evoting.ElGamal; import java.math.BigInteger; import java.security.SecureRandom; import org.bouncycastle.crypto.generators.ElGamalParametersGenerator; import org.bouncycastle.crypto.params.ElGamalParameters; public class GlobalParameters { private static volatile GlobalParameters instance; private static ElGamalParameters params = null; private GlobalParameters() { ElGamalParametersGenerator gen = new ElGamalParametersGenerator(); // gen.init(200, 5, new SecureRandom()); // params = gen.generateParameters(); params = new ElGamalParameters( new BigInteger( "1217632165455017325599107230499272850738519365493132423159259"), new BigInteger( "895293172683390114107043256178557962436296753020590093614515")); System.out.println("p:" + params.getP()); System.out.println("g:" + params.getG()); } public static GlobalParameters getInstance() { GlobalParameters localInstance = instance; if (localInstance == null) { synchronized (GlobalParameters.class) { localInstance = instance; if (localInstance == null) { instance = localInstance = new GlobalParameters(); } } } return localInstance; } public static ElGamalParameters getParams() { if (params == null) getInstance(); return params; } }