Java中的椭圆曲线密码算法

时间:2012-06-20 08:10:44

标签: java cryptography elliptic-curve

我们在密码学方面有几个业余爱好者。我们必须在Java中实现与椭圆曲线加密相关的不同算法。到目前为止,我们已经能够从维基百科页面上的椭圆曲线加密中识别出ECDHECIESECDSAECMQV等关键算法。

现在,我们在试图了解如何以及从何处开始实施这些算法时感到茫然。此外,Java是否已在其架构中提供这些算法?或者我们是否必须使用像BouncyCastle这样的API(我们在这个网站上看到了它!)?或者我们可以使用标准代码自行实现算法吗? 任何帮助将不胜感激!

3 个答案:

答案 0 :(得分:4)

是的,您可以始终依靠Bouncy Castle库来实现大多数必需的算法,当然包括Elliptic Curve加密。无需实施自己的;如果你发现任何问题,请尝试修复Bouncy。

来自Oracle also implements Elliptic Curve cryptography的OpenJDK 7和Java 7 SE,早期版本仅包含a comprehensive API for Elliptic Curve cryptography,但您需要JCE提供程序(如Bouncy Castle)来提供实际实现。

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)