One-Time-Pad

One Time Pad Cipher 的正確操作順序是什麼?

  • December 15, 2017

根據維基百科,一次性密碼是牢不可破的。在 Wikipedia 頁面上,它解釋瞭如何手動執行這個簡單的加密過程。對於加密,它添加(+)消息和密鑰,然後以 26 為模。對於解密,它減去(-)密鑰和密文,然後再次以 26 為模。

在另一個來源中,它解釋說,對於加密過程,應該減去 (-),對於解密過程,應該加上 (+)。

這些來源中哪一個是正確的,兩種操作順序之間的安全差異是什麼?

沒有區別。事實上,任何準群操作都可以。

具體來說,我們真正需要的唯一屬性是,對於每個密文符號 $ C $ 和每個明文符號 $ P $ , 存在一個(並且只有一個)關鍵符號 $ K $ 這樣加密 $ P $ 和 $ K $ 產量 $ C $ . 這意味著,只要實際的密鑰符號是均勻隨機選擇的(這樣它們中的每一個都同樣可能是正確的),就知道密文符號 $ C $ 不透露有關明文符號的任何資訊 $ P $ (因為每個 $ K $ ,因此每個 $ P $ ,同樣可能)。

事實上,我們可以進一步概括並允許幾個密鑰符號產生相同的加密,只要產生的密鑰符號的數量 $ C $ 每個明文符號都相同 $ P $ .

有幾種常見的操作可以滿足這個屬性。例如,我們可以使用模加法進行加密,使用模減法進行解密,反之亦然。或者我們可以使案例如按位異或,這是它自己的逆,因此可以用於同一系統中的加密和解密。或者,如果我們願意,我們可以使案例如伽羅瓦域中的乘法進行加密,並乘以群逆進行解密(或者,反之亦然)。

引用自:https://crypto.stackexchange.com/questions/35839