Hummingbird加密算法

Hummingbird加密算法是一種輕量級的加密算法,它所需的實現(xiàn)面積小、功耗低,更能滿足低成本無源RFID安全標(biāo)簽在響應(yīng)時間和功耗方面的實際應(yīng)用要求。

一、Hummingbird加密算法的密鑰長度

Hummingbird加密算法的密鑰長度為256bit,明文長度16bit。此外,算法結(jié)構(gòu)還包括4個16bit內(nèi)部狀態(tài)寄存器RSi (1,2,3,4)和一個16bit線性反饋移位寄存器。

二、Hummingbird加密算法的內(nèi)部構(gòu)成

Hummingbird加密算法主要由內(nèi)部狀態(tài)寄存器初始化和塊加密2個過程構(gòu)成,如圖所示,其中,田代表216模加;PT為待加密的明文;CT為加密后的密文;EK為Hummingbird加密算法的核心模塊。

Hummingbird加密算法

三、Hummingbird加密算法加密流程:

(1)內(nèi)部狀態(tài)寄存器初始化階段。RS首先載入隨機數(shù)nonce,進行4輪如圖(a)所示的運算,數(shù)據(jù)輸入為RS1和RS3的216模加。每輪運算結(jié)束,RSi都會被更新次,第4輪運算結(jié)束后,RS中的值就是初始化后的值,運算得到的結(jié)果CT用來初始化LFSR。

(2)塊加密階段。這一階段的運算與前一階段相似,只需進行一輪如圖(b)所示的運算,且此時的數(shù)據(jù)輸入是待加密的16bit明文RT,RSi是前一階段初始化的值。加密結(jié)束后,RS再次被更新,用于下一次明文文件加密。

四、Hummingbird加密算法EK結(jié)構(gòu)圖

Hummingbird加密算法核心模塊EK的結(jié)構(gòu)如圖所示。EK是一個典型的代換一置換加密結(jié)構(gòu),加密塊大小為16bit,密鑰為64bit。其加密過程由4輪常規(guī)變換和一輪最終變換構(gòu)成。一輪常規(guī)變換由密鑰混合、代換和置換3個操作構(gòu)成,最終變換只包括密鑰混合和代換。代換過程由4個4bit輸入的s盒完成,置換過程為如下線性變換:

D=(D=6)+(D=10)

Hummingbird加密算法

小知識之輕量級加密算法:

輕量級加密算法是指運行在資源有限環(huán)境下的一類加密算法。