首页> 外文会议>Cryptographers Track at the RSA Conference >Higher-Order Masking in Practice: A Vector Implementation of Masked AES for ARM NEON
【24h】

Higher-Order Masking in Practice: A Vector Implementation of Masked AES for ARM NEON

机译:实践中的高阶掩蔽:ARM NEON蒙面AES的矢量实现

获取原文

摘要

Real-world software implementations of cryptographic algorithms need to be able to resist various kinds of side-channel attacks, in particular Differential Power Analysis (DPA). Masking is a widely-used countermeasure to protect block ciphers like the Advanced Encryption Standard (AES) against DPA attacks. The basic principle is to split all sensitive intermediate variables manipulated by the algorithm into two shares and process these shares separately. However, this approach still succumbs to higher-order DPA attacks, which exploit the joint leakage of a number of intermediate variables. A viable solution is to generalize masking such that at least d + 1 shares are used to protect against d-th order attacks. Unfortunately, all current higher-order masking schemes introduce a significant computational overhead compared to unmasked implementations. To facilitate the deployment of higher-order masking for the AES in practice, we developed a vector implementation of Coron et al's masking scheme (FSE 2012) for ARM NEON processors. After a comprehensive complexity analysis, we found that Coron et al's scheme with n shares for each sensitive variable needs O(n~2) multiplications in the field GF(2~8) and O(n~2) random-number generations. Both of these performance-critical operations are executed with only 15 instructions in our software, which is possible thanks to the rich functionality of the NEON instruction set. Our experimental results demonstrate that the performance penalty caused by the integration of higher-order masking is significantly lower than in generally assumed and reported in previous papers. For example, our second-order DPA-protected AES (with three shares for each sensitive variable) is merely eight times slower than an unmasked baseline implementation that resists cache-timing attacks.
机译:实际世界软件的加密算法的实现需要能够抵抗各种侧通道攻击,特别是差动功率分析(DPA)。掩蔽是一种广泛使用的对策,可以保护块密码,如针对DPA攻击的高级加密标准(AES)。基本原理是将由算法操纵的所有敏感的中间变量分成两股和处理这些共享。然而,这种方法仍然屈服于高阶DPA攻击,这利用了许多中间变量的关节泄漏。可行的解决方案是概括掩蔽,使得至少D + 1个股票用于防止D-TH订单攻击。遗憾的是,与未掩蔽的实现相比,所有当前的高阶屏蔽方案都引入了显着的计算开销。为了便于在实践中部署AES的高阶掩蔽,我们开发了Coron等人的掩蔽方案(FSE 2012)的矢量实现,用于ARM Neon处理器。在全面的复杂性分析之后,我们发现Coron等人的计划对于每个敏感变量的N股的计划需要O(n〜2)在字段GF(2〜8)和O(n〜2)随机数世代中的乘法。这两种性能关键操作都只有15个指令在我们的软件中执行,这就感谢霓虹灯指令集的丰富功能。我们的实验结果表明,由高阶掩模的整合引起的性能损失显着低于在之前的纸张中的普遍认为和报告的罚款。例如,我们的二阶DPA受保护的AES(每个敏感变量的三个股份)仅仅慢于抵抗缓存定时攻击的解除基线实现速度慢。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号