Terminology
What is the meaning of ‘probabilistic encryption algorithm’?
I am learning cryptography by myself, and I am not able to understand the meaning of “probabilistic encryption algorithm”.
它與“確定性加密算法”有何不同?當使用兩次不同的時間時,對於同一對純文字和密鑰,機率算法的輸出如何不同?密文不是只依賴於密鑰和純文字嗎?
為了消除您的疑問,請考慮一個隨機長度的密鑰 $ l(n) $ 其中 l 在消息比特大小的多項式中 $ n $ . 這是多項式加密算法的隨機/機率/隨機化的來源。
例如,考慮一次性墊 $ l(n) = 3*n $ 密鑰長度和 2 位消息 ( $ n = 2 $ ).
讓隨機位 $ k = 110100 $ 和 $ m $ = 01
然後 $ Enc_k(m) $ = 01 XOR 11 = 10 一開始。
如果您選擇再次加密 m,
然後 $ Enc_k(m) $ = 01 異或 01 = 00
因此,密文發生了變化。這是一種機率多項式時間加密算法。
如果您在 6 位大小的消息上重複使用此 6 位密鑰,並且每次都使用它來加密 $ m $ 使用一次性墊。然後你會得到一個確定性多項式時間加密算法。請注意密鑰如何變得非隨機,因此機率變得確定性。