Aes
計算對 AES 的 CPA 攻擊的相關性
我在理解如何計算 CPA 攻擊 AES 的相關係數時遇到了一些麻煩。
在文章Study of Deep Learning Techniques for Side-Channel Analysis 和 Introduction to ASCAD Database中,他們實際上在算法的第 7 步(第 12 頁)中保留了 700 個測量值來計算 1 個 SBox(第 11 頁)。
但是,當我們想為猜測的子鍵計算該計算的輸入和輸出之間的漢明距離時,我們將得到一個表示距離的值。那麼我們如何計算測量值和漢明距離之間的係數呢?因為我們對同一指令有 700 次測量,但只有一個漢明距離。
前提:我不熟悉這篇論文。
您可能會計算 700 個相關值,每個時間樣本一個。
對於 CPA,您需要幾個 ( $ N $ ) 跟踪,具有不同/隨機輸入但固定鍵。這裡每條跡線由 700 個樣本組成,每個樣本對應一個不同的時刻。
關於假設,我們有取決於明文和密鑰的 HD 計算。攻擊者知道明文但不知道密鑰,因此她猜測所有密鑰值。
你把痕跡放在一個矩陣中 $ N $ 行是不同的採集(每個都有不同的明文),列是 700 個時間點。您創建第二個矩陣 $ N $ 行和 256 列,其中每個條目相對於行的明文和列的鍵是 HD。
然後將第一個矩陣的每一列與第二個矩陣的每一列相關聯。您將獲得 700 個時間瞬間的 256 條軌跡作為結果,每條軌跡都顯示了關鍵猜測的相關性 $ i $ -th ( $ 0<i<256 $ ) 在 $ j $ -th ( $ 0<j<700 $ ) 時間瞬間。
您不希望所有時間樣本都以相同的方式洩漏,因此您可能僅在一個或幾個樣本上與正確的密鑰具有高度相關性。