https://github.com/hongyuefan/prencrypt
关于代理重加密
代理重加密是一组算法,它允许半可信代理将密文从一个加密转换到另一个加密,而无需接触到底层明文的任何内容。为此,Alice(原始数据拥有者)创建了一个称为“重加密密钥”的特殊密钥,允许代理转换密文,从而使Bob可以在被称为“重加密”的过程中打开它们。
代理重加密非常适合用于在要与多方共享加密的数据使用场景,就不需要再与收件人共享私有的密钥,也不需要为每个收件人都加密整个消息后再进行代理。该加密让用户仅需要进行一次加密操作,随后可以根据收件人的公钥对其进行授权。这样一来,就不必要求所有数据所有者都同时在线,并且还可以轻松撤消某人的访问权限,也可以根据指定的条件来管理访问(例如,限制访问时间)。
Umbral:一种新的代理重加密方案
借助于Umbral,Alice(数据拥有者)可以通过由一组N个半可信代理执行的重新加密过程,将解密的权限授权给Bob(在NuCypher KMS的术语中,称为“Ursulas”)。当这些代理(至少为M个,至多为N个)通过执行重加密操作参与进来时,Bob能够使用自己的私钥解密出原始邮件。Umbral是门限密码系统(Th