⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 elgamalutil.java

📁 kmlnjlkj nlkjlkjkljl okopokipoipo oipipipo i
💻 JAVA
字号:
package org.bouncycastle.jce.provider;import java.security.InvalidKeyException;import java.security.PrivateKey;import java.security.PublicKey;import javax.crypto.interfaces.DHPrivateKey;import javax.crypto.interfaces.DHPublicKey;import org.bouncycastle.crypto.params.AsymmetricKeyParameter;import org.bouncycastle.crypto.params.ElGamalParameters;import org.bouncycastle.crypto.params.ElGamalPrivateKeyParameters;import org.bouncycastle.crypto.params.ElGamalPublicKeyParameters;import org.bouncycastle.jce.interfaces.ElGamalPrivateKey;import org.bouncycastle.jce.interfaces.ElGamalPublicKey;/** * utility class for converting jce/jca ElGamal objects * objects into their org.bouncycastle.crypto counterparts. */public class ElGamalUtil{    static public AsymmetricKeyParameter generatePublicKeyParameter(        PublicKey    key)        throws InvalidKeyException    {        if (key instanceof ElGamalPublicKey)        {            ElGamalPublicKey    k = (ElGamalPublicKey)key;            return new ElGamalPublicKeyParameters(k.getY(),                new ElGamalParameters(k.getParameters().getP(), k.getParameters().getG()));        }        else if (key instanceof DHPublicKey)        {            DHPublicKey    k = (DHPublicKey)key;            return new ElGamalPublicKeyParameters(k.getY(),                new ElGamalParameters(k.getParams().getP(), k.getParams().getG()));        }        throw new InvalidKeyException("can't identify public key for El Gamal.");    }    static public AsymmetricKeyParameter generatePrivateKeyParameter(        PrivateKey    key)        throws InvalidKeyException    {        if (key instanceof ElGamalPrivateKey)        {            ElGamalPrivateKey    k = (ElGamalPrivateKey)key;            return new ElGamalPrivateKeyParameters(k.getX(),                new ElGamalParameters(k.getParameters().getP(), k.getParameters().getG()));        }        else if (key instanceof DHPrivateKey)        {            DHPrivateKey    k = (DHPrivateKey)key;            return new ElGamalPrivateKeyParameters(k.getX(),                new ElGamalParameters(k.getParams().getP(), k.getParams().getG()));        }                                throw new InvalidKeyException("can't identify private key for El Gamal.");    }}

⌨️ 快捷键说明

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