2011-10-30 32 views
4

Java 7自帶SunEC,提供ECDH和ECDSA操作。我試圖做基本的EC操作(點加法,標量乘法)。您可以在沒有第三方庫的情況下在Java 7中執行基本的EC操作嗎?

我開始

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

但是從那裏,我沒有看到下一個步驟。沒有ECPoint.scalarMultiply()ECPoint.add()EllipticCurve.multiply()

我錯過了什麼,或者答案就是「沒有第三方庫就無法做到這一點?」

回答

2

如果沒有第三方庫,則無法直接進行。我認爲JCE中橢圓曲線的情況與RSA的基本相似。這些類表示各種鍵和編碼的實例。您可以使用KeyFactory在編碼和關鍵規範之間轉換,您可以使用KeyPairGenerator等生成公鑰和私鑰。但就像沒有RSAPublicKey.exponentiate()一樣,也沒有ECPoint.add()。這些事情發生在Signature,KeyAgreement和Cipher類中。

+0

但有'BigInteger.modPow()'。即使不在JCE中,我也希望有類似的東西。 – Jumbogram

相關問題