eckeypairgenerator.java

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

JAVA
45
字号
// 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:   ECKeyPairGenerator.java

package org.bouncycastle.crypto.generators;

import java.math.BigInteger;
import java.security.SecureRandom;
import org.bouncycastle.crypto.*;
import org.bouncycastle.crypto.params.*;
import org.bouncycastle.math.ec.ECConstants;
import org.bouncycastle.math.ec.ECPoint;

public class ECKeyPairGenerator
	implements AsymmetricCipherKeyPairGenerator, ECConstants
{

	ECDomainParameters params;
	SecureRandom random;

	public ECKeyPairGenerator()
	{
	}

	public void init(KeyGenerationParameters param)
	{
		ECKeyGenerationParameters ecP = (ECKeyGenerationParameters)param;
		random = ecP.getRandom();
		params = ecP.getDomainParameters();
	}

	public AsymmetricCipherKeyPair generateKeyPair()
	{
		BigInteger n = params.getN();
		int nBitLength = n.bitLength();
		BigInteger d;
		do
			d = new BigInteger(nBitLength, random);
		while (d.equals(ZERO) || d.compareTo(n) >= 0);
		ECPoint Q = params.getG().multiply(d);
		return new AsymmetricCipherKeyPair(new ECPublicKeyParameters(Q, params), new ECPrivateKeyParameters(d, params));
	}
}

⌨️ 快捷键说明

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