📄 dhparametersgenerator.java
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space
// Source File Name: DHParametersGenerator.java
package org.bouncycastle.crypto.generators;
import java.math.BigInteger;
import java.security.SecureRandom;
import org.bouncycastle.crypto.params.DHParameters;
public class DHParametersGenerator
{
private int size;
private int certainty;
private SecureRandom random;
private static BigInteger ONE = BigInteger.valueOf(1L);
private static BigInteger TWO = BigInteger.valueOf(2L);
public DHParametersGenerator()
{
}
public void init(int size, int certainty, SecureRandom random)
{
this.size = size;
this.certainty = certainty;
this.random = random;
}
public DHParameters generateParameters()
{
int qLength = size - 1;
BigInteger p;
BigInteger q;
do
{
q = new BigInteger(qLength, certainty, random);
p = q.multiply(TWO).add(ONE);
} while (!p.isProbablePrime(certainty));
BigInteger g;
do
g = new BigInteger(qLength, random);
while (g.modPow(TWO, p).equals(ONE) || g.modPow(q, p).equals(ONE));
return new DHParameters(p, g, q, 2);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -