我想加密一个文件,但可以使用两个密码之一访问它。
这是我的用例:我正在编写一个程序,该程序将允许用户拥有多个文件,所有文件都已加密并可使用单个“私人”密码进行访问。对于每个文件,用户可以创建一个单独的“共享”密码(每个文件不同),然后他们可以共享该密码以授予其他人访问该文件的权限。基本上,每个文件都可以使用两个密码中的任何一个来解密。
作为安全要求,该软件不会存储任何一个密码,也不会存储这些密码的哈希值。这意味着我不能组合密码或哈希;它们必须彼此独立使用。
是否有可用于实现此行为的加密算法或方法?我不打算重新实现加密算法,所以如果我能确定要寻找的合适算法,我将寻找一个开源实现。