CPA相关功耗分析(二)
CPA實例1
????????攻擊異或運算,攻擊的比特數為3,即攻擊的中間數據data=K⊕M, K和M的二進制比特數為3。(此處的加密方式為C=K⊕M)
????????下發的明文和采集到的能量數據如下表所示,密鑰K=?
| 明文M | 能量曲線 | 能量值大小 |
| 000 | T1 | 2.4 |
| 001 | T2 | 2.2 |
| 010 | T3 | 2.6 |
| 011 | T4 | 2.4 |
| 100 | T5 | 2.2 |
| 101 | T6 | 2 |
| 110 | T7 | 2.4 |
| 111 | T8 | 2.2 |
1.猜測密鑰
開始猜測密鑰,因為是3位所以總共8個可能,每個密鑰又對應8明文就有假設中間值,HW為中間值的漢明重量,能量曲線則是上圖加密時所采集的。
| 猜測k=2 | M | 猜測的假設中間值 | 猜測的假設能耗值HW | 能量曲線 | 能量值大小P |
| 010 | 000 | 010 | 1 | T1 | 2.4 |
| 010 | 001 | 011 | 2 | T2 | 2.2 |
| 010 | 010 | 000 | 0 | T3 | 2.6 |
| 010 | 011 | 001 | 1 | T4 | 2.4 |
| 010 | 100 | 110 | 2 | T5 | 2.2 |
| 010 | 101 | 111 | 3 | T6 | 2 |
| 010 | 110 | 100 | 1 | T7 | 2.4 |
| 010 | 111 | 101 | 2 | T8 | 2.2 |
2.?再根據公式計算當密鑰為010時的相關系數
重復上述步驟繼續計算相關系數
| 猜測k=1 | M | 猜測的假設中間值 | 猜測的假設能耗值HW | 能量曲線 | 能量值大小P |
| 001 | 000 | 001 | 1 | T1 | 2.4 |
| 001 | 001 | 000 | 0 | T2 | 2.2 |
| 001 | 010 | 011 | 2 | T3 | 2.6 |
| 001 | 011 | 010 | 1 | T4 | 2.4 |
| 001 | 100 | 101 | 2 | T5 | 2.2 |
| 001 | 101 | 100 | 1 | T6 | 2 |
| 001 | 110 | 111 | 3 | T7 | 2.4 |
| 001 | 111 | 110 | 2 | T8 | 2.2 |
K=1時相關系數的值?
3.匯總數據得出相關系數絕對值最大的K并驗證
| K | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 相關系數 | -0.333 | 0.333 | -0.83 | -0.333 | 0.333 | 0.83 | -0.333 | 0.333 |
密鑰K為2或者5,通過對明文進行加密進一步驗證2或者5的正確性。
CPA實例2
? ? ? ? 求DES最后一輪子密鑰
(1)選擇中間結果。選擇DES最后一輪,8個S盒操作的6位輸入作為中間結果。
(2)測量電磁輻射。進行5000次密碼運算,并對加密最后一輪的電磁輻射進行采樣,獲得 5000條電磁輻射軌跡,每條軌跡的采樣點數量為1000。可以得到5000×1000 電磁輻射矩陣為:
(3)計算矩陣HW的每一列與矩陣P的每一列的相關性,得到64×1000階相關性矩陣,如下:?
????????可以看出矩陣中最大的值為0.61,經查證該值位于矩陣52行,第583列,結果足夠分辨得到正確的密鑰。改值對應的行下標(52)表示猜測密鑰的索引值,列下標(583)表示該中間值被處理的時刻。?
總結
以上是生活随笔為你收集整理的CPA相关功耗分析(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CPA相关功耗分析(一)
- 下一篇: numpy学习记录