首页> 外文会议>IEEE International Conference on Future Internet of Things and Cloud Workshops >Energy-Scalable Montgomery-Curve ECDH Key Exchange for ARM Cortex-M3 Microcontrollers
【24h】

Energy-Scalable Montgomery-Curve ECDH Key Exchange for ARM Cortex-M3 Microcontrollers

机译:适用于ARM Cortex-M3微控制器的可扩展能量的蒙哥马利曲线ECDH密钥交换

获取原文

摘要

The number of smart devices connected to the Internet is growing at an enormous pace and will reach 30 billion within the next five years. A large fraction of these devices have limited processing capabilities and energy supply, which makes the execution of computation-intensive cryptographic algorithms very costly. This problem is exacerbated by the fact that basic optimization techniques like loop unrolling can not (always) be applied since cryptographic software for the IoT often needs to meet strict constraints on code size to not exceed the program storage capacity of the target device. In this paper we introduce SECCCM3, a "lightweight" software library for scalable elliptic curve cryptography on ARM Cortex-M3 microcontrollers. The current version of SECCCM3 is able to carry out variable-base scalar multiplication on Montgomery-form curves over pseudo-Mersenne prime fields, such as Curve25519, and can be used to implement static ECDH key exchange. SECCCM3 is scalable in the sense that it supports curves of different order (as long as certain conditions are met), thereby enabling trade-offs between security and execution time (resp. energy dissipation). We made an effort to protect the field arithmetic against Timing Attacks (TAs) and Simple Power Analysis (SPA), taking into account the so-called early-termination effect of the Cortex-M3 integer multiplier, which makes the latency of "long" multiply instructions operand-dependent. Our experiments show that the integration of countermeasures against information leakage caused by this effect increases the execution time by 34%, while the code size grows by 13%. A TA and SPA-resistant scalar multiplication on Curve25519 has an execution time of 4.565 million clock cycles and consumes approximately 2.3 mJ of energy when executed on a STM32L152RE Cortex-M3 microcontroller. SECCCM3 has a binary code size of 4.0 kB, which includes domain parameters for curves over 159, 191, 223, and 255-bit prime fields.
机译:连接到Internet的智能设备的数量正以惊人的速度增长,并且在未来五年内将达到300亿。这些设备中的很大一部分具有有限的处理能力和能量供应,这使得执行计算密集型密码算法的成本非常高。不能(总是)应用诸如循环展开之类的基本优化技术的事实使这个问题更加严重,因为用于IoT的加密软件通常需要满足严格的代码大小约束,以不超过目标设备的程序存储容量。在本文中,我们介绍了SECCCM3,这是一个“轻量级”软件库,用于ARM Cortex-M3微控制器上的可扩展椭圆曲线加密。当前版本的SECCCM3能够在伪Mersenne素数字段(例如Curve25519)上的蒙哥马利形式曲线上执行可变基标量乘法,并可用于实现静态ECDH密钥交换。从某种意义上说,SECCCM3是可扩展的,只要它支持不同顺序的曲线(只要满足某些条件即可),从而可以在安全性和执行时间(分别为能耗)之间进行权衡。考虑到Cortex-M3整数乘法器的所谓的提前终止效应,我们努力保护现场算术免受定时攻击(TAs)和简单功率分析(SPA)的影响,这使等待时间为“长”乘法指令取决于操作数。我们的实验表明,针对此效应导致的信息泄漏对策的集成使执行时间增加了34%,而代码大小却增加了13%。在Curve25519上具有TA和SPA抵抗能力的标量乘法在STM32L152RE Cortex-M3微控制器上执行时具有456.5万个时钟周期的执行时间,并消耗约2.3 mJ的能量。 SECCCM3的二进制代码大小为4.0 kB,其中包括针对159、191、223和255位素数字段的曲线的域参数。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号