Hummingbird加密算法的硬件架構設計
摘要 Hummingbird加密算法是針對RFID標簽等硬件受限系統的輕型加密算法。其已在不同平臺上得到了驗證。文中提出了一種針對Humming bird算法的硬件架構,與目前其他方法相比,在響應時(shí)間基本相同的情況下,該硬件架構所需的硬件資源更少。其采用Xilinx的低端Spart an-3系列FPGA芯片作為驗證平臺。實(shí)驗結果表明,該硬件架構可較好地嵌入到硬件受限系統中,尤其是嵌入式系統。
關(guān)鍵詞 Hummingbird加密算法;FPGA;硬件實(shí)現
目前大多低配置的設備中均涉及到信息的傳遞,例如:智能卡、RFID標簽等。若這些信息被非授權用戶(hù)獲取將帶來(lái)安全威脅。因此研究可嵌入此設備中的加密算法是必要的。當前有多種加密標準算法,例如DES、AES等,但這些算法通常需要大量的硬件資源來(lái)實(shí)現,同時(shí)響應時(shí)間較長(cháng),并不適合資源受限的系統。
在眾多加密算法中,Hummingbird加密算法是Revere Security開(kāi)發(fā)的一種輕型算法。由于其所需的硬件資源少、功耗低,被廣泛應用于一些硬件資源受限的應用場(chǎng)合,例如:RFID和簡(jiǎn)易嵌入式系統等。Hummingbird加密算法易于軟件實(shí)現,在不同的嵌入式平臺中均有相應的實(shí)現和優(yōu)化方案。
目前有多種不同的硬件架構被提出,以便使Hummingbird加密算法能適用于多種硬件資源受限的平臺。但這些方法所使用的硬件資源同樣較多,且加密速度較慢。針對這些問(wèn)題,文中在基于FPGA硬件平臺下,提出了一種Hummingbird加密算法的硬件架構。在響應時(shí)間基本相同的情況下,該硬件架構所占用的硬件資源相比其他的解決方案較少。
1 Hummingbird加密算法簡(jiǎn)介
Hummingbird加密算法結合了基于塊和流的加密。整個(gè)加密過(guò)程包含兩部分:初始化過(guò)程和加密/解密過(guò)程。在Hummingbird算法中,使用16 bit的塊長(cháng)度、256 bit的密鑰長(cháng)度和80 bit的內部狀態(tài)寄存器。
1.1 初始化過(guò)程
Hummingbird算法的初始化過(guò)程包括,初始化4個(gè)內部狀態(tài)寄存器,同時(shí)計算LFSR的初始值。4個(gè)狀態(tài)寄存器RS1~RS4首先由16 bit的隨機數產(chǎn)生器產(chǎn)生。初始化過(guò)程中,4個(gè)狀態(tài)寄存器經(jīng)過(guò)4次的更新過(guò)程,而同時(shí)更新的結果則作為L(cháng)FSR的初始值。初始化過(guò)程的流程如圖1(a)所示。
1.2 加密解密過(guò)程
在初始化過(guò)程后,明文首先與狀態(tài)寄存器RS1進(jìn)行模216的加運算,然后再進(jìn)行塊加密。在加密過(guò)程中,這些操作重復進(jìn)行4輪,并得到最終的密文。其中,對應的4個(gè)狀態(tài)寄存器也要經(jīng)過(guò)相應的更新,同樣LFSR也進(jìn)行更新。整個(gè)加密過(guò)程如圖1(b)所示。解密過(guò)程可參照加密過(guò)程的逆運算。
評論