Hybrid-Encryption
在混合加密系統中安全地“轉發”大消息而不發送實際消息
Alice 用隨機密鑰 K1 對大 (100Mb) MessageA 進行了對稱加密,然後用 Bobs 公鑰對 K1 進行了非對稱加密。然後,她將加密的大消息儲存在中央公共儲存庫中,並將 Bob 的密鑰發送給他。
然後 Bob 可以用他的私鑰解密密鑰 K1,然後用 Charles 的公鑰再次加密密鑰 K1,並將生成的密鑰發送給 Charles - 讓 Charles 能夠解密中央儲存庫中的 MessageA?
我正在尋找一種加密方法來讓多個使用者訪問相同的數據,而無需處理實際數據。(A 給 B,B 給 C 和 E,等等)。是否有撤銷機制?
一種常見的方法是使用他們的公鑰為每個使用者安全地發送加密密鑰,並將加密數據儲存在每個使用者可以訪問的地方。
您可以通過 RSA-KEM 使用 RSAES-OAEP 填充和任何經過身份驗證的加密(如 AES-GCM)來執行此操作;
分銷商;
- 首先生成一個隨機加密密鑰 $ k $ 適用於 AES-128,192 或 256
- 使用 AES-GCM 加密消息生成一個 $ IV $ 和$$ (IV,ciphertext,tag) = \operatorname{AES-GCM-Enc}(IV,message, k) $$
- 上傳 $ (IV,ciphertext,tag) $
- 為每個使用者發送一條消息 $ \operatorname{RSAES-OAEP}(pk_{user},k) $ 使用他們的公鑰。
接收器;
- 要得到 $ k $ , 他們正在使用他們的私鑰,$$ k = \operatorname{RSAES-OAEP}(priv_{user},k) $$
- 使用 AES-GCM 解密消息$$ message = \operatorname{AES-GCM-Dec}(IV,ciphertext,tag, k) $$
該密鑰封裝機制(KEM) 與數據封裝機制 (DEM) 一起提供了 IND-CCA2/NM-CCA2 標準——自適應選擇密文攻擊下的密文不可區分性和不可延展性。
**注 1:**上述修改了 RSA-KEM,因為原來的多使用者 RSA-KEM 將落入Håstad 的廣播攻擊。相反,使用 RSAES-OAEP 可以確保多個收件人具有相同的安全性 $ k $ 為不同的收件人加密為 PGP/GPG。