Aes

調整密碼可以與更改密鑰具有相同或相似的效果嗎?

  • February 10, 2018

如果我們加密消息 $ m $ 與(說) $ AES $ 和鑰匙 $ k $ 我們得到密文 $ c $ . 如果我們加密相同的消息 $ m $ 但與 $ k^* $ 我們得到密文 $ c^* $ :

  1. $ AES[E_k(m)] = c $ 和 $ AES[E_{k^}(m)] = c^ $

但是如果我們要調整呢 $ AES $ 是否要更改密鑰?例如,一個簡單的調整可能是將ShiftRow從右移 $ 0,1,2,3 $ 到(比如說)右移 $ 1,3,0,2 $ . 也許每一輪都有獨特的轉變 $ 10 $ 回合。

然後,如果我們加密一條消息 $ m $ 與(說) $ AES_{tweak1} $ 和鑰匙 $ k $ 我們得到密文 $ C $ . 如果我們加密相同的消息 $ m $ 和 $ AES_{tweak2} $ 並使用相同的密鑰 $ k $ ,我們得到密文 $ C^* $ :

  1. $ AES_{tweak1}[E_k(m)] = C $ 和 $ AES_{tweak2}[E_{k}(m)] = C^* $

由於(2)中的這些密文是不同的,這是否與更改密鑰相同或相似,如情況(1)?

讓我們假設發送者和接收者可以秘密交換調整。

那麼它肯定會改變輸出。但這不是一個好主意。我不知道你有什麼確切的安排,所以我會按照這些構想考慮我自己的,然後給你一些數字:

可能的 128 位密鑰數 = 2^128 ~ 10^38

可能的 ShiftRows 調整數 = P(4!,10) ~ 10^13 -> 42 位

比我預期的要好(42 位),但今天仍然完全不足。但是,我不確定您如何實際交換這些調整。您輸入到將它們輸入到 AES 的程序中的小班次表?顯然,您不能使用密碼 + 標準密鑰派生功能。

我總是搞亂原語來創造奇怪的東西。但我從這個論壇學到的一件事是不要弄亂他們的內部結構。它們經過精心設計(有些人可能會說隨著時間的推移而演變)以確保安全和高效。通過調整它們,您可能會在不知不覺中違反意外後果定律。如果創建了一個模式怎麼辦?還是某種形式的轉變?回想完全無法預料的 RC4狀態。我不知道您的ShiftRow安排對 AES 進行了任何密碼分析。你怎麼知道它是安全的,只是因為你不能破壞它?

因此,總而言之,它不像將密鑰更改為標準 AES,因為這就是它的用途。您可能會輸入一個特定的 ShiftRow 排列,然後破壞安全性。

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