Kody do generowania klucza publicznego w algorytmie krzywej eliptycznej przy użyciu danego klucza prywatnego

Muszę zaimplementować algorytm ECC (Elliptic Curve Cryptography) przy użyciu jdk 1.7. Próbowałem użyć dmuchanego zamku, sunEC, ale wszystkie z nich zawierały błędy i błędy. Moim celem jest wygenerowanie krzywej eliptycznej przy użyciu klucza prywatnego, otrzymam system.

Dlatego muszę uzyskać dokładny kod do wygenerowania klucza publicznego przy użyciu danego klucza prywatnego przy użyciu jdk1.7. IDE, którego używam, to ecllipse. I muszę wiedzieć, jakie są inne parametry, które powinienem otrzymać poza kluczem prywatnym? Czy wystarczy podać tylko punkt krzywej i klucz prywatny?

Czy ktoś może mi pomóc wygenerować klucz publiczny z klucza prywatnego? Mogę zarządzać resztą mojej implementacji.

Każdy, kto wie, jak zaimplementować klucze kryptografii eliptycznej za pomocą java, powiedz mi, czy ten kod jest poprawny?

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);

}

Dzięki!

questionAnswers(3)

yourAnswerToTheQuestion