Modular exponentiation and scalar multiplication are important operations of most public key cryptosystems, and their fast calculation is essential to improve the system efficiency. The shortest addition chain is one of the most important mathematical concepts to realize the optimization. However, finding a shortest addition chain of length k is an NP-hard problem, whose time complexity is comparable to O($k!$). This paper proposes some novel methods to generate short addition chains. We firstly present a Simplified Power-tree method by deeply deleting the power-tree, whose time complexity is reduced to O($k^2$) sacrificing some increasing of the addition chain length. Moreover, a Cross Window method and its variant are introduced by improving the Window method. More precisely, the Cross Window method uses the cross correlation to deal with the windows and its pre-computation is optimized by the Addition Sequence algorithm. The theoretical analysis is conducted to show the correctness and effectiveness. Meanwhile, the experiment shows that the new methods can obtain shorter addition chains compared to the existing methods. The Cross Window method with the Addition Sequence algorithm can attain 9.5% reduction of the addition chain length, in the best case, compared to the Window method.
翻译:模块缩放和缩放倍增是大多数公用钥匙加密系统的重要操作, 快速计算是提高系统效率的关键。 最短的添加链是实现优化的最重要数学概念之一 。 然而, 找到最短的添加链 k 是一个 NP- 硬的问题, 其时间复杂性与 O( $k. $) 相仿。 本文提出一些创造短添加链的新颖方法 。 我们首先展示了一种简化的电树方法, 深度删除电树, 其时间复杂性降低到 O( k% 2 $ ) 以牺牲增加链长度。 此外, 通过改进窗口方法, 引入了跨窗口方法及其变式。 更准确地说, 跨窗口方法使用交叉相关关系处理窗口及其预数, 由添加序列算法优化 。 理论分析是为了显示正确性和有效性。 与此同时, 实验表明, 与现有方法相比, 新的方法可以获得较短的添加链 。 与添加序列算法相比, 最佳的跨窗口方法可以达到链长度的9. 5% 。