用多個密鑰來解密同一個密文?
02-09
有沒有辦法生成一段密文,這段密文可以被多個不同的密鑰解密?
PGP 支持 multiple recipients 功能。 可以指明多個收件人,任意收件人都可以使用自己的私鑰解密密文。
舉例:
gpg --encrypt --recipient alice@example.com --recipient bob@example.com doc.txt
加密過程:
- 將
doc.txt
使用對稱加密方法加密,產生一個對稱密鑰 Ks 。 - 將對稱密鑰分別使用 Alice 和 Bob 的公鑰,對 Ks 進行加密,分別產生針對 Alice 和 bob 的密文。
- 將
doc.txt
的密文和第二步產生的密文發送給收件人。
解密過程:
- Alice 或 Bob 收到密文後, 找到其中使用自己公鑰加密後的對稱密鑰。 解密出 Ks。
- 使用 Ks 解密出
doc.txt
。
從嚴格意義上來說, 這並不是某個加密演算法,能夠同時允許多個密鑰解密。 而是對稱加密和非對稱加密配合,實現將數據加密分發給多個人,能夠讓不同人使用自己的密鑰解密數據。
基於屬性的加密ABE
瀉藥,應該是可以的,就好像數學題吧,同一種題目(同一種密文),可以使用不同的公式(不同的秘鑰)取得相同的值,只是過程會麻煩一些吧,需要考慮到每個秘鑰和密文的聯繫
def clipher(key, text):
print("do something")
key = randint(1,6555555555)//25
source_text = "hello world"
clipher(key, source_text)
這裡有25個密碼,拿去
推薦閱讀:
※關於密碼中的RSA演算法和ecc(橢圓曲線)演算法加密過程是怎樣的?
※【matlab學習筆記】圖像加密的簡單方法
※用已知加密演算法AES加密文本123,得到密文xxx,問能否根據密文、加密演算法、原文本123直接推導出密鑰是什麼?
※WinRAR 的加密效果怎麼樣,其中加密文件名是什麼意思?
※ajax post請求如何加密?