Encryption

具有幾個步驟的對稱密碼

  • October 24, 2015

是否有任何好的對稱密碼涉及三個或更多步驟,每個步驟都有獨立的密鑰材料?

形式上應該有一個函式 $ K(s) $ 返回一個元組 $ (k_1,..,k_n) $ 和一個函式 $ P(k,d) $ 這樣如果 $ d_i = P(k_i,d_{i-1}) $ 然後 $ d_n=d_0 $ 但嚴格小於之間沒有已知的關係[nMath Processing Error]的[kiMath Processing Error]. $ n $ $ k_i $

流密碼為 $ n=2 $ 當然,隨著獨立性要求變得空洞,但我不知道有什麼 $ n>2 $ 作為對稱密碼,它既安全又高效。

如果我們更換沒關係[PMath Processing Error]通過另一個操作[P′Math Processing Error]為了[iMath Processing Error]-最好最多一個 i 的步驟,但我們不希望它們之間有任何關係 $ P $ $ P’ $ $ i $ $ k_i $ 和 $ k_j $ 為了 $ j \neq i $ .

可以使用秘密共享算法或簡單的 XOR 來非常安全地執行此操作,但這需要與原始文件一樣大的密鑰材料,從而使其效率低下。

用橢圓曲線標量乘法等非對稱系統大致做到這一點有一些技巧,但這對我的目的來說太慢了。

這在對稱密碼學中是不可能的。

為了證明這一點,我將根據您的方案構造一個非對稱加密算法。

考慮 $ pub = (k_1, \dots, k_{n-2}) $ 作為公鑰和 $ prk = (k_{n-1}, k_n) $ 作為私鑰。

加密算法將是 $ c = enc(pub, d) := P(k_{n-2},P(k_{n-3},\dots ,P(k_1,d))) $

解密算法為[d=dec(prk,c):=P(kn,P(kn−1,c))Math Processing Error] 由於集合中可能沒有關係 $ d = dec(prk, c) := P(k_{n}, P(k_{n-1}, c)) $
$ puk \cup {k_{n-1} } $ 和 $ puk \cup {k_{n} } $ ,從 puk 計算 prk 將是不可行的。

這是非對稱密碼系統的特性。

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