您是否可以在没有第三方库的情况下在Java 7中执行基本的EC操作?

时间:2011-10-30 15:32:53

标签: java elliptic-curve

Java 7附带SunEC,它提供ECDH和ECDSA操作。我试图进行基本的EC操作(点加法,标量乘法)。

我从

开始
ECParameterSpec p256 = NamedCurve.getECParameterSpec("secp256r1");
ECPoint generator = p256.getGenerator();
BigInteger scalar = new BigInteger("23"); 

但是从那里开始,我看不到下一步。没有ECPoint.scalarMultiply()ECPoint.add()EllipticCurve.multiply()

我是否遗漏了某些内容,或者答案只是“没有第三方图书馆就无法做到这一点?”

1 个答案:

答案 0 :(得分:2)

如果没有第三方库,您无法直接执行此操作。我认为JCE中椭圆曲线的情况基本上类似于RSA。这些类表示各种键和编码的实例。您可以使用KeyFactory在编码和密钥规范之间进行编码,您可以使用KeyPairGenerator等生成公钥和私钥。但就像没有RSAPublicKey.exponentiate()一样,也没有ECPoint.add()。这些事情发生在Signature,KeyAgreement和Cipher类的引擎盖下。