Коды для генерации открытого ключа в алгоритме эллиптической кривой с использованием заданного закрытого ключа
Мне нужно реализовать алгоритм ECC (Elliptic Curve Cryptography), используя jdk 1.7. Я пытался использовать надувной замок SunEC, но все они давали ошибки и ошибки. Моя цель - создать эллиптическую кривую с использованием закрытого ключа, который я передам в систему.
Таким образом, мне нужно получить точный код для генерации открытого ключа, используя заданный закрытый ключ, используя jdk1.7. IDE, которую я использую, - ecllipse. И мне нужно знать, какие еще параметры мне нужно дать, кроме закрытого ключа? Достаточно ли предоставить только точку кривой и закрытый ключ?
Может кто-нибудь помочь мне сгенерировать открытый ключ из закрытого ключа ?? Я могу управлять остальной частью моей реализации.
Кто-нибудь, кто знает, как реализовать ключи криптографии эллиптической кривой с использованием Java, скажите, пожалуйста, правильный ли этот код?
public class ECCrypt {
private ECPoint curve_point;
public ECCrypt(ECPoint curve_point) {
this.curve_point = curve_point;
}
public BigInteger makePublicKey(BigInteger privateKey) {
ECPoint ecPublicKey = new ECPoint(curve_point);
ecPublicKey.mult(privateKey);
return ecPublicKey.pack();
}
public static void main(String[] argv) throws Exception {
java.util.Random rnd = new java.util.Random();
ECPoint cp = new ECPoint();
cp.random(rnd);
ECCrypt ec = new ECCrypt(cp);
BigInteger priv = new BigInteger(255,rnd);
BigInteger pub = ec.makePublicKey(priv);
}
Спасибо!