有没有办法使用公钥加密来设置分层加密?
假设较高级别的用户可以解密较低级别用户加密的消息。 有可能吗?我想这只能用分层来完成 key 管理,如较高级别的用户可以访问较低级别用户的 key 。
还有其他选择来做这样的事情吗?
最佳答案
在某种程度上,我的建议是分层 key 管理思想的扩展。
核心思想是这样的: 我们使用密码学上强的随机 secret 来对称地加密文件(大型数据集的公钥加密实际上相当慢,因此大多数软件(例如 GPG)使用对称分组密码来加密数据,然后它们对文件进行公钥加密随机 secret 。)随机 secret 本身使用允许访问数据的每个用户的 key 进行加密。
此方案类似于向多个接收者发送 PGP 消息。这很简单,但问题是如果添加、修改或删除用户,您必须更新所有加密数据。一般来说,您可以引入中间键来抵消这种影响。
为了解决这些问题,密码学家发明了HIBE (Hierarchical Identity-Based Encryption) 。如果您想在实际应用程序中使用它,请不要自己构建加密堆栈,而应使用经过验证的同行评审算法。
关于encryption - 分层加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19811566/