Pseudo-Random-Permutation
長度位串的隨機排列nnn, 在哪裡nnn可以是任何正整數嗎?
我需要一個有效的、可逆的隨機排列 $ n $ -bit 字元串,由 a 定義 $ 128 $ 位密鑰。 $ n $ 可以是任何正整數 $ 6 $ 至 $ 128 $ . 我對排列的安全性沒有要求;只是它是隨機的(即不同鍵的輸出是不相關的)。
存在許多標準算法 $ n $ 的 $ 32 $ , $ 64 $ , 和 $ 128 $ 位。我想知道Keccak 的海綿結構是否可以用來將這種排列轉換為 $ n $ 位排列。我了解海綿結構會生成可變輸入長度和任意輸出長度的函式。但是,不清楚如果我用它來生成一個轉一轉的函式 $ n $ -bit 字元串到另一個 $ n $ -位字元串,該函式將編碼隨機排列。可以?
Format Preserving Encryption是執行您所要求的標準方法的名稱。它執行從(可能很小的)域到自身的鍵控映射。它做的比你要求的要多(它試圖保證安全;你指定你不需要那個),但是這不應該有問題。
您自己已經找到了,但是如果您要問我要使用哪個 FPE 原語,我會建議使用 FF1。
(我把這個作為答案,所以你可以接受)