Montgomery加密算法作为一种快速且有效的大数模乘算法,得到了广泛的研究和应用。下面我就给大家讲一下这种加密算法。
一、Montgomery加密算法描述
1、Montgomery加密算法
Montgomery加密算法计算模乘,是大数模幂乘的基础。此算法描述为:
Monpro(A,B,N)=ABR-1(modN)
其中:R可以为任何的基底,但是为了便于在计算机和硬件实现时易于处理,采用以2为基的幂次。并且要求如果R是2k,则N满足:2k-1≤N<2k,而且要求,gcd(R,N)=1,这只要N为奇数就能满足要求。
2、Montgomery加密算法的分析
Montgomery加密算法的最大特点是化除法为移位运算。因此必须构造一种结构,在此结构中避免除法的出现。可以证明存在一个数∏具有以下性质:e3ē-N30=1。
相应构造的Monpro(A,B,N)的运算步骤为:
Monpro(A,B,N)=A3B3ē(modN)(令A3B=T)={T(mode3N)+(T3N30)(mode3N)}/e={T+[(T30)(mode)]3N}/e=[A3B+(A3B30)(mode)3N]/e
二、Montgomery加密算法的实现
Monpro(A,B,N)是实现Monexp(A,P,N)的最为重要的环节。
下面将给出其具体实现方法,以S=2k为基数。(C,S)表示为2个k比特数,其中C表示进位。e=2k3n,ē为e的逆元,令0具有以下性质:
e3ē-N30=1;0[0]为0的最低位。Monpro(A,B,N)的详细步骤如下:
Algorithm1:MontPro(A,B,N)
1、fori=0upton-1
2、C=:0
3、forj=0upton-1
4、(C,S)=:t[j]+b[j]3a[i]+C
5、t[j]=:S
6、(C,S)=:t[n]+C
7、t[n]=:S
8、t[n+1]=:C
9、m=:t[0]30[0](mod2k)
10、(C,S)=:t[0]+m3n[0]
11、forj=1upton-1
12、(C,S)=:t[j]+m3n[j]+C
13、t[j-1]=:S
14、(C,S)=:t[n]+C
15、t[n-1]=:S
16、t[n]=:t[n+1]+C
17、fori=0upton
18、q[i]=:t[i]
19、ifQ>N
20、returnQ=:Q-N
三、Montgomery加密算法的FPGA实现及改进
对于Montgomery的FPGA实现,需要考虑硬件资源的消耗和速度的提高。对于基数的选择不能太长,太长的话,各个模块间的延时会增加,整个系统的时钟频率要下降。但也不能太短,太短的话,同样长度的数据各个模块的运算时间会增加,同样不利于速度的提高。同时也考虑到与外围电路的接口,所以采用以r=28为基数。改进的适合FPGA的Montgomery加密算法如下:以r=28为基数。(c1,s1),(c2,s2)表示为2个8比特数,其中c1,c2表示进位。T为w+1位28进制的数:
twtw-1…t2t1t0;
Algorithm2:MontPro(A,B,N){S=0;
T=0;
fori=0tow-1do{(c1,s1)=t[1]+a[0]3b[i];
t[0]=s[1];
m=(s[0]+t[0])30[0](modr);
(c2,s2)=s[0]+m3n[0]+t[0];
forj=1tow-1do
{
(c1,s1)=t[j+1]+a[j]3b[i]+c[1];
t[j]=s1;
(c2,s2)=s[j]+m3n[j]+c2;
s[j-1]=s2;
}
t[w]=c1;
s[w-1]=c2;
}
c1=1;
(c2,s2)=s[0]+t[1];
s[0]=s2;
forj=1tow-1do
{
(c2,s2)=s[j]+t[j+1]+c2;
s[j]=s2;
(c1,s1)=s[j-1]+not(n[j-1])+c1;
t[j+1]=s1;
}
(c1,s1)=s[w-1]+not(n[w-1])+c1;
t[w]=s1;
if(c2xorc1=1)thenoutput(t[w]t[w-1]……t[2]t[1])r;
elseoutput(s[w-1]s[w-2]……s[1]s[0]);
}
小知识之FPGA:
FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
当青岛*测控技术有限公司遇上安企神,测控技术数据安全将迎来哪些新变化?
海*测控技术有限公司是海*微电子有限公司100%控股子公司,是由青岛市政府、山东省政府及行业领军企业共同出资成立的第三方检测平台。旨在集成电路可靠性验证及测试分析领域打造国内一流集成电路检测、分析、设计开发及技术解决方案等集成电路产业共性技术服务平台。海*以海洋装备和高端设备集成电路可靠性验证和测试分析为特色,主要为海...
"聚势谋远:重庆*医药集团与安企神达成战略合作,探索医药+科技融合发展新路径!
重庆*医药集团有限公司成立于2017年8月,是在重庆市*区医药(集团)有限责任公司基础上组建成立的大型医药产业企业。是重庆*经济技术开发(集团)有限公司控股的混合所有制企业和市级重点项目三峡国际健康产业园投资单位,位列全国百强医药流通企业。公司下辖重庆*制药有限公司、*医药科技重庆有限公司、重庆*肿瘤医院等十余家子公司...
聚焦核心数据安全:山东卫禾*股份有限公司携手安企神软件构建防泄密屏障!
项目背景山东卫禾*股份有限公司于2015年注册成立,公司拥有总资产1.5亿元,公司具有齿轮检测中心、三坐标测量仪、全谱直读光谱仪等关键研发设备。运用UGNX7.5、MASTA5.4等研发软件进行研发,具有强大的技术研发能力,拥有31项专利,坚持产学研结合,设有山东卫禾*技术研究院,并不断加强研发平台建设,打造创新型企业...
安全+智造双升级!江阴*电子有限公司携手安企神开启企业防护新时代!
江阴*电子有限公司成立于1989年,是一家电子元器件集成设计和生产服务的领先供应商。产品应用包括数据采集、计算机外围设备和其他电子产品。还进入了汽车电子行业、航空航天行业、工业控制行业、医疗器械行业和消费电子行业,为客户提供更广泛的高附加值产品和服务。随着科技产业的快速发展和市场需求的增加,现已成功转型为一家提供完整解...
福建*医药公司联手安企神软件,成功落地应用程序、网站黑名单设置与USB管控方案!
项目背景福建*医药有限公司前身是福建*工贸责任有限公司,2015年重组后成为中国五百强企业——*医药集团的子公司。 系中国最大的民营医药集团,是在中国医药商业行业处于领先地位的上市公司。公司成立于2015年08月04日,经营范围包括中药饮片、中成药、化学原料药、化学药制剂等。应用需求管控公司电脑安装程序和使用程序,禁...