【发布时间】:2017-07-11 03:05:26
【问题描述】:
使用“支持”椭圆曲线的 Java Card API,我如何在已知密钥的情况下计算公钥。
在 DH 共享秘密协商之后,我对派生公共共享密钥感兴趣。根据 TR-03111 和 X9.63,不应使用来自 DH ECC 密钥协议的共享密钥,但据我了解,x 坐标的仿射表示(与共享密钥关联的公钥的 x 分量)作为私钥)将被使用。
使用 BigInteger 算术或 ECPoint.multiply() 很容易,但 Java Card 中不存在这样的 API。
【问题讨论】:
-
你使用 KeyAgreement 类吗?为什么不直接调用 generateSecret?
-
我使用了 KeyAgreement 类来生成共享密钥。现在我想将共享密钥用作私钥并派生公钥。据我所知,KeyAgreement 不能用于此。
标签: smartcard javacard elliptic-curve