双核中模幂运算的实现
在当今的密码学领域,RSA算法的高效实现至关重要。模幂运算(ME)和模乘运算(MM)的高效执行能够显著提升RSA算法的性能。本文将深入探讨双核中模幂运算的实现,包括高基数蒙哥马利乘法、从右到左的模幂运算以及性能分析。
1. 提升模幂运算性能的方法
为了增强ME计算的性能,主要有两种方法:
- 减少模乘次数 :这将节省时钟周期数。
- 提高处理器时钟周期速度 :加快计算速度。
蒙哥马利提出了一种在硬件中改进MM过程评估的方法。此后,许多算法技术被修改并使用从左到右的模幂运算算法实现,但通过从右到左的模幂运算进行的工作较少。从右到左的方法具有优势,因为平方和乘法过程可以并行执行。为了提高MM过程的吞吐量,采用了高基数蒙哥马利乘法,它减少了操作周期数,从而提高了频率并减少了时钟周期数。
2. 高基数蒙哥马利乘法
为了最小化每次模乘的指令数量,在蒙哥马利乘法中采用了高基数方法。在高基数表示中,为了使用普通的θ - 位 × θ - 位乘法器,需要将一个k - 位整数划分为η个θ - 位块(即k = η.θ)。一个整数X可以表示为:
[X = \sum_{i = 0}^{\eta - 1} {x_i.2^{i.\theta}} = x_{\eta - 1}.2^{\theta(\eta - 1)} + x_{\eta - 2}.2^{\theta(\eta - 2)} + … + x_1.2^h + x_0]
蒙哥马利乘法(C = XY2^{-\sigma} \pmod{m})可以通过重复操作(C =
超级会员免费看
订阅专栏 解锁全文
15

被折叠的 条评论
为什么被折叠?



