利用神经进化技术设计布尔掩码加法器
1 引言
随着低功耗物联网设备数量的持续增加,以及智能传感器在关键环境中的应用,对资源消耗较少的加密技术的数据保护需求日益增长。美国国家标准与技术研究院(NIST)发起的轻量级加密(LWC)项目旨在验证适用于受限环境的加密算法。目前,该项目已进入第三轮也是最后一轮评估,预计将产生至少一种被纳入联邦信息处理标准(FIPS)的加密算法。
LWC 算法不仅需要较小的内存占用和高吞吐量,还需根据具体用例提供一定的安全级别。然而,高性能和高抗攻击能力往往相互矛盾。一些加密算法在无额外安全措施时可高速运行,但在需要额外保护时性能会大幅下降。因此,有效防范侧信道攻击成为(轻量级)加密领域的一个有趣研究方向。
1.1 贡献
本文引入了一种适用于布尔网络的神经进化算法变体。解释了对原始算法的修改,并使用定制版本搜索受保护的 ARX 密码所需的高效掩码加法器。通过该用例评估神经进化在解决布尔问题上的可行性,展示了该替代方法能够得到合适的结果。将神经进化搜索的性能与现有技术进行比较,在 STM32F103 微控制器上实现了包含不同加法器变体的 ChaCha20 ARX 密码,并评估了其性能。为验证遗传算法中泄漏检测机制的正确性,使用 MAPS 模拟执行期间的功耗并进行 t 检验。
1.2 文章结构
- 第 2 节介绍了对模块化加法进行掩码的相关方法,详细解释了问题设置和结合神经进化的优化策略。
- 第 3 节展示了通过定制神经进化技术获得的结果。
- 第 4 节阐述了如何在 ARM 汇编中实现解决方案,并给出了在 ARM Cortex - M3 MC