6

我们是密码学的几个业余爱好者。我们必须在 Java 中实现与椭圆曲线密码学相关的不同算法。到目前为止,我们已经能够从关于椭圆曲线密码学的维基百科页面中识别出一些关键算法,例如ECDHECIES、 。ECDSAECMQV

现在,我们在试图了解如何以及从何处开始实施这些算法时不知所措。此外,Java 是否已经在其架构中提供了这些算法?或者我们是否必须使用一些 API BouncyCastle(我们在这个网站上到处都可以看到它!)?或者我们可以简单地使用标准代码自己实现算法吗?任何帮助将非常感激!

4

3 回答 3

6

是的,您始终可以依靠 Bouncy Castle 库来实现最需要的算法,当然包括椭圆曲线加密。无需自己实现;如果您发现任何问题,请尝试修复 Bouncy。

Oracle 的 OpenJDK 7 和 Java 7 SE也实现了 Elliptic Curve cryptography,早期版本仅包含Elliptic Curve cryptography 的综合 API,但您需要 JCE 提供程序(如Bouncy Castle)来提供实际实现。

于 2012-06-21T13:45:32.653 回答
1

这将描述简单的椭圆曲线密码学 http://javaconceptzz.blogspot.com/2013/08/java-eliptic-curve-cryptography.html

于 2014-04-18T17:10:24.977 回答
1

您可以观看 OpenSource 项目 TextSecure,它是一个适用于 android 的 SMS/texto 应用程序,它可以使用与 OpenPGP 相同的想法,但使用 ECDH 和 ECDSA 在 GSM 电话网络上发送加密文本消息。所有这些都已通过 BouncyCastle 实现到该应用程序中。

https://github.com/WhisperSystems/TextSecure/tree/master/src/org/bouncycastle

于 2012-06-20T08:19:12.413 回答