欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種模逆運(yùn)算方法及運(yùn)算器與流程

文檔序號:11215907閱讀:4295來源:國知局

本發(fā)明涉及模逆計算技術(shù)領(lǐng)域,更具體地說,涉及一種模逆運(yùn)算方法及運(yùn)算器。



背景技術(shù):

模逆運(yùn)算廣泛應(yīng)用在公鑰密碼體制中,例如,在rsa算法中的解密密鑰生成時應(yīng)用到模逆運(yùn)算,模逆運(yùn)算也可以用于橢圓曲線密碼算法中的點(diǎn)加和倍點(diǎn)運(yùn)算。

目前,求解模逆運(yùn)算的方法主要包括模冪算法、擴(kuò)展歐幾里得算法、二進(jìn)制擴(kuò)展歐幾里得算法等。模冪算法以費(fèi)馬小定理為基礎(chǔ),將模逆運(yùn)算轉(zhuǎn)換成模冪運(yùn)算,但是模冪算法無法確定模逆結(jié)果是否存在。采用模乘器作為硬件運(yùn)算單元,較為復(fù)雜且功耗較大。擴(kuò)展歐幾里得算法通過輾轉(zhuǎn)相除計算最大公因子求解模逆,當(dāng)最大公因子為非1整數(shù)時無法獲取模逆的計算結(jié)果。采用除法器作為硬件運(yùn)算單元,實現(xiàn)仍較為復(fù)雜。二進(jìn)制擴(kuò)展歐幾里得算法將除法轉(zhuǎn)換成移位和加減法,但是,在移位的過程中,操作數(shù)的權(quán)值發(fā)生了改變,最終運(yùn)算結(jié)果中包含有2n(n為操作數(shù)的位長)項權(quán)重因子,去除權(quán)重因子需進(jìn)行多次除2的操作,因此,要求模必須是奇數(shù)?,F(xiàn)有的二進(jìn)制擴(kuò)展歐幾里得算法方法在進(jìn)行模逆運(yùn)算時仍存在一定的限制,無法針對任意非零整數(shù)求模,并且計算過程較為復(fù)雜。

因此,現(xiàn)有技術(shù)亟待有很大的進(jìn)步。



技術(shù)實現(xiàn)要素:

本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的上述的缺陷,提供一種模逆運(yùn)算方法,已知正整數(shù)u、m,求u-1modm,包括步驟:

s1、如果m為奇數(shù),則n1=u,n2=m,標(biāo)志位flag=0;否則m不為奇數(shù):如果u為偶數(shù),則u-1不存在,運(yùn)算結(jié)束,如果u不為偶數(shù),則n1=m,n2=u,標(biāo)志位flag=1;

s2、執(zhí)行算法:

s21、n1=m,n2=u,s=0,t=1,k=0;

s22、while(n2>0)

如果n1為偶數(shù),則n1=n1/2,t=2t,k=k+1;

否則如果n2為偶數(shù),則n2=n2/2,s=2s,k=k+1;

否則如果n1>n2,那么n1=(n1-n2)/2,s=s+t,t=2t,k=k+1;

否則n2=(n2-n1)/2,t=s+t,s=2s,k=k+1;

s23、如果n1≠1,則u-1不存在,運(yùn)算結(jié)束;

否則m=-s(modm)

s3、如果n1-1不存在,則運(yùn)算結(jié)束;

s4、如果標(biāo)志位flag=0,則u-1=n1-1;否則標(biāo)志位flag=1,

相應(yīng)地,本發(fā)明還提供了一種模逆運(yùn)算的運(yùn)算器,包括加法器、減法器、存儲器、控制器;

所述控制器用于判斷且設(shè)置數(shù)值,

s1、如果m為奇數(shù),則n1=u,n2=m,標(biāo)志位flag=0;否則m不為奇數(shù):如果u為偶數(shù),則u-1不存在,運(yùn)算結(jié)束,如果u不為偶數(shù),則n1=m,n2=u,標(biāo)志位flag=1;

s21、n1=m,n2=u,s=0,t=1,k=0;

s22、while(n2>0)

如果n1為偶數(shù),則n1=n1/2,t=2t,k=k+1;

否則如果n2為偶數(shù),則n2=n2/2,s=2s,k=k+1;

否則如果n1>n2,那么n1=(n1-n2)/2,s=s+t,t=2t,k=k+1;

否則n2=(n2-n1)/2,t=s+t,s=2s,k=k+1;

s23、如果n1≠1,則u-1不存在,運(yùn)算結(jié)束;

否則m=-s(modm)

s3、如果n1-1不存在,則運(yùn)算結(jié)束;

s4、如果標(biāo)志位flag=0,則u-1=n1-1;否則標(biāo)志位flag=1,

所述減法器執(zhí)行減法操作;

所述加法器執(zhí)行加分操作;

所述存儲器用于存儲參與計算的數(shù)據(jù)、標(biāo)志位flag的值,計算結(jié)果值。

實施本發(fā)明的模逆運(yùn)算方法及運(yùn)算器,具有以下有益效果:該算法只需要增加一個標(biāo)志位,和最多一次乘法、兩次減法運(yùn)算,能大大提高運(yùn)算速度,在硬件實現(xiàn)上,具有通用性、高效性特點(diǎn);相比于現(xiàn)有的二進(jìn)制擴(kuò)展歐幾里得算法,不需要再對運(yùn)算結(jié)果進(jìn)行權(quán)重因子的消除操作,并且可以不限定模必須為奇數(shù),可以實現(xiàn)模為任意非零整數(shù)的模逆運(yùn)算,并提高模逆運(yùn)算的計算效率,降低硬件功耗。

