package org.bouncycastle.crypto.params;

import java.security.SecureRandom;

import org.bouncycastle.crypto.KeyGenerationParameters;

Parameters for NaccacheStern public private key generation. For details on this cipher, please see http://www.gemplus.com/smart/rd/publications/pdf/NS98pkcs.pdf
/** * Parameters for NaccacheStern public private key generation. For details on * this cipher, please see * * http://www.gemplus.com/smart/rd/publications/pdf/NS98pkcs.pdf */
public class NaccacheSternKeyGenerationParameters extends KeyGenerationParameters { // private BigInteger publicExponent; private int certainty; private int cntSmallPrimes; private boolean debug = false;
Parameters for generating a NaccacheStern KeyPair.
Params:
  • random – The source of randomness
  • strength – The desired strength of the Key in Bits
  • certainty – the probability that the generated primes are not really prime as integer: 2^(-certainty) is then the probability
  • cntSmallPrimes – How many small key factors are desired
/** * Parameters for generating a NaccacheStern KeyPair. * * @param random * The source of randomness * @param strength * The desired strength of the Key in Bits * @param certainty * the probability that the generated primes are not really prime * as integer: 2^(-certainty) is then the probability * @param cntSmallPrimes * How many small key factors are desired */
public NaccacheSternKeyGenerationParameters(SecureRandom random, int strength, int certainty, int cntSmallPrimes) { this(random, strength, certainty, cntSmallPrimes, false); }
Parameters for a NaccacheStern KeyPair.
Params:
  • random – The source of randomness
  • strength – The desired strength of the Key in Bits
  • certainty – the probability that the generated primes are not really prime as integer: 2^(-certainty) is then the probability
  • cntSmallPrimes – How many small key factors are desired
  • debug – Turn debugging on or off (reveals secret information, use with caution)
/** * Parameters for a NaccacheStern KeyPair. * * @param random * The source of randomness * @param strength * The desired strength of the Key in Bits * @param certainty * the probability that the generated primes are not really prime * as integer: 2^(-certainty) is then the probability * @param cntSmallPrimes * How many small key factors are desired * @param debug * Turn debugging on or off (reveals secret information, use with * caution) */
public NaccacheSternKeyGenerationParameters(SecureRandom random, int strength, int certainty, int cntSmallPrimes, boolean debug) { super(random, strength); this.certainty = certainty; if (cntSmallPrimes % 2 == 1) { throw new IllegalArgumentException("cntSmallPrimes must be a multiple of 2"); } if (cntSmallPrimes < 30) { throw new IllegalArgumentException("cntSmallPrimes must be >= 30 for security reasons"); } this.cntSmallPrimes = cntSmallPrimes; this.debug = debug; }
Returns:Returns the certainty.
/** * @return Returns the certainty. */
public int getCertainty() { return certainty; }
Returns:Returns the cntSmallPrimes.
/** * @return Returns the cntSmallPrimes. */
public int getCntSmallPrimes() { return cntSmallPrimes; } public boolean isDebug() { return debug; } }