首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >JWE初始化向量位置或重用

JWE初始化向量位置或重用
EN

Cryptography用户
提问于 2020-06-16 14:03:41
回答 1查看 217关注 0票数 1

因此,我试图使用X25519来为内容加密密钥(CEK)和用于内容的AES-256-GCM来生成JWE。

但是,我的问题是,NaCl需要一个IV (在NaCl中为nonce),用于密钥的非对称加密和内容的对称加密。

看看其他的例子,比如ietf-何塞食谱,(X25519,A128GCM),它们只有一个“顶级”IV。

对x25519和A256GCM都使用相同的IV可以吗?

如果没有,x25519的IV在哪里放置在JWE中?

或者还有什么是我完全错过的?

代码语言:javascript
代码运行次数:0
运行
复制
{
  header: {
    enc: "A256GCM",
    alg: "ECDH-ES",
    epk: {
      crv: "X25519",
      kty: "OKP",
      x: ephemPublicKey
      iv: "Perhaps we stuff the X25519 iv here?",
    },
    iv: "Perhaps we stuff the X25519 iv here?",
    encrypted_key,
  },
  ciphertext,
  tag,
  iv: "iv for the A256GCM only or both?",
}
EN

回答 1

Cryptography用户

回答已采纳

发布于 2020-06-17 15:03:57

因此,感谢@kelalaka的评论,答案是X25519不需要iv。我使用的不仅仅是X25519,而是通过TweetNaCl.js使用的x25519-xsalsa20-poly1305。

实际上不需要使用x25519-xsalsa20-poly1305来封装AES-256-GCM密钥,因为"xsalsa20是流密码,poly1305是用于相互身份验证的。“

关于JWE,没有一种方法可以在JWE中使用x25519-xsalsa20-poly1305,因为JWE需要经过身份验证的加密附加数据(AEAD),而salsa只具有身份验证加密(AE)。

因此,我使用JWE的选项是切换到只使用x25519 + AES-256-GCM或只使用x25519-xsalsa20-poly1305而不使用JWE (或者至少不使用符合标准的JWE)。

票数 2
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/81378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档