楕円曲線に 2 つの点を追加する方法を示す Bouncycastle ライブラリを使用した例を教えてください。
次のコードを試しましたが、理論的に発生するはずの同じ結果が得られませんでした。
X9ECParameters x9=NISTNamedCurves.getByName("P-224");
ECCurve curve=x9.getCurve();
ECFieldElement x1=new ECFieldElement.Fp(new BigInteger("10"), new BigInteger("8"));
ECFieldElement y1=new ECFieldElement.Fp(new BigInteger("10"), new BigInteger("9"));
ECPoint.Fp p1=new ECPoint.Fp(curve, x1, y1);
ECFieldElement x2=new ECFieldElement.Fp(new BigInteger("10"), new BigInteger("5"));
ECFieldElement y2=new ECFieldElement.Fp(new BigInteger("10"), new BigInteger("6"));
ECPoint.Fp p2=new ECPoint.Fp(curve, x2, y2);
p2=(ECPoint.Fp) p1.add(p2);
System.out.println(p2.getX().toBigInteger()+" "+p2.getY().toBigInteger());
また、最初BigInteger
に提供する価値が何であるかを理解していませんでしたECFiledElement
。