許凌云
西南交通大學希望學院 四川成都 610400
本文針對PRESENT,LBLOCK這兩類典型的輕量級密碼做適當分析。PRESENT的整體結構采用的是31輪的SP結構,作為一個著名超輕量級密碼算法已經得到了不少認可,它的S盒是非數學函數的,所以硬件實現下它的S盒依然得不到很好的優化,而在軟件實現下,它的置換層的特性使它很難保持“輕量”優勢。LBLOCK密碼算法的分組長度為64比特,密鑰長度為80比特。LBLOCK算法不但具有優良的硬件實現效率,同時在8位,32位處理器上有很好的實現性能。
PRESENT的混淆層由16個4×4的S盒并置而成,S盒的硬件實現性能不錯,而且使用相同的S盒,可以使用串行實現。本文主要分析密鑰長度為80bit的PRESENT密碼算法。
那么對于PRESENT密碼算法中輪密鑰生成的詳細過程,本文選取PRESENT密碼算法的密鑰長度為80bit進行分析:
定義為PRESENT運算中第i輪密鑰,則:

a)即也就是使用主密鑰對密鑰寄存器進行初始化,在第一輪的64位輪密鑰由存儲在最左邊的64位的當前內容寄存器k中,輪密鑰提取出后,輪計數器的排列方式為最右邊為最低比特。
下)面介紹基于相關系數的差分功耗攻擊的操作步驟:b首先用隨即發生器產生若干待加密的明文,在此之前攻擊者需輸入足夠的明文,隨后modelsim軟件邏輯仿真驗證成功)后產生一個VCD文件。c對上一步產生的VCD文件選取區分函數,讀取其信息量,并對產生的功耗曲線進行分類。區分函數中,由于S盒(首輪)的輸出為明密文異或的一個函數所以表示1000個明文的首字節。將上面的區分函數映射到一個關于能量消耗的矩陣 H,舉用來作為能量模型,計算關于H中所有列與所記錄消)耗值的矩陣T中所有列之間的相關系數。d為輕量級密碼PRESENT在攻擊平臺上輸入500條明文和輸入1000條明文得到的攻擊圖進行比較,得到的結論是明文條數越多,能量跡的數量與相關系數形成的一個曲線就越平。
由上面結果知道,由于PRESENT加密算法是SPN結構,未加防護措施的PRESENT密碼算法實現易受到攻擊。

那么對于LBLOCK的解密算法,其實就是加密算法的逆,由32輪迭代運算組成,對64bit的密文,解密過程如下:

本文結合部分密鑰分別猜測技術,針對21輪的LBLOCK算法的不可能差分分析算法,介紹之前先對文中的符號進行說明。
步驟2.對第21輪加密運算進行部分加密得到20輪的加密輸出差分。在其右半部分除掉位置不為0的差分值輸入;
步驟6.算法進行到這一步如果有相應的明文剩余那么本文所猜測的子密鑰即為錯誤的子密鑰則排除,反之亦然。
本文只構造了14輪的不可能差分鏈對21輪 LBLOCK進行攻擊,將相關密鑰與不可能差分結合構造出15輪的相關密鑰不可能差分鏈可提高算法攻擊的輪數,因此將多種攻擊方法結合在一起對LBLOCK算法研究也是一個噬待探討的問題。
目前對于輕量級密碼算法并沒有統一的衡量和評價的標準體系,一部分原因是因為資源受限環境的硬件缺乏統一的國際標準,還有一部分原因是輕量級密碼還處于發展階段。其他一些典型的輕量級密碼包括HIGHT,mCrypton,DESL,MIBS,KATAN&KTANTAN等一系列也是剛剛起步需要引起探討的話題,才能促進密碼學的發展。