dsakeypairgenerator.java

来自「java 文件下载器。可自定义」· Java 代码 · 共 44 行

JAVA
44
字号
// 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:   DSAKeyPairGenerator.java

package org.bouncycastle.crypto.generators;

import java.math.BigInteger;
import org.bouncycastle.crypto.*;
import org.bouncycastle.crypto.params.*;

public class DSAKeyPairGenerator
	implements AsymmetricCipherKeyPairGenerator
{

	private static BigInteger ZERO = BigInteger.valueOf(0L);
	private DSAKeyGenerationParameters param;

	public DSAKeyPairGenerator()
	{
	}

	public void init(KeyGenerationParameters param)
	{
		this.param = (DSAKeyGenerationParameters)param;
	}

	public AsymmetricCipherKeyPair generateKeyPair()
	{
		DSAParameters dsaParams = param.getParameters();
		java.security.SecureRandom random = param.getRandom();
		BigInteger q = dsaParams.getQ();
		BigInteger p = dsaParams.getP();
		BigInteger g = dsaParams.getG();
		BigInteger x;
		do
			x = new BigInteger(160, random);
		while (x.equals(ZERO) || x.compareTo(q) >= 0);
		BigInteger y = g.modPow(x, p);
		return new AsymmetricCipherKeyPair(new DSAPublicKeyParameters(y, dsaParams), new DSAPrivateKeyParameters(x, dsaParams));
	}

}

⌨️ 快捷键说明

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