Permutation
偽隨機數據的排列
假設一個位串被認為是密碼安全的,例如在計數器模式下使用 AES 的 PRNG,我們是否可以同樣假設所述位串的任何排列也是密碼安全的?
在更實際的意義上,再次在計數器模式下使用帶有 AES 的 PRNG(例如),假設事實證明可以通過置換輸入數據並相應地重新安排算法的實現來更有效地計算 AES。生成的偽隨機位串是否需要排列回正確的順序,或者我可以直接將其用作加密安全位串嗎?(這是來自純粹的理論觀點。)
PS:我以 AES 為例,它可以是任何安全分組密碼。
PS2:對於技術術語的草率使用感到抱歉,但我希望你能理解我的意思。
是的,來自安全偽隨機數生成器的偽隨機數據的附加位排列是安全的,但條件是該位排列獨立於 PRNG 的密鑰材料以及由此衍生的任何數據(包括偽-隨機數據)。
一個論點是,如果這種排列是公開的,那麼攻擊者可以以可忽略的成本執行/撤消它,並回到破壞 PRNG 的原始問題(在滿足條件的情況下沒有可用資訊);如果這種排列是秘密的,那麼它的添加對攻擊者來說只能是額外的複雜性(給定的條件)。這可以正式化。
如果不滿足所述條件,通常可以找到反例。例如,如果從原始 PRNG 的輸出中選擇排列以將所有 0 位放在首位,則輸出是弱的。如果排列是密碼的密鑰的一部分,密碼以該排列結束,並且密碼通過使用計數器模式轉換為 PRNG,則相同。