Camellia算法S盒的紧凑硬件实现*
2021-11-20魏子豪张英杰孙思维史丹萍罗宜元
密码学报 2021年5期
关键词:优化
魏子豪,张英杰,胡 磊,孙思维,史丹萍,罗宜元
1.中国科学院 信息工程研究所 信息安全国家重点实验室,北京 100093
2.中国科学院大学 密码学院,北京 100049
3.密码科学技术国家重点实验室,北京 100878
4.中国科学院大学 网络空间安全学院,北京 100049
5.惠州学院 计算机科学与工程学院,惠州 516007
1 引言
Camellia分组密码算法由三菱公司和日本电信电话公司在2000年共同设计[1].由于其较高的安全性以及在软、硬件平台上高效的实现性能,该算法在2003年欧洲NESSIE项目中被评选为获胜算法,同年在日本CRYPTREC计划中被评选为推荐算法,2004年成为IETF标准算法,2005年成为ISO/IEC标准算法,2006年成为PKCS#11认证密码.
在硬件平台上实现时,存在这样一种应用场景:由于环境约束,电路芯片的面积必须比较小,因此能使用的电路资源也相对有限,除了满足正常运行功能之外,设计者还需要提供安全加解密能力,例如银行卡芯片、无线传感器节点等.在这种情况下,密码算法实现者对资源面积这一参数更敏感.在Camellia算法中,S盒作为唯一的非线性部件,需要消耗的资源最多,可以优化的空间也比线性部件大,因此通常我们会研究S盒的实现方法.

本文结构如下:第2节简单介绍塔域实现的基础知识和通用方法;第3节将塔域实现和Camellia的具体结构相结合,根据该密码算法的特点采用了针对性的优化方式;第4节汇总了实现方案的数据,并通过仿真实验将它与以前的方案对比;第5节是对全文的总结,以及对未来工作的展望.
