Diffie-Hellman协议可以用作数字签名的基础吗?

时间:2009-09-23 11:45:23

标签: algorithm math cryptography

我正在使用Diffie-Hellman协议实现一个custo加密库(是的,我知道rsa / ssl /和喜欢的 - 我正在使用它的特定用途)到目前为止,它比我原来的预期更好 - 使用GMP,非常快。

我的问题是,除了明显的密钥交换部分外,该协议是否也可以用于数字签名。

我在网上看了很多资源,但到目前为止,我的搜索一直没用。

这一切都可能吗? 任何(严肃的)想法都是受欢迎的。

更新:
感谢您的评论。对于更好奇的人:

  • 我的DH实现意味着 - 除其他外 - 将加密的“资源”分发给客户端应用程序。两者都是我自己的代码。
  • 每个客户端都有一个DH密钥对,我将其与服务器的公钥一起使用以生成共享密钥。反过来,我将它们用于HMAC和对称加密。
  • DH密钥的构建范围从128到512位,使用安全素数作为模数。

我意识到单独的“纯粹”D-H不能用于签名,我希望有一些接近它的东西(或简单)。

2 个答案:

答案 0 :(得分:6)

看起来这是可行的:http://www.quadibloc.com/crypto/pk050302.htm

我会质疑为什么你这样做。实现加密的第一条规则是不实现加密。有很多库已经存在,你可能会更好地利用这些库,即使你了解其背后的科学,加密代码也很难正确。

答案 1 :(得分:2)

DSA是基于离散对数问题制作数字签名的标准方法。

为了回答潜在的未来问题,Ephemeral-static Diffie-Hellman是实现非对称加密的标准方式(在您知道并信任收件人公钥的情况下发送邮件(例如通过证书),但收件人确实如此不知道你的钥匙。)