2012-02-13 71 views
3

是否有一个支持(对称)加密数据的python库,可以使用多个解密密钥。支持多个解密密钥的Python加密方案

我有(敏感的)用户数据必须在数据库中加密存储,但它必须可以让多个第三方访问数据而不必提供所有相同的秘密。

这可以通过生成随机密钥K来实现,对原始数据D进行加密以得到D_K。然后根据需要用多个访问密钥(ak_1到ak_n)对K进行加密,将它们存储起来供以后使用并销毁K.每当第三方试图访问D时提交ak_i,我用它来解密K,我们用它来解密D_K得到D.

但是,这将是很好的有一个实施,因为a)我不喜欢重新发明轮子和b)这是安全性,你可能不会100%正确。

回答

0

由于困难和围绕硬加密的出口控制问题,没有太多的第三方库直接提供这种更高级的显式加密方案。

大多数情况下,您将不得不用自己的关键逻辑来包装类似PyCrypto之类的工具集。但是,如果我没有指出the other libraries for lower-level hard encryption tools in Python.

+0

不是你的第一段和第二段相互矛盾,我认为它是加密的, – 2012-02-13 23:46:58

+0

编辑尝试使这一点更清晰。我的意思是,虽然有第三方库支持硬加密,但我没有意识到直接实现OP所要求的那种对称系统。 – michaelfilms 2012-02-15 17:36:32