Perfect Secrecy

  • 簡單來說就是已知密文得出明文的機率與直接得出明文的機率一樣。

  • 這邊要來解釋上面那句話的意思,我們要先知道我們要先有一些假設。假設我們有三個樣本空間 M ( 明文 ) 、 K ( 密鑰 ) 、 C ( 密文 ) ,我們要探討其中的機率分部:

    • M 機率分部:

      • 先驗知識 決定,應該是根據一些我們已知的資訊整理而得。
    • K 機率分部:

      • 密鑰生成演算法 決定。
    • C 機率分部:

      • MK 以及 加密演算法 決定。
  • 列一下算式,這邊我會用 Pr[] 來表示機率,裡面放的是某個被賦予值的參數:

    • 定義以 k 為密鑰的形成的密文集合:

    • 密文為 y 的機率,其中 y 屬於以 k 這個密鑰加密所有可能的明文產生出來的密文集合,故機率的部分是出現機率為兩者相乘:

    • 在明文為 x 的條件下,密文為 y 的機率,其中 x 屬於以 k 這個密鑰解密 y 這個密文所產生出來的明文,故機率就是密鑰機率:

    • 在密文為 y 的條件下,明文為 x 的機率,這邊應該也可以想成已知密文的條件下,得知明文的機率:

    • 如果一個 Crypto-System 具有 Perfect Secrecy ,我們可以用以下式子表示:

    • 也就是說: