认证加密的高速实现
1. AES加速器的使用
使用AES硬件加速器进行AES加密和解密时,分别需要等待167和214个周期才能读取结果。高效利用该模块的关键在于利用这个“延迟槽”来执行不依赖加密/解密结果的其他操作。
以下是不同模式下延迟槽可执行的操作:
- CCM模式 :在计数器加密时,可以进行计数器递增以及消息与累加器的异或操作。具体步骤为:将计数器写入AES加速器,递增计数器,等待加密结果,结果就绪后将其与消息异或。同时,在累加器加密时也能生成密文(将加密结果与消息异或)。
- GCM模式 :在计数器加密时可以递增计数器。
- OCB3模式 :在对异或了Δ的消息进行加密时,可以进行消息与累加器Y的异或操作。
2. 实验结果
对实现的认证加密(AE)方案在16字节和4KB消息的认证加密和解密验证性能进行了测量,同时还考虑了互联网性能指数(IPI)。对于每种消息大小,测量了计算所有与随机数相关值的时间,以及使用128位标签(MASHA使用256位标签)进行认证加密和解密验证的时间,不包括与密钥相关值的推导。对于OCB3,假设 init ctr 中的块密码调用已被缓存。
实验使用带有CC430F6137芯片的开发板,通过CC430内置的周期计数器测量算法的周期数,使用调试器测量栈使用情况,根据编译器生成的报告确定代码大小。
2.1 使用AES加速器
对于IPI和4KB消息,各方案性能如下:
| 方案 | 16字节
超级会员免费看
订阅专栏 解锁全文
1746

被折叠的 条评论
为什么被折叠?



