2012-02-13 148 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