1.一种基于蒙哥马利模乘的数据处理方法,其特征在于,包括:
当接收到模数N时,计算得到第一值s2,以根据所述第一值s2,调用蒙哥马利模乘器,对待处理的数据执行模乘运算;采用如下步骤计算所述第一值s2:
将所述模数N左移n-c位,获得N1;计算R对N1取模后的值,得到计算结果s1,并将所述s1写入至第一存储器,其中,R=2n,w为所述蒙哥马利模乘器的位长,k为满足k*w≥c的最小整数,n=k*w,c为所述模数N的位长,k及N均为正整数;
对所述第一存储器的值s1执行一次模加运算后,得到计算结果s21,将所述计算结果s21作为第二存储器的初始值写入至所述第二存储器;调用所述蒙哥马利模乘器对所述第二存储器的初始值s21执行n-1次模乘运算,并将第n-1次模乘运算的结果R2mod N作为所述第一值s2输出。
2.一种模乘运算方法,其特征在于,包括:
按照权利要求1所述的基于蒙哥马利模乘的数据处理方法计算获得第一值s2;
当接收到待处理的数据A及B时,根据所述第一值s2,对所述待处理的数据A与R2执行蒙哥马利模乘运算,获得运算结果y1,以及计算所述待处理的数据B与R2执行蒙哥马利模乘运算,获得运算结果y2;
对运算结果y1和y2执行蒙哥马利模乘运算,获得运算结果y3;
对运算结果y3与数值1执行蒙哥马利模乘运算,获得所述待处理的数据A及B的模乘运算结果y。
3.一种基于蒙哥马利模乘的数据处理装置,其特征在于,包括:
第一计算单元,适于当接收到模数N时,计算得到第一值s2,以根据所述第一值s2,调用蒙哥马利模乘器,对待处理的数据执行模乘运算;所述第一计算单元包括:
第一计算子单元,适于将所述模数N左移n-c位,获得N1;计算R对N1取模后的值,得到计算结果s1,并将所述s1写入至第一存储器,其中, R=2n,w为所述蒙哥马利模乘器的位长,k为满足k*w≥c的最小整数,n=k*w,c为所述模数N的位长,k及N均为正整数;
第二计算子单元,适于对所述第一存储器的值s1执行一次模加运算后,得到计算结果s21,将所述计算结果s21作为第二存储器的初始值写入至所述第二存储器;调用所述蒙哥马利模乘器对所述第二存储器的初始值s21执行n-1次模乘运算,并将第n-1次模乘运算的结果R2mod N作为所述第二值s2输出。
4.一种模乘运算装置,其特征在于,包括:
如权利要求3所述的基于蒙哥马利模乘的数据处理装置,通过所述数据处理装置获得所述第一值s2;
第二计算单元,适于当接收到待处理的数据A及B时,根据所述第一值s2,对所述待处理的数据A与R2执行蒙哥马利模乘运算,获得运算结果y1,以及计算所述待处理的数据B与R2执行蒙哥马利模乘运算,获得运算结果y2;
第三计算单元,适于对运算结果y1和y2执行蒙哥马利模乘运算,获得运算结果y3;
第四计算单元,适于对运算结果y3与数值1执行蒙哥马利模乘运算,获得所述待处理的数据A及B的模乘运算结果y。