Pseudo-Random-Permutation
排列和洗牌(轉置密碼)有什麼區別
排列的非密碼學定義是“ 2a:改變一組有序對象的線性順序的行為或過程。2b:一組對象的有序排列
維基百科關於隨機排列的文章指出:“隨機排列的一個很好的例子是一副牌的洗牌:理想情況下,這是 52 張牌的隨機排列。”
理想的分組密碼是偽隨機排列。
洗牌一副相同的牌會導致輸出與輸入無法區分。將理想的分組密碼應用於全零(或全一)明文塊將產生一個隨機密文塊,而不是相同的全零(或全一)輸入塊!
洗牌(相當於轉置密碼)和密碼學家意義上的排列之間易於理解的區別是什麼?
繼續你的牌組類比,排列類似於用一副牌中的一張替換一組中的每張牌。每張卡片都有一個新的完整套牌。
如果有人能理解這一點,那麼他們就可以理解每張卡片代表 4 個數字/等,而一副卡片的大小是 10k/等。
洗牌(或轉置功能)重新排列輸入的元素。置換重新排列整個輸出域。
例如,比較下面的轉置函式和偽隨機排列:
轉置接受一個 4 位數字,並重新排列數字。1234 可能會變成 4213,但永遠不會變成 1692。
偽隨機排列具有所有可能的 4 位數字的打亂列表和所有可能的 4 位數字的未打亂列表。它在 unshuffled 列表中查找輸入數字,在 shuffled 列表中找到相應的數字,並將其輸出。1234 可能會變成 1692。