System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術屬于加密,尤其涉及一種橢圓曲線點運算的加速方法、裝置、電子設備及存儲介質。
技術介紹
1、在計算機技術、互聯網技術以及社會經濟飛速發展的今天,對個人隱私和企業數據的保護需求越來越大,而這種保護主要由加密算法來實現。常見的加密算法有對稱加密算法、非對稱加密算法、信息摘要算法等。在非對稱加密算法中,給定密鑰長度,安全強度最高的算法是橢圓曲線密碼(ecc)。也因此,橢圓曲線密碼學在數字簽名、零知識證明等場景中被廣泛應用。
2、橢圓曲線密碼學中,被運用最多的是單標量乘法與多標量乘法運算。而單標量乘法與多標量乘法本質上都是進行大量的橢圓曲線的點加運算和倍點運算,這兩種運算統稱為橢圓曲線點運算。為了加快點運算,常對所使用的曲線進行曲線變換和坐標變換。當滿足轉換條件時,將標準形式的維爾斯特拉斯曲線仿射坐標轉換為扭曲愛德華曲線擴展坐標可以獲得最快的點運算速度。
3、每個點運算操作都是由底層的有限域操作構成的,主要的有限域操作有模加、模減和模乘,它們分別對應加法后取模,減法后取模以及乘法后取模。其中模乘運算一般使用蒙哥馬利模乘來加速,在蒙哥馬利模乘后也要進行一次取模運算。可見,在點運算過程中會進行大量的取模運算,而取模運算雖然較簡單,但數量較大,且每次都需要進行判斷,導致運算流程長,運算效率低。
技術實現思路
1、基于此,針對上述技術問題,提供一種橢圓曲線點運算的加速方法、裝置、電子設備及存儲介質。
2、本專利技術采用的技術方案如下:
3、作
4、在點運算前,對橢圓曲線的各原始點進行預處理:先使所述原始點的維爾斯特拉斯曲線仿射坐標進入蒙哥馬利域,并變換到扭曲愛德華曲線,得到所述原始點的扭曲愛德華曲線擴展坐標,其中,所述橢圓曲線的維爾斯特拉斯曲線公式為:y2=x3+ax+b(mod?p),x和y為所述原始點的維爾斯特拉斯曲線仿射坐標,a和b為曲線常數,模數p為m位的二進制數;
5、在點運算時,獲取輸入點的坐標,如果輸入點是原始點,則所述輸入點的坐標是預處理后的坐標,采用統一點加公式或者統一混合加法公式對點運算的輸入點進行點運算得到輸出點的坐標,所述公式中的加、減、乘操作分別采用如下公式得到操作結果c:
6、加操作:c=a+b
7、減操作:c=4p+a-b
8、乘操作:c=c1+c3(mod?r)
9、其中,c1=a*b,c2=i*c1(mod?r),c3=c2*p,i=-1/p(mod?r),r=2n,n大于等于m+7,a和b為對應的加、減或者乘操作中的被操作對象;
10、對所述輸出點的坐標進行所述預處理的逆操作,并對逆操作后的坐標進行取模,所述取模的模數為p。
11、作為本專利技術的第二方面,提供一種橢圓曲線點運算的加速裝置,其特征在于,包括:
12、預處理模塊,用于在點運算前,對橢圓曲線的各原始點進行預處理:先使所述原始點的維爾斯特拉斯曲線仿射坐標進入蒙哥馬利域,并變換到扭曲愛德華曲線,得到所述原始點的扭曲愛德華曲線擴展坐標,其中,所述橢圓曲線的維爾斯特拉斯曲線公式為:y2=x3+ax+b(mod?p),x和y為所述原始點的維爾斯特拉斯曲線仿射坐標,a和b為曲線常數,模數p為m位的二進制數;
13、點運算模塊,用于在點運算時,獲取輸入點的坐標,如果輸入點是原始點,則所述輸入點的坐標是預處理后的坐標,采用統一點加公式或者統一混合加法公式對點運算的輸入點進行點運算得到輸出點的坐標,所述公式中的加、減、乘操作分別采用如下公式得到操作結果c:
14、加操作:c=a+b
15、減操作:c=4p+a-b
16、乘操作:c=c1+c3(mod?r)
17、其中,c1=a*b,c2=i*c1(mod?r),c3=c2*p,i=-1/p(mod?r),r=2n,n大于等于m+7,a和b為對應的加、減或者乘操作中的被操作對象;
18、結果取模模塊,用于對所述輸出點的坐標進行所述預處理的逆操作,并對逆操作后的坐標進行取模,所述取模的模數為p。
19、作為本專利技術的第三方面,提供一種電子設備,其特征在于,包括存儲模塊,所述存儲模塊包括由處理器加載并執行的指令,所述指令在被執行時使所述處理器執行上述第一方面的一種橢圓曲線點運算的加速方法。
20、作為本專利技術的第四方面,提供一種計算機可讀存儲介質,該計算機可讀存儲介質存儲一個或多個程序,其特征在于,所述一個或多個程序當被處理器執行時,實現上述第一方面的一種橢圓曲線點運算的加速方法。
21、本專利技術將r取值為2n,n大于等于m+7,同時,通過扭曲愛德華曲線擴展坐標的統一點加公式或者統一混合加法公式進行橢圓曲線點運算,從而省略了原有模加、模減和模乘中的取模操作及相應的判斷、選擇操作,且僅需要在點運算的最后進行一次取模,縮短了運算流程長,提高了運算效率。
本文檔來自技高網...【技術保護點】
1.一種橢圓曲線點運算的加速方法,其特征在于,包括:
2.根據權利要求1所述的一種橢圓曲線點運算的加速方法,其特征在于,所述n取m+7。
3.根據權利要求1所述的一種橢圓曲線點運算的加速方法,其特征在于,所述采用統一點加公式或者統一混合加法公式對點運算的輸入點進行點運算得到輸出點的坐標,進一步包括:
4.一種橢圓曲線點運算的加速裝置,其特征在于,包括:
5.根據權利要求4所述的一種橢圓曲線點運算的加速裝置,其特征在于,所述n取m+7。
6.根據權利要求4所述的一種橢圓曲線點運算的加速裝置,其特征在于,所述采用統一點加公式或者統一混合加法公式對點運算的輸入點進行點運算得到輸出點的坐標,進一步包括:
7.一種電子設備,其特征在于,包括存儲模塊,所述存儲模塊包括由處理器加載并執行的指令,所述指令在被執行時使所述處理器執行根據權利要求1-3任一項所述的一種橢圓曲線點運算的加速方法。
8.一種計算機可讀存儲介質,該計算機可讀存儲介質存儲一個或多個程序,其特征在于,所述一個或多個程序當被處理器執行時,實現權利
...【技術特征摘要】
1.一種橢圓曲線點運算的加速方法,其特征在于,包括:
2.根據權利要求1所述的一種橢圓曲線點運算的加速方法,其特征在于,所述n取m+7。
3.根據權利要求1所述的一種橢圓曲線點運算的加速方法,其特征在于,所述采用統一點加公式或者統一混合加法公式對點運算的輸入點進行點運算得到輸出點的坐標,進一步包括:
4.一種橢圓曲線點運算的加速裝置,其特征在于,包括:
5.根據權利要求4所述的一種橢圓曲線點運算的加速裝置,其特征在于,所述n取m+7。
6.根據權利要求4所述的...
【專利技術屬性】
技術研發人員:何卓杰,周鑫,王大歲,
申請(專利權)人:捷瑞肯智能科技上海有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。