naccachesternkeygenerationparameters.java

来自「kmlnjlkj nlkjlkjkljl okopokipoipo oipipi」· Java 代码 · 共 98 行

JAVA
98
字号
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 */public class NaccacheSternKeyGenerationParameters extends KeyGenerationParameters{    // private BigInteger publicExponent;    private int certainty;    private int cntSmallPrimes;    private boolean debug = false;    /**     * 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.     *      * @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;    }    /**     * @return Returns the certainty.     */    public int getCertainty()    {        return certainty;    }    /**     * @return Returns the cntSmallPrimes.     */    public int getCntSmallPrimes()    {        return cntSmallPrimes;    }    public boolean isDebug()    {        return debug;    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?