问题标签 [hkdf]

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 投票
0 回答
27 浏览

cryptography - 零知识架构

我想用零知识架构加密一些用户数据。我参考了 bitwarden 的实现并且不理解某些部分。

首先,我想使用 argon2 而不是 pbkdf2 来派生密钥,因为 argon2 似乎更安全,因为它可以抵抗并行蛮力。

二、HKDF将主密钥(256bit)拉伸到512bit的目的是什么,为什么不能使用主密钥直接加密生成的对称密钥?

第三,是否可以直接使用主密钥加密用户数据,而不是生成一个新的对称密钥并使用它来加密用户数据?

第四,为什么主密码哈希是通过 1 次迭代而不是 100,000 创建的?

来自 bitwarden 的参考资料

0 投票
0 回答
38 浏览

c++ - EVP_PKEY_CTX_new_id 返回 NULL openssl 1.1.1g

我正在使用 openssl 1.1.1g 来实现部分 quic RFC。我按照以下链接中的建议 如何使用 OpenSSL 1.1.1 实现 HDF-Extract? 但是第一次调用 (EVP_PKEY_CTX_new_id) 失败,错误 139800057870304:error:0609D09C:lib(6):func(157):reason(156):pmeth_lib.c:166:

evperr.h 中定义的错误代码 156(如果这是它的意思)是

知道为什么会这样吗?这是代码片段

0 投票
0 回答
29 浏览

bouncycastle - 如何使用充气城堡在 Java 中进行三重 Diffie-Hellman(3 - DH) 密钥协议?

关于如何进行 Diffie-Hellman 密钥协商来计算共享秘密的例子很多。但是,我找不到任何关于如何使用充气城堡(或者说实话提供的任何安全性)在 java 中进行 3DH 的示例。我发现的所有内容,阅读都是抽象理论,而不是实际的实际实现/示例。

更具体地说,如何将三个单独计算的 DH 协议结合起来?Signal 的 x3dh 协议协议是一个很好的参考来源:

伪代码

或者:

准确地说,我正在寻找SK = KDF(DH1 || DH2 || DH3)已经在充气城堡中计算出 DH1 DH2 和 DH3 的方法?IE 如何将 secret1、secret2 和 secret3 组合为 HKDFParameters 的输入密钥材料或种子?