面向嵌入式應(yīng)用的加密算法

隨著普適計(jì)算技術(shù)的不斷發(fā)展,嵌入式應(yīng)用對安全的需求越來越高,因此安全領(lǐng)域的研究人員開始設(shè)計(jì)專門面向嵌入式應(yīng)用的加密算法。那么接下來我就給大家介紹幾款比較常用的面向嵌入式應(yīng)用的加密算法。

一、HIGHT加密算法

HIGHT是一種分組加密算法。它的分組長度和密鑰長度分別為64位和128位。盡管這種加密算法的設(shè)計(jì)目標(biāo)是提供低資源占用率的硬件實(shí)現(xiàn),然而由于其結(jié)構(gòu)非常簡單并且以8位數(shù)據(jù)為基本操作單元,其在嵌入式平臺上的軟件實(shí)現(xiàn)效率也很高。HIGHT的基本操作包括加法、減法、異或和位循環(huán)。

面向嵌入式應(yīng)用的加密算法

二、SEA加密算法

SEA加密算法是一種分組加密算法,它的設(shè)計(jì)目標(biāo)是為具有優(yōu)先指令集的微處理器提供低成本的加密算法。這種算法具有可變的參數(shù),包括分組長度、密鑰長度和處理器字長。這一特性使其能夠方便地移植到各種平臺。

SEA的基本操作包括異或、與(或)、字循環(huán)、位循環(huán)以及加法。雖然其算法結(jié)構(gòu)非常靈活、簡單,但為了提供足夠的安全性,需要執(zhí)行相當(dāng)多次的迭代,這一點(diǎn)限制了它的性能。

面向嵌入式應(yīng)用的加密算法

三、PRESENT加密算法

PRESENT加密算法是一種超輕量級的分組加密算法。它的主要設(shè)計(jì)目標(biāo)是硬件實(shí)現(xiàn)效率和功耗,這使得它更加適合用硬件實(shí)現(xiàn)。PRESENT的基本操作包括異或,位元替換和位置換。盡管位元替換和位置換用硬件實(shí)現(xiàn)的效率非常高,但用軟件實(shí)現(xiàn)就過于復(fù)雜了,除非通過犧牲資源來換取性能的改善。

小知識之分組密碼

分組密碼是將明文消息編碼表示后的數(shù)字(簡稱明文數(shù)字)序列,劃分成長度為n的組(可看成長度為n的矢量),每組分別在密鑰的控制下變換成等長的輸出數(shù)字(簡稱密文數(shù)字)序列。