AES-CCM通用协处理器的优化设计实现*
2021-11-20林伟斌曾勇刚
崔 超,赵 云,肖 勇,林伟斌,曾勇刚
南方电网科学研究院有限责任公司,广州 510663
1 引言
AES-CCM(advanced encryption standard-cipher block chaining and counter mode)加密协议作为无线局域网安全标准,由IEEE无线标准小组于2004年公布[1],同时具备验证无线通信中链路层数据完整性、真实性和保障数据安全性的功能,目前已广泛被802.11、802.15、802.16、Bluetooth、Zigbee等无线通讯协议采用.
基于AES-CCM加密协议在智能家居、可穿戴设备、智能驾驶等无线终端设备的广泛应用需求,AESCCM加密协议的实现方式逐渐成为研究热点.目前在工业领域,AES-CCM加密协议普遍采用CCM分组模式软件实现、AES加密核硬件实现的方式,该方式实现简单灵活,但是运算时产生的取指令、指令译码等操作占用本来就有限的CPU内存资源,从而影响数据处理速度和系统功耗.在研究领域Nguyen等人将CBC(cipher block chaining mode)和CTR(counter mode)并行计算,提出了双AES加密核的硬件高吞吐率实现方式,在269 MHz的最高频率下,吞吐率能达到2.69 Gbps[2];Pammu等人提出9-core并行方案[3],在数据加密时多路并行计算,在校验值生成时,利用有限域GF(28)上的乘法将每16×128比特转换为128比特再送进CBC模块计算校验值,将数据处理速率提高至8.32 Gbps.以上研究大多是为了提高了数据吞吐率,而在实际应用中如BLE产品、Zigbee产品等,有时候不需要太高的数据吞吐率,更关注产品的面积和功耗指标.因此,有必要对AES-CCM加密协议的低代价实现进行研究.
本文给出AES-CCM通用协处理器的低功耗实现方案,该方案将传统方法中粗粒度的双AES并行或双AES串行实现[4,5]细化为共享轮密钥的双轮并行或双轮乒乓方式,如此能够在保证吞吐率一……
