Hummingbird加密算法是一种轻量级的加密算法,它所需的实现面积小、功耗低,更能满足低成本无源RFID安全标签在响应时间和功耗方面的实际应用要求。

一、Hummingbird加密算法的密钥长度

Hummingbird加密算法的密钥长度为256bit,明文长度16bit。此外,算法结构还包括4个16bit内部状态寄存器RSi (1,2,3,4)和一个16bit线性反馈移位寄存器。

二、Hummingbird加密算法的内部构成

Hummingbird加密算法主要由内部状态寄存器初始化和块加密2个过程构成,如图所示,其中,田代表216模加;PT为待加密的明文;CT为加密后的密文;EK为Hummingbird加密算法的核心模块。

Hummingbird加密算法

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

(1)内部状态寄存器初始化阶段。RS首先载入随机数nonce,进行4轮如图(a)所示的运算,数据输入为RS1和RS3的216模加。每轮运算结束,RSi都会被更新次,第4轮运算结束后,RS中的值就是初始化后的值,运算得到的结果CT用来初始化LFSR。

(2)块加密阶段。这一阶段的运算与前一阶段相似,只需进行一轮如图(b)所示的运算,且此时的数据输入是待加密的16bit明文RT,RSi是前一阶段初始化的值。加密结束后,RS再次被更新,用于下一次明文文件加密。

四、Hummingbird加密算法EK结构图

Hummingbird加密算法核心模块EK的结构如图所示。EK是一个典型的代换一置换加密结构,加密块大小为16bit,密钥为64bit。其加密过程由4轮常规变换和一轮最终变换构成。一轮常规变换由密钥混合、代换和置换3个操作构成,最终变换只包括密钥混合和代换。代换过程由4个4bit输入的s盒完成,置换过程为如下线性变换:

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

Hummingbird加密算法

小知识之轻量级加密算法:

轻量级加密算法是指运行在资源有限环境下的一类加密算法。