支持多个解密密钥的 Python 加密方案

Posted

技术标签:

【中文标题】支持多个解密密钥的 Python 加密方案【英文标题】:Python encryption scheme that supports multiple decryption keys 【发布时间】:2012-03-05 01:09:58 【问题描述】:

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

我有(敏感的)用户数据必须加密存储在数据库中,但多个第 3 方必须可以访问这些数据,而无需向他们提供所有相同的秘密。

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

但是,如果有一个实现会很好,因为 a) 我不喜欢重新发明***,b) 这是安全性,你可能不会 100% 正确。

【问题讨论】:

【参考方案1】:

由于围绕硬加密的出口控制的混乱和问题,没有很多 3rd 方库直接提供这种更高级别的显式加密方案。

在大多数情况下,您将不得不使用您自己的关键逻辑来包装 PyCrypto 之类的工具集。但是,鉴于我们正在谈论的是加密货币,如果我没有指出the other libraries for lower-level hard encryption tools in Python.

,那我就失职了

【讨论】:

你的第一段和第二段不是互相矛盾吗? 已编辑以尝试使这一点更加清晰。我的意思是,虽然有支持硬加密的 3rd 方库,但据我所知,没有一个库可以直接实现 OP 要求的那种对称系统。

以上是关于支持多个解密密钥的 Python 加密方案的主要内容,如果未能解决你的问题,请参考以下文章

python中的RSA加密与解密

对称加密是什么?

什么是对称加密?

python 加密与解密

Python使用rsa模块实现非对称加密与解密

加密(对称密钥)库