摘要

认证加密算法是能同时满足数据机密性与完整性的对称密码算法,在数据安全领域具有广泛应用。针对基于分组密码的认证加密算法的安全性以及效率需求,提出一种基于SM4轮函数的专用认证加密算法SMRAE。算法采用流密码思想,从SM4底层部件出发,结合Feistel结构设计状态更新函数用于轮变换,处理256比特消息只需调用4个SM4轮函数指令。首先,在初始化阶段将初始向量和密钥经过16轮迭代,使差分充分随机化;其次,利用SM4加密消息,将生成的密文参与轮变换,实现状态更新和加密并行;最后,解密时先进行消息认证,降低时间消耗,提高算法安全性。安全性分析与实验结果表明SMRAE能够抵抗伪造攻击、差分攻击和猜测攻击等主流攻击,效率高于AES-GCM,与SM4效率相当,具备一定的实用性。