问题标签 [ecdh]

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 回答
956 浏览

java - IAIK PKCS#11 Wrapper:ECDH KeyAgreement 示例

我尝试使用 IAIK PKCS#11 包装器(https://jce.iaik.tugraz.at/sic/Products/Core_Crypto_Toolkits/PKCS_11_Wrapper)执行一些 ECDH 密钥协议,明确地不使用 JCE 提供程序。到目前为止,我还没有找到任何示例,尤其是设置密钥模板和机制(以及机制参数)。

您是否有一些示例,如何以最佳方式使用 BouncyCastle 执行此操作并验证结果?

谢谢你!

0 投票
1 回答
209 浏览

openssl - 了解 OpenSSL ECDH 代码

我看到有一些关于这个主题的堆栈溢出帖子,其中大多数没有任何答案,比如

OpenSSL 计算 ECDH 秘密

我的问题是我一直在使用链接中的这些命令

https://wiki.openssl.org/index.php/Command_Line_Elliptic_Curve_Operations

我想使用命令对曲线的执行时间进行基准测试

1)time openssl ecparam -name secp256k1 -genkey -noout -out secp256k1-key.pem

我得到时间结果,但我不明白这是否对应于公钥生成或共享密钥生成

我也不明白这是使用仿射坐标还是雅可比投影坐标?

有没有办法进一步了解它?

如果有人有这方面的经验,任何建议都会非常有帮助。感谢您的耐心等待!,但是我打字的时候不明白

0 投票
1 回答
2003 浏览

security - 为什么 P-521 公钥 X,Y 有时是 65 字节有时是 66 字节

我使用 golang 生成 P-521 公钥。源代码如下所示:

为什么 P-521 公钥 X,Y 不像 P-256 或 P-384 具有固定的公钥长度?

0 投票
1 回答
1189 浏览

ios - 在 ios/swift 中使用椭圆曲线加密来加密数据

我一直在尝试使用 Security swift 库使用椭圆曲线加密对字符串进行加密,但出现以下错误SecKeyCreateEncryptedData(...)

线程 1:EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)。

我猜数据的长度和格式不符合所选算法,但我在文档中找不到任何有关它的信息。

0 投票
1 回答
1040 浏览

swift - 使用安全框架快速加密

我一直在尝试使用 Diffie Hellman 密钥交换和椭圆曲线加密快速加密和解密字符串。但是在密钥交换之后,我无法从 CFData shared1/shared2 变量中恢复私钥以进行解密。我得到的只是零值。

0 投票
1 回答
1930 浏览

c - 如何使用 25519 打开 SSL 1.1.1 ECDH

我需要使用 openssl 用 25519 实现 ecdh。

使用:

失败。

使用这个:

似乎可以工作,但我不知道如何以未压缩的 bin 格式导出公钥。或者如何导入对方公钥。

有什么帮助吗?

0 投票
2 回答
1467 浏览

encryption - ECIES 是公共加密算法吗?

我已经实现了 RSA 加密算法来加密数据加密中使用的对称密钥,但是 RSA 的密钥大小和密文大小造成了内存问题,所以我搜索了其他公钥加密方法来解决问题。我找到了椭圆曲线集成加密方案(ECIES)并理解了它背后的理论,但是,我有点不清楚这种方法如何用作公共/非对称加密算法。该方法使用从共享密钥派生的密钥计算对称加密,用于加密和解密(使用相同的密钥)。

那么如何将其视为非对称加密算法呢?或者有什么方法可以将它实现为非对称加密?

0 投票
1 回答
175 浏览

.net - 如何在 .net 框架 4.7 及更高版本中使用 ECDH 实现重新计算对称密钥?

  1. 甲方拥有ECC证书(连同其私钥)
  2. 甲方将此ECC证书发送给乙方
  3. 乙方根据该证书计算 ECDiffieHellmanPublicKey

    /li>
  4. 乙方创建 ECDH 实现(即临时公钥和私钥对)

    /li>
  5. B 方在 ECDH 实现上与 A 方 ECC 证书公钥(以及一些前置和附加字节)一起使用并计算对称密钥

    /li>
  6. 乙方将临时公钥(来自上述 ECDH 实现)发送给甲方

    /li>
  7. 甲方现在的目标是使用乙方的临时公钥和甲方的 ECC 证书(及其私钥)计算相同的对称密钥。

我被困在(7)。任何帮助表示赞赏。

谢谢。

0 投票
1 回答
611 浏览

java - sunpkcs11 是否支持使用 ECDH 派生密钥的 CK_sensitive 属性

我正在尝试使用具有某些属性的 SUNpkcs11 通过 ECDH 生成共享密钥:

虽然我的基本密钥已将 CKA_DERIVE、SENSITIVE 等设置为 true,但这样做时会出现模板不一致的错误:

而 ECC 密钥是使用 HSM 预先生成的。

0 投票
1 回答
1065 浏览

java - Javascript - Java ECDH

在我的场景中,爱丽丝和鲍勃已经就使用哪条曲线达成了一致。

  • Alice 生成公钥和私钥
  • Alice 将公钥发送给 Bob
  • Bob 生成他的密钥,并根据他收到的 Alice 公钥生成会话密钥(或秘密密钥,或共享密钥)。

我的问题是 Alice 的公钥实际上是一个点,所以它有 xy 格式。

我需要将 x,y 坐标字节转换为 ECPublicKey。

这是我正在使用的源代码

问题是:

如何从点的 xy 坐标创建公钥?因为outerPublicKey是 x,y 坐标的原始字节数组,我应该使用哪种格式?