首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有用于解密私钥加密消息的主密钥算法吗?

有用于解密私钥加密消息的主密钥算法吗?
EN

Cryptography用户
提问于 2018-04-07 17:02:58
回答 1查看 1.8K关注 0票数 1

是否有实现以下场景的算法?

  1. 创建主私钥
  2. 根据主密钥创建私钥/公钥#1
  3. 基于主密钥创建私钥/公钥#2
  4. 用公钥#1加密数据#1
  5. 用公钥#2加密数据#2
  6. 可以用私钥#1和主密钥解密数据#1
  7. 可以使用私钥#2和主密钥对数据#2进行解密
  8. 不可能用私钥#2解密数据#1
  9. 不可能用私钥#1解密数据#2
EN

回答 1

Cryptography用户

发布于 2018-04-07 23:00:53

你在寻找“密钥托管”,这通常是一个非常糟糕的想法。即使这符合您的用例,您也会创建一个单一的失败点。

我确信有更复杂的方法,但这里有一个非常简单的方法:

您需要伪随机函数(PRF)和公钥加密方案。

为PRF绘制一个随机密钥$k$,并使用它作为主密钥。然后,每当生成公钥/私钥对时,采用唯一的位字符串$id$,计算$PRF(k,id)$,并将结果作为公钥加密方案密钥生成算法的随机性,该算法为您提供了一个私钥$sk$和一个公钥$pk$。存储一个将$pk$映射到$id$的表。

这满足了您想要的一切:只要密钥$k$不被泄露,公钥加密方案就会按预期工作,并且是安全的。但是如果我知道$k$,我可以在表中查找$id$,重新计算$PRF(k,id)$,派生$sk$和解密。

在这里,$id$是一个弱意义上的现在:它既可以是完全随机的,也可以是由计数器实现的;您“只是”需要确保它永远不会重复。(如果它是一个计数器,您也不能首先存储表,只要尝试足够的计数器值,直到找到正确的计数器值,如果您需要使用主密钥解密很少)。

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

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

复制
相关文章

相似问题

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