使用两个密钥(可能是基于密码的)完成数据加密的基本原理是什么,但只需要两个密钥中的一个(任一个)来解密数据?
例如,使用用户的密码和公司的密码对数据进行加密,然后他或他的公司可以解密数据.他们都不知道其他密码.仅存储加密数据的一个副本.
我不是指公钥/私钥.可能通过对称密钥密码术,可能涉及将密钥异或一起用于加密.
更新:我还想找到一个不涉及存储密钥的解决方案.
通常这样做的方法是生成单个对称密钥来加密数据.然后,您使用每个收件人的密钥或密码加密对称密钥,以便他们可以自己解密.S/MIME(实际上是S/MIME所基于的加密消息语法)使用此技术.
这样,您只需存储加密邮件的一个副本,但只能存储其密钥的多个副本.
一般来说,您所做的是使用随机生成的密钥对数据进行加密,然后附加已使用每个已知密钥加密的随机密钥的版本.因此,任何拥有有效密钥的人都可以发现用于加密数据的"真正"密钥.