具體實施方式

現(xiàn)有的二進(jìn)制擴(kuò)展歐幾里得算法將除法轉(zhuǎn)換成移位和加減法,但是,在移位的過程中,操作數(shù)的權(quán)值發(fā)生了改變,最終運(yùn)算結(jié)果中包含有2n(n為操作數(shù)的位長)項權(quán)重因子,去除權(quán)重因子需進(jìn)行多次除2的操作,因此,要求模必須是奇數(shù)。但是,現(xiàn)有的二進(jìn)制擴(kuò)展歐幾里得算法方法在進(jìn)行模逆運(yùn)算時仍存在一定的限制,無法針對任意非零整數(shù)求模,并且計算過程較為復(fù)雜。

本發(fā)明提出了一種模逆運(yùn)算,

已知正整數(shù)u、m,求u-1modm,其特征在于,包括步驟:

s1、如果m為奇數(shù),則n1=u,n2=m,標(biāo)志位flag=0;否則m不為奇數(shù):如果u為偶數(shù),則u-1不存在,運(yùn)算結(jié)束,如果u不為偶數(shù),則n1=m,n2=u,標(biāo)志位flag=1;

s2、執(zhí)行算法:

s21、n1=m,n2=u,s=0,t=1,k=0;

s22、while(n2>0)

如果n1為偶數(shù),則n1=n1/2,t=2t,k=k+1;

否則如果n2為偶數(shù),則n2=n2/2,s=2s,k=k+1;

否則如果n1>n2,那么n1=(n1-n2)/2,s=s+t,t=2t,k=k+1;

否則n2=(n2-n1)/2,t=s+t,s=2s,k=k+1;

s23、如果n1≠1,則u-1不存在,運(yùn)算結(jié)束;

否則m=-s(modm)

s3、如果n1-1不存在,則運(yùn)算結(jié)束;

s4、如果標(biāo)志位flag=0,則u-1=n1-1;否則標(biāo)志位flag=1,

相應(yīng)地,本發(fā)明還公開了一種模逆運(yùn)算器,包括加法器、減法器、存儲器、控制器;

所述控制器用于判斷且設(shè)置數(shù)值,

s1、如果m為奇數(shù),則n1=u,n2=m,標(biāo)志位flag=0;否則m不為奇數(shù):如果u為偶數(shù),則u-1不存在,運(yùn)算結(jié)束,如果u不為偶數(shù),則n1=m,n2=u,標(biāo)志位flag=1;

s21、n1=m,n2=u,s=0,t=1,k=0;

s22、while(n2>0)

如果n1為偶數(shù),則n1=n1/2,t=2t,k=k+1;

否則如果n2為偶數(shù),則n2=n2/2,s=2s,k=k+1;

否則如果n1>n2,那么n1=(n1-n2)/2,s=s+t,t=2t,k=k+1;

否則n2=(n2-n1)/2,t=s+t,s=2s,k=k+1;

s23、如果n1≠1,則u-1不存在,運(yùn)算結(jié)束;

否則m=-s(modm)

s3、如果n1-1不存在,則運(yùn)算結(jié)束;

s4、如果標(biāo)志位flag=0,則u-1=n1-1;否則標(biāo)志位flag=1,

所述減法器執(zhí)行減法操作;所述加法器執(zhí)行加分操作;所述存儲器用于存儲參與計算的數(shù)據(jù)、標(biāo)志位flag的值,計算結(jié)果值。

通過利用標(biāo)志位區(qū)分不同的情況,從而更準(zhǔn)確的計算出數(shù)據(jù)結(jié)果。

本發(fā)明通過以上實施例的設(shè)計,可以做到該算法只需要增加一個標(biāo)志位,和最多一次乘法、兩次減法運(yùn)算,能大大提高運(yùn)算速度,在硬件實現(xiàn)上,具有通用性、高效性特點(diǎn);相比于現(xiàn)有的二進(jìn)制擴(kuò)展歐幾里得算法,不需要再對運(yùn)算結(jié)果進(jìn)行權(quán)重因子的消除操作,并且可以不限定模必須為奇數(shù),可以實現(xiàn)模為任意非零整數(shù)的模逆運(yùn)算,并提高模逆運(yùn)算的計算效率,降低硬件功耗。

本發(fā)明是根據(jù)特定實施例進(jìn)行描述的,但本領(lǐng)域的技術(shù)人員應(yīng)明白在不脫離本發(fā)明范圍時,可進(jìn)行各種變化和等同替換。此外,為適應(yīng)本發(fā)明技術(shù)的特定場合,可對本發(fā)明進(jìn)行諸多修改而不脫離其保護(hù)范圍。因此,本發(fā)明并不限于在此公開的特定實施例,而包括所有落入到權(quán)利要求保護(hù)范圍的實施例。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
沅陵县| 平山县| 浪卡子县| 大兴区| 于田县| 乌拉特前旗| 葫芦岛市| 永州市| 宜兰市| 汕尾市| 措勤县| 贡山| 金昌市| 鲁山县| 南城县| 岳池县| 利津县| 瑞昌市| 普定县| 新乡县| 原阳县| 西昌市| 时尚| 铜陵市| 洪江市| 西峡县| 且末县| 五大连池市| 罗田县| 中宁县| 广宁县| 白城市| 崇仁县| 四川省| 蕲春县| 府谷县| 彰化市| 隆昌县| 金堂县| 德惠市| 新宁县|