首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >能否从密文和加密私钥中恢复公钥?

能否从密文和加密私钥中恢复公钥?
EN

Cryptography用户
提问于 2014-11-01 00:58:17
回答 1查看 1.4K关注 0票数 2

我希望实现类似于写一次的公开/私有加密共享秘密(对于缺乏术语知识没有更好的快速描述)。我想我是在尝试实施HSM。

该计划的内容如下:

  1. 给定一个秘密(例如512个字符的长字符串)
  2. 生成公钥和私钥对
  3. 用公钥加密秘密,以便私钥解密。
  4. 将私钥加密到硬件令牌密钥(OpenPGP智能卡、yubikey、FIDO安全密钥、TPM等)只有硬件令牌才能解密它。
  5. 销毁公钥,销毁秘密密钥的普通副本

实现了以下特性:

  • 在公钥不存在的情况下,无法为该私钥创建任何其他加密秘密。
  • 加密的私钥和加密的私钥都可以通过不安全的通道进行外部存储和传输。
  • 要解锁该秘密,必须将加密的秘密和加密的私钥显示给硬件模块,该硬件模块对私钥进行片上解密,并解密返回的原始秘密。
  • 一个硬件令牌可以解锁无限数量的秘密(因为它们是外部存储的)。
  • 不可能知道哪个硬件令牌可以解锁哪些秘密

上述论证是否有谬误,是否一个合理的方案?公钥可以从密文&加密密钥中导出吗?公钥可以从密文和解密私钥中导出吗?(假设硬件令牌有缺陷,并在外部公开)

本质上,我试图创建一个多因素方案来存储共享秘密,它用于全磁盘加密(LUKS / cryptsetup)。有了以上所述,我将需要访问未锁定的加密磁盘:

  • 密文
  • 加密私钥
  • 解锁前两个(例如智能卡)的硬件令牌
  • 智能卡销

但我可以将智能卡用于多个秘密/密文/私钥组合。还是我没有必要让事情变得复杂,应该用智能卡对共享的秘密进行加密吗?

EN

回答 1

Cryptography用户

发布于 2014-11-02 13:23:43

在上述论证中是否存在谬误,是否是一个合理的方案?

加密秘密被HSM或智能卡解密并非闻所未闻。通常,智能卡或HSM本身用于加密/解密存储的秘密值。我知道至少有一个HSM能做到这一点,而且所有的TPM都在那里。

如果你接受无限数量的秘密,那么你似乎产生了无限数量的密钥对。如果接受公钥/私钥对的任何组合,那么您也可以始终使用相同的公钥/私钥对。

顺便提一句,谈论一个512个字符的秘密是很奇怪的。这在密码学中没有任何意义(除非您指的是从本质上转换为字节的C/C++ char值)。

可以从密文&加密密钥?

导出公钥吗?

不,如果加密的密钥是作为原始密钥材料表示的,则不会。这两种输出都应该(几乎)与随机没有区别。

如果没有一个秘密的公钥,你想要完成的事情应该是可能的。使用超出其界限的密码是危险的,应该避免。

可以从密文和解密私钥导出公钥吗?

是的,几乎可以肯定,除非公共指数具有与私有指数相同的性质。模数是已知的,因此需要保证公共指数的安全。大多数私钥容器将包含CRT参数和/或公共指数。此外,公钥的指数通常是一个已知值,如Fermat (65537)的3或第四个数。

或我是否没有必要使事情复杂化,只需用智能卡加密共享的秘密,就这样?!

是。这看起来至少比你上面描述的方案更合理。

即使这个计划不是直接错误的,它也包含太多的假设,留下太多的东西没有很好的描述。直接实现不太可能是安全的。

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

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

复制
相关文章

相似问题

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