elgamalutil.java

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

JAVA
47
字号
// 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:   ElGamalUtil.java

package org.bouncycastle.jce.provider;

import java.security.*;
import org.bouncycastle.crypto.params.*;
import org.bouncycastle.jce.interfaces.ElGamalPrivateKey;
import org.bouncycastle.jce.interfaces.ElGamalPublicKey;
import org.bouncycastle.jce.spec.ElGamalParameterSpec;

public class ElGamalUtil
{

	public ElGamalUtil()
	{
	}

	public static AsymmetricKeyParameter generatePublicKeyParameter(PublicKey key)
		throws InvalidKeyException
	{
		if (key instanceof ElGamalPublicKey)
		{
			ElGamalPublicKey k = (ElGamalPublicKey)key;
			return new ElGamalPublicKeyParameters(k.getY(), new ElGamalParameters(k.getParams().getP(), k.getParams().getG()));
		} else
		{
			throw new InvalidKeyException("can't identify ElGamal public key.");
		}
	}

	public static AsymmetricKeyParameter generatePrivateKeyParameter(PrivateKey key)
		throws InvalidKeyException
	{
		if (key instanceof ElGamalPrivateKey)
		{
			ElGamalPrivateKey k = (ElGamalPrivateKey)key;
			return new ElGamalPrivateKeyParameters(k.getX(), new ElGamalParameters(k.getParams().getP(), k.getParams().getG()));
		} else
		{
			throw new InvalidKeyException("can't identify ElGamal private key.");
		}
	}
}

⌨️ 快捷键说明

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