提升模幂运算性能的算法技术综述
1. 影响系统性能的因素及多核解决方案
在计算模幂运算时,即使是单次模乘法,算法也需要尽量缩短运行时间。借助多核密码系统,可在阿姆达尔定律的指导下提高效率。影响整个系统性能的因素主要有以下几点:
- 功率利用率
- 热量散发
- 时钟频率
- 处理器的理想时间
对于单核处理器,提高频率能增强性能,但频率与功耗成正比,频率提升会导致功耗增加和热量散发增多,这对任何公钥密码(PKC)系统都不是理想情况。因此,研究人员更倾向于减少时钟周期数,而非提高频率。
单任务可被拆分为多个线程,分配到多核处理器的不同核心,在给定的时钟周期内同时运行。此时频率与单核处理器相同,无需额外功耗和散热,这运用了分治策略。所有具备将任务拆分为线程能力的应用都能从这种架构中受益。
2. 基数与时钟周期、内存空间的关系及算法选择
基数与时钟周期成反比,与内存空间成正比,即:
- Radix ∝ 1 / Clock Cycles
- Radix ∝ Memory Space
增加基数可减少时钟周期,但需要更多内存空间。可根据需求选择合适的基数。基于不同的限制条件,可选择以下算法:
- 若内存无限制且快速运行设备优先于网络服务器,如银行等行业,自适应高基数蒙哥马利乘法(AHRMM)是最佳选择。
- 对于像传感器这类内存受限的设备,自适应蒙哥马利乘法(AMM)更为合适。
3. 蒙哥马利乘法
在密码学中,Diffie - Hellman密钥交换技术广为人知。最流行的PKC算法如RSA和ECC,主要操作是