无线射频识别(RFID)是一种自动识别技术,它的运行依赖于读取器与标签之间的通信合作。如今它已发展出了多种不同的协议,并在很多领域有着广泛的运用。然而,RFID的保密性与隐私性问题却成为了其进一步发展的障碍,因为在这种低成本、低功耗、轻量级的平台上,原先的一些加密算法很难在有限的资源上实现。那么今天我就为大家介绍几种使用于RFID的小型加密算法。
一、AES加密算法
AES加密算法,也被称为Rijndael,是由数据加密标准(DES)衍生而来。
AES加密算法是一个使用128为分组块的分组加密算法,分组块和128、192或256位的密钥一起作为输入,对4×4的字节数组上进行操作。AES加密算法的每一轮加密都包含4个阶段,分别是AddRoundKey,SubBytes,ShiftRows,和MixColumns。
众所周知AES加密算法是种十分高效的算法,尤其在8位架构中,这源于它面向字节的设计。
AES加密算法适用于8位的小型单片机或者普通的32位微处理器,并且适合用专门的硬件实现,硬件实现能够使其吞吐量(每秒可以到达的加密/解密bit数)达到十亿量级。同样,其也适用于RFID系统。高效的实现和算法的免费使用为AES在无线局域网和后来出现的相关协议中的应用铺平了道路。
二、DESL加密算法
数据加密标准(DES)是由美国联邦信息处理标准在1976年为美国选出的一种加密算法。作为一个分组加密算法,DES在64位大小的分组快上进行操作,其密钥同样也是64位。[10]DES的大致结构由Feistel网络组成,此网络中包括含有8个S-Boxes的16次完全相同的基本轮回,一次初始排列,一次最终排列和一个独立的密钥次序表。
DESL(DES轻量级扩展)是DES为适应小型计算设备(如RFID设备或Smart Cards)要求的一种扩展,它是由A.Poschmann等人在2006年作为超低成本加密算法的一种新替代而建议提出的。与AES在RFID中的实现相比, DESL对芯片大小的需求降低了49%,对电量的需求降低了90%,运行时的机器周期数减少了85%。为了降低对芯片大小的要求,这种算法仅使用了一个改进的S-Box,将其重复八遍。因此,与已发布的最小的DES实现相比,其对晶体管数目的要求也降低了38%。
三、HIGHT加密算法
HIGHT是由Deukjo Hong等人提出的另一种分组加密算法,它使用64位的分组快和128位的密钥,子密钥只在加密和解密的运行过程中被生成。从某种意义上讲,HIGHT是面向硬件而非面向软件的,因为它只对硬件提出了极低的资源要求,适用于低成本、低功耗、轻量级的实现,比如USN(Ubiquitous SensorNetwork)中的传感器或者RFID标签。
四、XXTEA加密算法
TEA微型加密算法最初是由David Wheeler和Roger Needham在1994年以Fast Software Encryption工作室的名义发表的,设计的重点在于描述与实现的简单性。它是一种分组加密算法,以128位的密钥对64位的分组块进行操作。TEA遭受到等效密钥的困扰——每个密钥与其他是那个密钥是等效的,也就是说有效的密钥长度只有126位。此算法易受到相关密钥(Related Key)攻击法的攻击。
为了消除这些弱点,Needham和Wheeler先后发表了算法的修正版Block TEA (通常指XTEA)和XXTEA (于1998年发表)。
XXTEA的发布使得其安全性得到了保障,简单性也得到了保持。至今仍还没有有效的破解方法出现。
小知识之RFID
射频识别即RFID(Radio Frequency IDentification)技术,又称电子标签、无线射频识别,是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触。