新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 針對DES密碼芯片的CPA攻擊仿真設計方案

        針對DES密碼芯片的CPA攻擊仿真設計方案

        作者: 時間:2011-06-30 來源:網絡 收藏

          3 功耗分析平臺

          在系統的階段,人們大多利用計算機進行數學實驗,因為修改、變換模型比較方便和經濟。在部件研制階段,可用已研制的實際部件或子系統去代替部分計算機模型進行半實物仿真實驗,以提高仿真實驗的可信度。在個別情況下,可進行全物理的仿真實驗,這時計算機仿真模型全部被物理模型或實物所代替。

          建立的仿真平臺如圖2所示。仿真平臺主要由邏輯模擬器、功耗估算器和功耗分析模塊組成。框圖中應用Mentor公司提供的ModelSim作為邏輯模擬器,邏輯模擬器輸入有:所電路的硬件語言描述代碼、電路的激勵文件和一些反標延遲信息等。輸出的電路的功耗仿真結果是以vcd格式存儲的文本文件,這個vcd文件包含了所有的信號模擬變化以及相應的仿真時刻標簽,然后用VisualC++對vcd文本文件進行處理,得到模擬功耗數據,最后用MatLab對模擬功耗數據進行統計分析,推測密鑰信息。

          要統計中每個時鐘周期的模擬功耗值,可以通過統計關鍵寄存器中在相鄰時鐘周期內0、1的變化情況。根據式(2)所示已經建立的功耗模型,將電路所處理的數據變化轉換為模擬功耗變化即可。

          4 算法的仿真及結果分析

          基于所建立的功耗分析仿真平臺,結合分組密碼算法算法進行功耗分析實驗。下面是的詳細步驟及結果分析。

          (1)用仿真的方法進行攻擊的第1步是產生1個仿真功耗文件

          任意選擇1 000個隨機明文和1個固定但隨機的密鑰。每輪加密之后,記錄下寄存器中數據二進制序列的變化情況,根據建立的功耗泄漏模型,統計模擬功耗值。這樣仿真器就產生1個包含N×16的矩陣M1。

          (2)選擇寄存器中M個最高位,用與步驟(1)相同的明文及密鑰進行仿真實驗

          仿真器統計寄存器中位的變化數目,結果存儲在矩陣1 000×1的矩陣M2中,在這個驗證實驗中,選擇M為8,然后計算M1的所有列和M2的相關系數,如下:

          ci=C(M1(1:1000,1),M2)     (7)

          式中,i=1,…10, M1(1:1000), i代表矩陣M1的第i列向量。步驟(1)和步驟(2)都用了同樣的明文的密鑰,所不同的是它們考慮的位變化的數目不同。第(2)步產生的值是第(1)步初始化密鑰加操作計算值的預測。如果計算是正確的,M2和M1的第一列的相關系數比其他列要高得多。圖3為預測的情況。

          (3)重復步驟(2),但使用一個不同的密鑰

          這時產生1個功耗文件矩陣M3。與第(2)步一樣計算M3和M1所有列的相關系數:

          式中,i=1,…10。由于實驗中使用了一個不同的密鑰產生M3,所以M3和M1所有列的相關系數將是很小的(或者說是沒有相關性),包括第1列。通過計算得出如圖4所示的相關系數圖,圖中的曲線表明其結果和預測的相同。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 常山县| 翼城县| 乳源| 色达县| 龙泉市| 河池市| 台北市| 武平县| 周口市| 从江县| 手机| 巴楚县| 涿州市| 扬中市| 林甸县| 东光县| 华亭县| 冕宁县| 南漳县| 普兰县| 麟游县| 瑞金市| 碌曲县| 云浮市| 樟树市| 洛扎县| 鱼台县| 阿合奇县| 鄯善县| 梧州市| 泊头市| 桃源县| 黄大仙区| 苍南县| 岐山县| 读书| 潢川县| 山东省| 德兴市| 辉县市| 华容县|