【发布时间】:2011-06-25 13:40:15
【问题描述】:
我正在构建一个使用 BouncyCastle 作为加密提供程序的网络应用程序。假设您有这个来生成密钥对:
ECParameterSpec ecSpec = ECNamedCurveTable.getParameterSpec("prime192v1");
KeyPairGenerator g = KeyPairGenerator.getInstance("ECDSA", "BC");
g.initialize(ecSpec, new SecureRandom());
KeyPair pair = g.generateKeyPair();
我很困惑为什么你会得到一个 ECDSA KeyPairGenerator 的实例。为什么不直接说EC?我知道 BouncyCastle 附带了一个 ECDH 密钥类型,但我认为这两者代表了关于曲线上点的相同内容——还是我完全错了它背后的理论?
我问的原因是,现在我的应用程序使用 ECDH 很好地建立一个 AES 密钥,但现在我想使用相同的 EC 密钥来使用 ECDSA 对每条消息进行签名。
【问题讨论】:
标签: java security bouncycastle elliptic-curve