Authentication
AES-ECB 作為認證機制
當用於機密性時,ECB 被認為是不安全的,因為相同的明文結果與相同的密文。但是如果我們使用 ECB 進行身份驗證呢?
假設 A 想要將經過身份驗證的消息 X 發送給 B。A 和 B 有一個共享密鑰。如果 A 使用 AES-ECB 加密明文 X 並將 Y 作為密文輸出並將其作為 MAC 附加到明文 X 旁邊會怎樣?那會安全嗎?
保密在這裡並不重要。我們只需要對數據進行身份驗證。
它不安全,因為攻擊者可以“混合和匹配”來自不同輸入消息的不同身份驗證標籤的輸出塊,或者針對重複輸入塊重複輸出塊。
例如,如果攻擊者知道標籤 $ F_k(m) $ 對於單塊消息 $ m $ ,那麼它可以偽造正確的標籤 $ F_k(m) \mid F_k(m) $ 對於兩塊消息 $ m \mid m $ .
另一種攻擊:假設攻擊者學習了標籤 $ F_k(m_1) \mid F_k(m_2) $ 對於消息 $ m=m_1 \mid m_2 $ , 和標籤 $ F_k(n_1) \mid F_k(n_2) $ 對於消息 $ n=n_1 \mid n_2 $ . 然後它可以偽造正確的標籤 $ F_k(m_1) \mid F_k(n_2) $ 對於消息 $ m_1 \mid n_2 $ . 更一般地說,它可以為任何通過任意連接塊生成的消息偽造一個正確的標籤 $ m $ 和 $ n $ .