问题标签 [diffie-hellman]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4211 浏览

security - SSL 密钥交换加密技术

三种密钥交换算法即匿名 DH、临时 DH 和固定 DH 之间有什么区别?

0 投票
2 回答
1042 浏览

java - 加密密钥交换的同行评审

在过去的几天里,我一直在玩 Bouncy Castle (java),并且我已经达到了我相信我可以通过 Diffie-Hellman 交换安全地交换密钥的地步。

在阅读了许多强调正确实施加密交换困难的帖子后,我希望您能对我的工作发表诚实的看法。所有底层密码操作都基于 Bouncy Castle,因此可能被认为是可靠的。

这种交换可以被认为是安全的吗?我是否应该坚持使用 SSL 套接字,尽管我的辛勤工作会受到伤害?提前感谢您的意见!

(顺便说一句,我的 Bouncy-Castle-Wrapping-Library 是完全开源的,所以如果你想要存储库的 URL,请告诉我。)

0 投票
3 回答
7660 浏览

cryptography - 生成器 G 要求是 Diffie Hellman 算法中的原始根模 p

经过搜索,我发现自己对 Diffie Hellman 算法中 P 和 G 的使用感到困惑。要求P是素数,G是P的原根。

我知道安全性是基于分解两个非常大的素数的结果的难度,所以我对此没有任何问题。然而,关于 G 成为 P 的原始根的目的似乎很少有可用信息。谁能回答为什么存在这个要求(如果可能,请提供参考资料)?它只是增加了安全性吗?鉴于共享密钥显然可以用 p 和 g 的任意组合创建,即使是非质数组合,我觉得这很有趣。肯定只能是为了安全?如果是这样,它是如何增加的?

提前致谢

丹尼尔

0 投票
2 回答
2766 浏览

c# - Bouncy Castle ECDH 和 .net4 原生 ECDiffieHellmanCNG 之间的区别

我已经能够使用 .net4 中的 ECDiffieHellmanCNG 生成私钥,并且我还使用 Bouncy Castle C# 库成功生成了私钥。我想知道为什么 .net 4 版本会生成一个字节数组,而 Bouncy Castle 的 ECDHBasicAgreement 会生成一种 BigInteger(手动实现)。我希望能够互换使用这些库。谢谢!

0 投票
0 回答
3927 浏览

c++ - Diffie Hellman 上的 C++ 教程

是否有使用 OpenSSL 进行 Diffie Hellman 密钥交换的 C++ 教程?我一直在寻找,我找不到任何东西。如果您知道教程,我将不胜感激它的链接。谢谢你。

0 投票
1 回答
266 浏览

php - iPhone和带有密钥交换的php页面之间的加密

我需要从我的 iPhone 应用程序向 php 页面发送数据和从 php 页面发送数据,现在我有几个问题要在第一次就正确处理它,并且最好的结果:)

让我们从数据传输开始。从 php 页面获取数据的最佳方式是什么?

选项 1:在后台线程中使用 NSString

或选项 2:将 NSURLConnection 与代表一起使用?

然后我们有加密部分。我有一点谷歌,但还没有找到这么多。我需要能够在双方(在 iPhone 应用程序和 php 页面上)进行加密和解密。什么加密最适合这个?是否有任何良好加密的实现?

最后,用于密钥交换。我正在考虑使用 diffie-hellman,它“需要”大素数。有没有简单的方法来生成这样的东西(在 iPhone 和 php 页面上)?

0 投票
1 回答
802 浏览

c# - 我可以用于 BlowFish/DH 的最佳库是什么?

什么是我可以用于 BlowFish/DH 的最佳库,因为我使用的是 BouncyCastle,但它看起来不像我想要的那样,所以我想知道是否有另一个库我可以使用,所以它让我可以使用 CFB/卫生署?谢谢

这是我的 BouncyCastle 课程:

0 投票
2 回答
18381 浏览

cryptography - EC公钥是否有标准化的固定长度编码?

我想知道是否有(我希望有)ECDH(椭圆曲线 Diffie-Hellman)和 ECDSA(椭圆曲线数字签名算法)的公钥大小标准,适用于素数字段(192、224、256)上的每种曲线类型, 384 和 521)。

0 投票
1 回答
2597 浏览

java - 确定私钥(Diffie-Hellman)

我遇到了一个挑战,它与测试朋友的加密过程有关。

这是一个 Diffie-Hellman 交换过程,这里是已知的变量/常量:

  • P,G
  • 我生成的私钥(变量)
  • 我生成的公钥(变量)
  • 收件人公钥(常量)。

查看我的私钥时 -P并且G都在其中。例如,前 'x' 字节似乎与任何东西无关,然后接下来的 'y' 字节是P,接下来的两个字节是静态的,接下来的 'z' 字节是G,其余的都是可变的。

该过程是加密文件,然后将其发送到设备,然后设备将对其进行解密-我的攻击思路是:

  1. 尝试复制秘密共享密钥。这里的问题是只要我知道我生成的私钥就可以了,在这种情况下 - 我不喜欢他给我的文件。

  2. 尝试找到收件人的私钥。在这里,我可以蛮力闯入——但除非我有某种超级计算机,否则我会花很长时间。

尝试攻击时还有其他选择吗?

0 投票
21 回答
320312 浏览

java - 为什么 SSL 握手会给出“无法生成 DH 密钥对”异常?

当我与一些 IRC 服务器(但不是其他服务器 - 可能是由于服务器的首选加密方法)建立 SSL 连接时,我得到以下异常:

最终原因:

演示此问题的服务器示例是 Aperture.esper.net:6697(这是一个 IRC 服务器)。kornbluth.freenode.net:6697 是未证明该问题的服务器示例。[毫不奇怪,每个网络上的所有服务器都共享相同的各自行为。]

我的代码(如前所述,在连接到某些 SSL 服务器时确实有效)是:

正是最后一次 startHandshake 引发了异常。是的,“trustAllCerts”有一些魔力;该代码强制 SSL 系统不验证证书。(所以......不是证书问题。)

显然,一种可能性是 esper 的服务器配置错误,但我搜索并没有找到任何其他关于 esper 的 SSL 端口有问题的人的引用,并且“openssl”连接到它(见下文)。所以我想知道这是否是 Java 默认 SSL 支持的限制,或者其他什么。有什么建议么?

当我从命令行使用“openssl”连接到 Aperture.esper.net 6697 时,会发生以下情况:

如前所述,毕竟,它确实连接成功,这比我的 Java 应用程序所能说的要多。

如果相关,我使用的是 OS X 10.6.8,Java 版本 1.6.0_26。