【问题标题】:Elliptic Curve Cryptography algorithms in JavaJava中的椭圆曲线密码算法
【发布时间】:2012-06-20 08:10:43
【问题描述】:

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

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

【问题讨论】:

    标签: java cryptography elliptic-curve


    【解决方案1】:

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

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

    【讨论】:

    • +1 不自己实现算法。即使您使用可靠的算法,您的实现也可能被破坏一百万种方式!依赖已经存在的实现总是更好!
    【解决方案2】:

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

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

    【讨论】:

    • 谢谢!但是我们仍然对从哪里开始实施感到困惑,如果我们需要从头开始构建这些东西。任何进一步的帮助将不胜感激!
    • 我知道 ECDH 和 ECDSA 已经实现,因为它们在 TextSecure 中使用。其余的,你应该检查 BouncyCastle。我猜他们已经做了很多工作了!
    【解决方案3】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-05
      • 1970-01-01
      • 1970-01-01
      • 2021-05-07
      相关资源
      最近更新 更多