為什麼在不完全要求解密正確性的情況下可以實現完美的保密?
根據 Shanon 定理,完美的保密加密方案必須使用與消息空間相同大小的密鑰空間。
但是當正確性要求被削弱時, $ Pr[Dec_k(Enc_k(m))=m]=1/2 $ 我們知道密鑰空間可能小於消息空間。
一般當方案正確性要求為時,密鑰空間的下界是多少 $ Pr[Dec_k(Enc_k(m))=m] >= 2^{-t} $ ? (為什麼?)
我將進一步解釋@CodesInChaos的註釋,然後舉一個簡單的例子:
解釋
當正確性要求被削弱時,加密方案可以省略部分消息 $ m $ (長度 $ |m| $ ) 被加密並以密碼(加密方法的輸出)完全獨立於該部分的方式“鬆散”它。因此,有效加密的消息不是 $ m $ 而只是長度的一部分 $ |\ell|<|m| $ 因此密鑰至少不必是長度 $ |m| $ 但至少要夠長 $ |\ell| $ .
例子
最基本的例子是使用 One-Time-Pad 方案的加密,在一個模型中,該方案的正確性要求被弱化為: $ Pr[Dec_k(Enc_k(m))=m]=\frac{1}{2} $ . 留言 $ m $ 長度 $ |m| $ 和一個隨機密鑰 $ k\in{0,1}^{|m|-1} $ ; 加密方式取第一 $ |m|-1 $ 位 $ m $ , 稱它為 $ m’ $ 並輸出密碼 $ c=m’\oplus k $ . 然後,給定 $ c $ 和 $ k $ ,我們可以正確地破譯(或解密)密碼 $ \frac{1}{2} $ 通過計算 $ m’=c\oplus k $ 然後隨機猜測 $ |m|^{th} $ 一點 $ m $ ; 因為我們有機率得到正確的位 $ \frac{1}{2} $ 我們滿足正確性要求。
關於界
我們可以說當正確性要求是 $ Pr[Dec_k(Enc_k(m))=m]\geq\frac{1}{2^t} $ 密鑰空間的長度必須不小於 $ |m|-t $ . 如果上例中的鍵是長度 $ |m|-t $ 那麼解密算法可以猜出省略的 $ t $ 有機率的消息位 $ \frac{1}{2^t} $ 按要求。