java - 在没有第三方库的情况下,Java 7 能做基本的 EC 操作吗?

标签 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()

我是不是遗漏了什么,或者答案只是“没有第三方库就做不到?”

最佳答案

不借助第三方库是无法直接实现的。我认为 JCE 中椭圆曲线的情况与 RSA 中的情况基本类似。这些类表示各种键和编码的实例。您可以使用 KeyFactory 在编码和 key 规范之间切换,您可以使用 KeyPairGenerator 等生成公钥和私钥。但是就像没有 RSAPublicKey.exponentiate() 一样,也没有 ECPoint.add()。这些事情发生在 Signature、KeyAgreement 和 Cipher 类的幕后。

关于java - 在没有第三方库的情况下,Java 7 能做基本的 EC 操作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7945850/

相关文章:

java - 打开一个二进制文件并打印该文件中的所有 ASCII 字符

java - Jackrabbit,保存很多文档太慢了

java - ES256 JWT 验证 - SignatureException : invalid encoding for signature: java. io.IOException:序列标记错误

node.js - ECDH 私钥大小

java - 用于 Java 的充气城堡中的 EC ElGamal

Java Web 服务 - JDK 版本

java - Axis2 是否提供任何功能来确定服务是否部署?

java - Java中ECC的实现

Java ReentrantReadWriteLock 请求

java - 将 ECPublicKey 从 JavaCard 恢复到 Java