我们在密码学方面有几个业余爱好者。我们必须在Java中实现与椭圆曲线加密相关的不同算法。到目前为止,我们已经能够从维基百科页面上的椭圆曲线加密中识别出ECDH
,ECIES
,ECDSA
,ECMQV
等关键算法。
现在,我们在试图了解如何以及从何处开始实施这些算法时感到茫然。此外,Java是否已在其架构中提供这些算法?或者我们是否必须使用像BouncyCastle
这样的API(我们在这个网站上看到了它!)?或者我们可以使用标准代码自行实现算法吗?
任何帮助将不胜感激!
答案 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)