專利名稱:橢圓曲線標量乘的并行處理方法及系統(tǒng)的制作方法
橢圓曲線標量乘的并行處理方法及系統(tǒng)
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)加密技術(shù),特別是涉及一種橢圓曲線標量乘的并行處理方法及系統(tǒng)。
背景技術(shù):
隨著1980年代中期Miller和Koblitz分別獨立地提出了橢圓曲線密碼體制 (elliptic curve cryptosystems,簡稱ECC),相對于其它的公鑰密碼體制,橢圓曲線密碼只需要較短的私鑰即可達到較高的安全級別,因此近年來備受關(guān)注。橢圓曲線密碼體制中,標量乘的計算將是最為關(guān)鍵的處理過程,通常標量乘可通過逐比特的二進制方法計算得到,即給定一個標量和橢圓曲線點,標量乘是由一系列的橢圓曲線點的點加和點倍操作完成,其運行的軌跡依賴于標量的二進制比特表達式。然而,這一逐比特的標量乘計算方法并不能夠適應(yīng)日益普及的并行計算系統(tǒng),以優(yōu)化標量乘的計算過程,因此,并行的標量乘計算被提出并應(yīng)用于并行計算系統(tǒng)中,例如, Aoki ,Lzu和Takagi介紹了基于SIMD處理器結(jié)構(gòu)的高效并行點操作;Lzu提出了雙處理器架構(gòu)的表達式;Aoki等介紹了基于2個或者3個處理器的并行處理過程,采用改進的雅可比坐標來開發(fā)了快速并行表達式;Longa和Miri的替換乘方法允許更高效的優(yōu)選并行操作的開發(fā),從而提出了能夠在3個或者4個處理器中執(zhí)行的快速并行表達式,但是,上述并行的標量乘計算僅局限于指令級別的并行化,不能夠基于任務(wù)級別的進行并行計算,這將造成上述并行的標量乘計算只能在少量的處理器中進行,并不能夠適應(yīng)較大規(guī)模的并行處理過程。
發(fā)明內(nèi)容基于此,有必要提供一種能適應(yīng)大規(guī)模的并行處理過程的橢圓曲線標量乘的并行處理方法。此外,還有必要提供一種能適應(yīng)大規(guī)模的并行處理過程的橢圓曲線標量乘的并行處理系統(tǒng)。一種橢圓曲線標量乘的并行處理方法,包括如下步驟將標量劃分成等長的子標量;分布所述劃分得到的子標量至處理器中;在所述處理器中對所述分布的子標量和橢圓曲線進行并行計算得到對應(yīng)的子標
量乘;整合所述并行計算得到的子標量乘。優(yōu)選地,所述將標量劃分成等長的子標量的步驟為根據(jù)所述處理器的數(shù)量確定所述標量對應(yīng)的遞歸次數(shù);按照所述遞歸次數(shù)對所述標量進行遞歸折半得到等長的子標量。優(yōu)選地,所述根據(jù)所述處理器的數(shù)量確定所述標量對應(yīng)的遞歸次數(shù)的步驟為
以2為底,以處理器的數(shù)量為真數(shù)計算得到遞歸次數(shù)。優(yōu)選地,所述以2為底,以處理器的數(shù)量為真數(shù)計算得到遞歸次數(shù)的步驟之前還包括獲取標量的比特長度;根據(jù)所述標量的比特長度計算得到所述標量對應(yīng)的最優(yōu)遞歸次數(shù),并由所述最優(yōu)遞歸次數(shù)計算得到處理器的數(shù)量閾值;判斷所述處理器的數(shù)量是否小于所述數(shù)量閾值,若否,則將所述遞歸次數(shù)設(shè)為最優(yōu)遞歸次數(shù),若是,則進入以2為底,以處理器的數(shù)量為真數(shù)計算得到遞歸次數(shù)的步驟。優(yōu)選地,所述整合所述并行計算得到的子標量乘的步驟為對所述子標量乘進行兩兩遞歸點加計算。一種橢圓曲線標量乘的并行處理系統(tǒng),包括劃分裝置,用于將標量劃分成等長的子標量;分布裝置,用于分布所述劃分得到的子標量至處理器中;處理器,用于對所述分布的子標量和橢圓曲線進行并行計算得到對應(yīng)的子標量乘;處理器還用于整合所述并行計算得到的子標量乘。優(yōu)選地,所述劃分裝置包括次數(shù)確定模塊,用于根據(jù)所述處理器的數(shù)量確定所述標量對應(yīng)的遞歸次數(shù);折半模塊,用于按照所述遞歸次數(shù)對所述標量進行遞歸折半得到等長的子標量。優(yōu)選地,所述次數(shù)確定模塊還用于以2為底,以處理器的數(shù)量為真數(shù)計算得到遞歸次數(shù)。優(yōu)選地,所述次數(shù)確定模塊包括長度獲取單元,用于獲取標量的比特長度;運算單元,用于根據(jù)所述標量的比特長度計算得到所述標量對應(yīng)的最優(yōu)遞歸次數(shù),并由所述最優(yōu)遞歸次數(shù)計算得到處理器的數(shù)量閾值;判斷單元,用于判斷所述處理器的數(shù)量是否小于所述數(shù)量閾值,若否,則將所述遞歸次數(shù)設(shè)為最優(yōu)遞歸次數(shù),若是,則通知運算單元;所述運算單元還用于以2為底,以處理器的數(shù)量為真數(shù)計算得到遞歸次數(shù)。優(yōu)選地,所述處理器還用于對所述子標量乘進行兩兩遞歸點加計算。上述橢圓曲線標量乘的并行處理方法及系統(tǒng)在將標量劃分成多個子標量后,實現(xiàn)了將一個任務(wù)分割成多個子任務(wù),這使得標量乘的并行處理是靈活的,基于任務(wù)級別的并行化,以適應(yīng)大規(guī)模的并行處理過程,在處理器中對劃分的子標量和橢圓曲線進行并行計算,提高了并行處理的速度,并有效地降低了耗費的時間。
圖1為一個實施例中橢圓曲線標量乘的并行處理方法的流程圖;圖2為一個實施例中將標量劃分成等長的子標量的方法流程圖;圖3為一個實施例中折半模型的示意圖4為另一個實施例中將標量劃分成等長的子標量的方法流程圖;圖5為一個實施例中整合過程的示意圖;圖6為一個實施例中橢圓曲線標量乘的并行處理系統(tǒng)的結(jié)構(gòu)示意圖;圖7為圖6中劃分裝置的結(jié)構(gòu)示意圖;圖8為圖7中次數(shù)確定模塊的結(jié)構(gòu)示意圖;圖9為一個實施例中標量進行2次折半遞歸的折半模型示意圖;圖10為一個實施例中并行整合過程的示意圖。
具體實施方式圖1示出了一個實施例中橢圓曲線標量乘的并行處理的方法流程,包括如下步驟步驟Sl 10,將標量劃分成等長的子標量。本實施例中,并行處理過程中將需要執(zhí)行的任務(wù)劃分為若干個相同類型的子任務(wù),并通過多個處理器進行并行處理,基于這一并行處理的思想,將用二進制比特表達的標量劃分成等長的子標量,得到一系列等長的比特串。在一個實施例中,如圖2所示,上述步驟SllO的具體過程為步驟S111,根據(jù)處理器的數(shù)量確定標量對應(yīng)的遞歸次數(shù)。本實施例中,標量劃分所涉及的遞歸次數(shù)是由并行處理系統(tǒng)中可利用的處理器的數(shù)量所決定的。具體地,一個實施例中,根據(jù)處理器的數(shù)量確定標量對應(yīng)的遞歸次數(shù)的步驟為以2為底,以處理器的數(shù)量為真數(shù)計算得到遞歸次數(shù),即
權(quán)利要求
1.一種橢圓曲線標量乘的并行處理方法,包括如下步驟 將標量劃分成等長的子標量;分布所述劃分得到的子標量至處理器中;在所述處理器中對所述分布的子標量和橢圓曲線進行并行計算得到對應(yīng)的子標量乘;整合所述并行計算得到的子標量乘。
2.根據(jù)權(quán)利要求1所述的橢圓曲線標量乘的并行處理方法,其特征在于,所述將標量劃分成等長的子標量的步驟為根據(jù)所述處理器的數(shù)量確定所述標量對應(yīng)的遞歸次數(shù); 按照所述遞歸次數(shù)對所述標量進行遞歸折半得到等長的子標量。
3.根據(jù)權(quán)利要求2所述的橢圓曲線標量乘的并行處理方法,其特征在于,所述根據(jù)所述處理器的數(shù)量確定所述標量對應(yīng)的遞歸次數(shù)的步驟為以2為底,以處理器的數(shù)量為真數(shù)計算得到遞歸次數(shù)。
4.要根據(jù)權(quán)利要求3所述的橢圓曲線標量乘的并行處理方法,其特征在于,所述以2為底,以處理器的數(shù)量為真數(shù)計算得到遞歸次數(shù)的步驟之前還包括獲取標量的比特長度;根據(jù)所述標量的比特長度計算得到所述標量對應(yīng)的最優(yōu)遞歸次數(shù),并由所述最優(yōu)遞歸次數(shù)計算得到處理器的數(shù)量閾值;判斷所述處理器的數(shù)量是否小于所述數(shù)量閾值,若否,則將所述遞歸次數(shù)設(shè)為最優(yōu)遞歸次數(shù),若是,則進入以2為底,以處理器的數(shù)量為真數(shù)計算得到遞歸次數(shù)的步驟。
5.根據(jù)權(quán)利要求1所述的橢圓曲線標量乘的并行處理方法,其特征在于,所述整合所述并行計算得到的子標量乘的步驟為對所述子標量乘進行兩兩遞歸點加計算。
6.一種橢圓曲線標量乘的并行處理系統(tǒng),其特征在于,包括 劃分裝置,用于將標量劃分成等長的子標量; 分布裝置,用于分布所述劃分得到的子標量至處理器中;處理器,用于對所述分布的子標量和橢圓曲線進行并行計算得到對應(yīng)的子標量乘; 處理器還用于整合所述并行計算得到的子標量乘。
7.根據(jù)權(quán)利要求6所述的橢圓曲線標量乘的并行處理系統(tǒng),其特征在于,所述劃分裝置包括次數(shù)確定模塊,用于根據(jù)所述處理器的數(shù)量確定所述標量對應(yīng)的遞歸次數(shù); 折半模塊,用于按照所述遞歸次數(shù)對所述標量進行遞歸折半得到等長的子標量。
8.根據(jù)權(quán)利要求7所述的橢圓曲線標量乘的并行處理系統(tǒng),其特征在于,所述次數(shù)確定模塊還用于以2為底,以處理器的數(shù)量為真數(shù)計算得到遞歸次數(shù)。
9.根據(jù)權(quán)利要求8所述的橢圓曲線標量乘的并行處理系統(tǒng),其特征在于,所述次數(shù)確定模塊包括長度獲取單元,用于獲取標量的比特長度;運算單元,用于根據(jù)所述標量的比特長度計算得到所述標量對應(yīng)的最優(yōu)遞歸次數(shù),并由所述最優(yōu)遞歸次數(shù)計算得到處理器的數(shù)量閾值;判斷單元,用于判斷所述處理器的數(shù)量是否小于所述數(shù)量閾值,若否,則將所述遞歸次數(shù)設(shè)為最優(yōu)遞歸次數(shù),若是,則通知運算單元;所述運算單元還用于以2為底,以處理器的數(shù)量為真數(shù)計算得到遞歸次數(shù)。
10.根據(jù)權(quán)利要求6所述的橢圓曲線標量乘的并行處理系統(tǒng),其特征在于,所述處理器還用于對所述子標量乘進行兩兩遞歸點加計算。
全文摘要
一種橢圓曲線標量乘的并行處理方法,包括如下步驟將標量劃分成等長的子標量;分布所述劃分得到的子標量至處理器中;在所述處理器中對所述分布的子標量和橢圓曲線進行并行計算得到對應(yīng)的子標量乘;整合所述并行計算得到的子標量乘。上述橢圓曲線標量乘的并行處理方法及系統(tǒng)在將標量劃分成多個子標量后,實現(xiàn)了將一個任務(wù)分割成多個子任務(wù),這使得標量乘的并行處理是靈活的,基于任務(wù)級別的并行化,以適應(yīng)大規(guī)模的并行處理過程,在處理器中對劃分的子標量和橢圓曲線進行并行計算,提高了并行處理的速度,并有效地降低了耗費的時間。
文檔編號G06F9/38GK102446088SQ20111027997
公開日2012年5月9日 申請日期2011年9月20日 優(yōu)先權(quán)日2011年9月20日
發(fā)明者徐國卿, 李慧云, 鄔可可 申請人:中國科學院深圳先進技術(shù)研究院