基于Montgomery算法的高速、可配置RSA密码IP核硬件设计系列(二)
原创声明:本系列所有的博文都是本人参考相关的文献资料后,独立撰写,组织语言后,编写本系列博文,未经作者允许,严禁转载;
基于Montgomery算法的高速、可配置 RSA密码IP核硬件设计系列(二)
本次第二部分主要介绍相关项目的具体模块的设计方案,如模乘设计方案,模幂设计方案;
1.3 模乘算法设计方案
在2.3 节模幂算法方案中,所有的 RSA 模幂算法最终转换为:模乘运算和模平方运算,而模乘和模平方其实是相同的操作,即可以用公式 (5) 表示:
式中,X, Y, N 均是 k 比特位二进制大整数,对于模平方运算,使得 X = Y 即可。
因此可以通过同一硬件来完成,加解密的性能最终取决于模乘的速度。而模乘算法也是多种多样,各有利弊。其中最著名的实现大数模乘的算法,即由Peter L. Montgomery提出的蒙哥马利模乘算法 (Montgomery’s algorithm)。
蒙哥马利模乘算法得到的结果并不是公式 (5) 的结果,