📄 elgamalkeypairgenerator.java
字号:
/*
* ElGamal KeypairGenerator Method
*
* @author Ge ZHANG (2937207)
* @login name: gz847
* @version 1.00 07/08/11*/
import java.math.BigInteger;
import java.security.*;
public class ElGamalKeyPairGenerator extends KeyPairGeneratorSpi {
private int mStrength = 0;
private SecureRandom mSecureRandom = null;
public void initialize(int strength, SecureRandom random) {
mStrength = strength;
mSecureRandom = random;
}
public KeyPair generateKeyPair() {
if (mSecureRandom == null) {
mStrength = 1024;
mSecureRandom = new SecureRandom();
}
BigInteger p = new BigInteger(mStrength, 16, mSecureRandom);
BigInteger g = new BigInteger(mStrength - 1, mSecureRandom);
BigInteger k = new BigInteger(mStrength - 1, mSecureRandom);
BigInteger y = g.modPow(k, p);
ElGamalPublicKey publicKey = new ElGamalPublicKey(y, g, p);
ElGamalPrivateKey privateKey = new ElGamalPrivateKey(k, g, p);
return new KeyPair(publicKey, privateKey);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -