在能量分析攻擊中,可以選擇攻擊整個byte或者某個單一的bit。
但是,在芯片中通常是以byte的形式進行運算和存儲,因此即使攻擊目標爲單一bit,其所涉及的運算單元仍然會是byte。這樣,一個byte中的其他7個bit都成爲了轉換噪聲,因爲這7個bit也會參與運算從而出現在採集到的能量跡中。我們把這個轉換噪聲稱爲P(sw.noise),有用信息部分P(exp),操作消耗能量P(op),數據產生的能量P(data),則有:
P(op)+P(data)=P(exp)+P(sw.noise)
對於整個能量跡,總能量消耗
P(total)=P(exp)+P(sw.noise)+P(el.noise)+P(const),其中P(el.noise)爲電子噪聲,也就是電子器件在工作中產生的噪聲,P(const)爲工作中的一些固定能量消耗,爲定值。
那麼這個過程的信噪比,用方差來衡量,表示爲:
SNR=Var(signal) / Var(noise) = Var(P(exp)) / Var(P(sw.noise)+P(el.noise))
信噪比越高,能量跡的信息的泄露越多,也就越適宜後面的分析。
Var(P(sw.noise))大約是Var(P(exp)) 的7倍,因爲轉換噪聲包括7bit,信息目標點1bit。因此單點能量泄露的信噪比遠低於單字節能量泄露。因此利用整個byte爲單位進行分析的效果更精確。
Reference:
Mangard, Stefan, Elisabeth Oswald,and Thomas Popp. Poweranalysis attacks: Revealing the secrets of smart cards. Vol. 31. Springer,2008.